devops automation how is automation applied devops practice
DevOps의 자동화 :
지난 튜토리얼에서 우리는 DevOps의 소스 제어 . 여기에서이 자습서에서는 DevOps의 자동화에 대해 알아 봅니다.
자동화는 DevOps 실행의 궁극적 인 필요이며 '모든 것을 자동화'는 DevOps의 핵심 원칙입니다. DevOps에서 자동화 킥은 개발자 시스템의 코드 생성에서 코드가 코드로 푸시 될 때까지 그리고 그 후에도 프로덕션에서 애플리케이션과 시스템을 모니터링하기 위해 시작됩니다.
추천 읽기 => 유익한 DevOps 튜토리얼 시리즈
실시간 애플리케이션 성능 모니터링을 포함하여 지속적인 통합, 지속적인 테스트 및 지속적인 배포를 포함하는 전체 DevOps 파이프 라인이 자동화됩니다.
인프라 설정 및 구성과 소프트웨어 배포를 자동화하는 것이 DevOps 사례의 핵심 하이라이트입니다. DevOps 관행은 몇 시간 동안 제공하고 여러 플랫폼에서 자주 제공하기 위해 자동화에 크게 의존합니다.
따라서 DevOps의 자동화는 속도, 정확성, 일관성, 안정성을 촉진하고 전달 횟수를 증가시킵니다. 궁극적으로 DevOps의 자동화는 구축, 배포 및 모니터링에서 모든 것을 바로 캡슐화합니다.
비디오 파트 2 블록 3 : DevOps 자동화– 16 분 40 초
이 자습서에서 DevOps 실무에서 자동화의 중요성을 자세히 이해하겠습니다.
여기에서 논의 할 것입니다.
- DevOps 사례에서 자동화는 어떻게 적용됩니까?
- 자동화의 필요성과 역할
- 무엇을 자동화해야합니까?
- 도구 및 프레임 워크, 지속적인 테스트?
자동화에 대해 이야기하는 것이 약간 두렵습니다. 왜냐하면 내가 자동화에 대해 얼마나 많이 이야기하는지, 나에 따르면 그것은 결코 완전하지 않습니다.
말할 필요도없이 자동화는 단순히 수작업에서 벗어나는 것입니다. 사람들은 일상적인 일에 대한 참여를 줄이고 새롭거나 혁신적인 일에 시간과 지능을 활용하기를 원합니다.
하지만 DevOps에서 자동화의 역할은 고객에게 지속적으로 가치를 제공하는 데 매우 중요하고 매우 중요합니다.
이 두 질문이 모두 함께 답을 얻었으므로 DevOps 실무에서 자동화가 어떻게 자동화되어야하는지 함께 대답하겠습니다.
무엇을 자동화해야합니까?
이 자동화 시대에이 질문에 대한 답은별로 설명 할 필요가 없다고 생각합니다. 우리가 어디를 가든 최소한 사람의 개입없이 자동화되는 것을 볼 수 있습니다. 따라서 DevOps는 예외가 아닙니다.
전통적인 소프트웨어 개발 방법에서 자동화, 특히 테스트를 수행하는 데 사용 된 것은 개발 팀과 그들의 활동뿐이었습니다. 예전에는 자동화 란 테스트 케이스를 테스트하고 자동화하는 것을 의미하며, 성능 및 보안과 같은 비 기능적 테스트도 아닌 기능 테스트 케이스 만 있습니다.
그리고 다른 활동, 특히 자동화에 사용 된 작전 활동은 없습니다. 8 대의 서버가 포함 된 대규모 클러스터에서 수동 배포 실패로 인한 손실은 매우 좋습니다. 예 배포와 관련된 복잡성과 Devops 활동에 대한 자동화의 필요성을 명확하게 설명합니다.
YouTube 동영상을 다운로드하는 가장 좋은 앱은 무엇입니까
나는 자신의 지능, 각 분야에 대한 지식, 그들의 경험과 전문성을 바탕으로했던 네트워크와 환경을 구성하기 위해 막대한 급여를 지불함으로써 고도로 숙련되고 지적인 사람들을 고용하는 조직을 보았다. 완전한 수동 작업.
수동 구성은 누구나 알고 있듯이 항상 오류가 발생하기 쉽습니다. 수동 설정의 경우 일반적으로 사용되는 것은 일정 기간 동안 동일한 작업을 반복적으로 수행 한 후 이러한 똑똑한 사람들, 네트워크 구성자가 이러한 활동에 지루해하고 실수를 저지르는 데 사용한다는 것입니다. 과실에.
당신은 그들이 매우 훌륭하고 이러한 활동이 그들에게 매우 간단하고 흥미롭지 않을 것이며 매일 새로운 도전이 필요하며이 지루한 작업이 아니라는 것을 알고 있습니다.
따라서 소프트웨어 설치 및 인프라 부분을 제어하는 버전을위한 자동화의 도입은 시간을 절약 할뿐만 아니라 많은 인적 오류를 줄이면서 큰 이득을 얻었으며 일반인이이를 수행 할 수 있도록하여 숙련 된 작업자에 대한 의존성을 제거했습니다.
또한 새로운 환경을 설정하기위한 티켓을 올리는 것과 같이 새로운 환경을 설정해야하는 경우 프로세스를 돌아 다니며,이를 설정하는 데 뒤에서 일하는 IT 팀은 이러한 모든 번거 로움을 제거합니다.
따라서 개별 팀 구성원은 작업을 수행 할 권한이 있습니다. 자동화에 의해 달성되는 속도, 신뢰성 및 일관성을 상상해보십시오. 따라서 자동화가 엄청나게 증가하여 생산에 전달되는 횟수가 증가했습니다.
따라서 이제 DevOps 실무에서 운영 팀은 모든 작업에서 자동화를 시작했으며 이는 DevOps 성공의 열쇠가되었습니다.
실제로 DevOps 실습에서 자동화 킥은 개발자 시스템의 코드 생성에서 코드가 프로덕션으로 나올 때까지 그리고 그 후에도 라이브에서 애플리케이션을 모니터링 할 때까지 시작됩니다. 이것은 일반적인 DevOps주기입니다.
개발 및 운영 팀은 빌드 트리거, 단위 테스트 케이스 및 기타 기본 코드 품질, 커버리지 테스트 케이스, 보안 관련 테스트 케이스 등을 실행하기 위해 자동화가 시작되는 소스 제어에 대한 코드 및 환경 구성을 확인합니다.
코드가이 작업을 마치면 코드가 자동으로 컴파일되고 버전 제어에 저장되며 추가 테스트 및 궁극적으로 프로덕션 릴리스를 위해 추가 환경에 자동으로 배포됩니다.
빌드 트리거, 단위 테스트 수행, 패키징, 지정된 환경에 배포, 빌드 검증 테스트 수행, 연기 테스트, 승인 테스트 사례 및 최종 배포에서 시작하여 개발의 모든 단계에서 자동화가 수행되는 것을 볼 수 있습니다. 최종 프로덕션 환경으로 이동합니다.
자동화 테스트 케이스라고해도 단위 테스트가 아닌 설치 테스트, 통합 테스트, 사용자 경험 테스트, UI 테스트 등이 있습니다.
DevOps는 개발 활동 외에도 운영 팀이 서버 프로비저닝, 서버 구성, 네트워크 구성, 방화벽 구성, 프로덕션 시스템의 애플리케이션 모니터링과 같은 모든 활동을 자동화하도록합니다.
따라서 자동화해야 할 사항에 대한 대답은 빌드 트리거, 컴파일 및 빌드, 배포 또는 설치, 코딩 된 스크립트로 설정된 인프라 자동화, 코딩 된 스크립트로 환경 구성, 테스트, 배포 후 수명 성능 모니터링, 모니터링, 경고 모니터링, 알림을 실시간으로 푸시하고 오류 및 경고 등의 경우 실시간으로 경고를받습니다.
궁극적으로 모든 프로젝트 관련 문서를 자동화합니다.
따라서 DevOps 언어의 자동화는 지속적 통합, 지속적 테스트, 지속적 배포 및 지속적 배포를 의미한다고 말할 수 있습니다. 우리는 다음 부분에서 각각에 대해 자세히 공부할 것입니다.
전반적으로 DevOps는 가능한 한 자동화 가능한 것, 반복 가능한 것, 정확성이 요구되는 곳, 어느 것이 든 오랜 시간이 걸리는 모든 개발 및 운영 활동을 자동화합니다.
그럼에도 불구하고 자동화에 사용할 도구를 언급하지 않으면 자동화에 대한 논의가 불완전합니다.
따라서 올바른 프레임 워크와 자동화 도구를 선택하는 것이 DevOps의 자동화를위한 핵심 요구 사항입니다.
운영팀, 프로비저닝 머신, 회전 자동화 서버, 네트워크 구성, 방화벽, 네트워크 구성, 방화벽이 수행하는 활동을 포함하여 전체 딜리버리 파이프 라인의 엔드 투 엔드 자동화를 지원하는 오픈 소스 및 라이센스가 부여 된 도구 모두 시장에서 사용할 수있는 많은 도구가 있습니다. 소프트웨어의 성능을 모니터링 할 수도 있습니다.
또한 특정 조직은 단일 통합 도구 인 문서를 포함하여 코드 커밋에서 코드 배포에 이르는 DevOps의 종단 간 프로세스를 통합하기 위해 자체 프레임 워크를 개발했습니다. 프로그래밍, 버전 제어, 테스트 케이스 작성, 검토, 테스트 케이스 결과 덤프, 분석 등
예 : 꼭두각시, Azure 리소스 관리자, 요리사 등
DevOps에서 자동화의 이점
가짜 이메일 주소가 필요합니다
우리는 생산에 들어가는 데 수년이 걸리는 자동화가없는 이전 릴리스를 보았습니다. 최근에는 민첩성, 스크럼 또는 안전 여부를 확인했으며 자동화 비율이 개선되면서 릴리스 타임 라인이 몇 개월 또는 주.
그러나 몇 시간 내에 가능한 한 빨리 릴리스를 만들려면 자동화가 반드시 필요합니다. 따라서 파이프 라인 전체에 자동화를 적용하지 않으면 이렇게 빠르고 자주 릴리스하는 것이 불가능하다고 생각합니다.
따라서 우리가 DevOps의 목표, 빈번하고 빠른 배송을 통해 고객에게 제공되는 고품질 및 가치를 달성하려면 모든 것을 자동화해야합니다.
이제 우리는 자동화가 수동 오류, 개인에 대한 의존성을 제거하고 더 빠르게 수행하고 정확성을 달성하여 일관성과 신뢰성을 달성한다는 것을 알고 있습니다. 따라서 모든 것을 자동화하면 고품질 제공이라는 devops 목표가 가능하고 잦은 릴리스와 더 빠른 릴리스가 가능합니다.
간단히 말해서 자동화,
- 수동 오류 제거
- 팀원은 권한이 있습니다
- 종속성 제거
- 지연 시간 제거
- 배달 횟수 증가
- 리드 타임 단축
- 릴리스 빈도 증가
- 더 빠른 피드백 제공
- 속도, 안정성 및 일관성을 지원합니다.
즉, DevOps의 자동화는 궁극적으로 구축, 배포 및 모니터링에서 모든 것을 바로 캡슐화합니다.