소개 | Agile 소프트웨어 개발은 요구 사항 분석, 테스트 및 개발 간의 장벽을 무너뜨렸습니다. 소프트웨어 개발 프로세스에서 개발과 운영 및 유지 관리는 동일한 격리 문제에 직면합니다. DevOps 운동의 목표는 개발과 운영 간의 장벽을 허물고 개발과 운영 간의 협업을 장려하는 것입니다. |
Agile 소프트웨어 개발은 요구 사항 분석, 테스트 및 개발 간의 장벽을 무너뜨렸습니다. 소프트웨어 개발 프로세스에서 개발과 운영 및 유지 관리는 동일한 격리 문제에 직면합니다. DevOps 운동의 목표는 개발과 운영 간의 장벽을 허물고 개발과 운영 간의 협업을 장려하는 것입니다.
새로운 운영 및 유지 관리 도구의 출현과 민첩한 엔지니어링 관행의 확립으로 DevOps가 가능해졌지만[1], 최고의 도구가 있어도 DevOps의 이점을 이해하는 것은 충분하지 않습니다. 문화, DevOps는 단지 유행하는 단어일 뿐입니다.
DevOps 문화의 필수 특징은 개발 역할과 운영 역할 간의 협업이 지속적으로 증가한다는 것입니다. 이러한 협업을 지원하려면 팀과 조직 수준 모두에서 문화적 변화가 필요합니다.
책임 공유는 DevOps의 팀 문화 중 하나이며, 책임 공유는 팀 협업을 더욱 촉진합니다. 시스템 운영 및 유지 관리 작업이 다른 팀에 넘겨지면 개발팀은 일반적으로 구체적인 운영 및 유지 관리 작업에 신경 쓰지 않습니다.
개발팀이 시스템 수명주기에서 운영 및 유지 관리 작업과 책임을 공유하면 개발팀은 운영 및 유지 관리 팀의 고통을 이해할 수 있고, 개발 및 운영 및 유지 관리에서 지루한 작업(예: 자동화 등)을 적극적으로 단순화할 수 있습니다. 배포 및 개선된 로그).
생산 환경 시스템 모니터링을 통해 추가 요구 사항도 얻을 수 있습니다. 운영 및 유지 관리 팀이 주도적으로 시스템의 비즈니스 목표를 가정하면 운영 및 유지 관리 팀은 개발 팀과 더욱 긴밀하게 협력하여 운영 및 유지 관리 요구 사항을 이해하고 지원을 제공할 수 있습니다.
실제로 개발 팀이 운영 작업(예: 배포 및 모니터링)에 대해 더 많이 알아야 한다는 것을 인식하거나 운영 팀이 새로운 자동화 도구 및 방식을 채택할 때 협업이 시작되는 경우가 많습니다.
개발팀과 운영팀을 하나로 묶으세요책임 공유 문화에는 조직의 변화도 필요합니다. 개발팀과 운영팀 사이에는 장벽이 없어야 합니다. 처음에는 문서를 전달하는 것만으로는 협력을 대신할 수 없습니다. 조직의 자원 구조는 운영팀이 제품 제공 프로세스에 최대한 빨리 개입하고 다른 팀과 협력할 수 있도록 지원해야 합니다.
개발팀과 운영팀을 함께 배치하면 효과적으로 공동 작업을 홍보할 수 있습니다. "인계하고 승인하기"는 팀이 책임을 공유하는 데 도움이 되지 않으며 비난 문화로 이어질 수 있습니다. 대신 개발팀과 운영팀이 제품의 성공과 실패를 공동으로 책임져야 합니다.
DevOps 문화는 개발과 운영 사이의 경계를 모호하게 만들고 결국 경계를 없애게 됩니다. 조직에 DevOps를 도입할 때 일반적으로 방지되는 패턴은 DevOps 역할 또는 DevOps 팀을 만드는 것입니다. 그렇게 하면 더 많은 장벽이 생기고 DevOps 문화와 관행이 더 넓은 팀에 확산되고 사용되는 것을 막을 수 있습니다.
자율적인 팀 지원또 다른 중요한 조직 변화는 자체 구성 팀을 지원하는 것입니다. 보다 효율적인 협업을 위해 개발, 운영 및 유지 관리 팀은 독립적으로 결정을 내려야 하며 변경 사항을 채택할 때 긴 변경 관리 프로세스가 필요하지 않습니다. 여기에는 팀에 대한 신뢰, 위험 관리 방법의 변경, 실패가 걱정되지 않는 환경 조성의 필요성이 포함됩니다.
예를 들어, 변경 사항 목록을 작성하고 테스트 환경에 출시하기 전에 여러 번의 승인을 받아야 하는 팀은 종종 밀려납니다. 광범위한 수동 확인 대신 감사 가능한 버전 제어에 의존해야 합니다. 버전 제어의 변경 사항은 수동 승인 및 승인 없이 팀의 작업 관리 도구에 연결될 수 있으며, 팀은 변경 사항을 자동으로 배포하고 테스트 주기를 단축할 수 있습니다.
DevOps 문화 변화의 영향 중 하나는 코드를 프로덕션에 배포하기가 쉬워진다는 것입니다. 이를 위해서는 추가적인 문화적 변화가 필요합니다. 프로덕션 환경의 변경 사항을 안정적으로 유지하려면 팀은 개발 프로세스에 품질을 구축하는 데 집중해야 합니다. 여기에는 성능 및 보안과 같은 부서 간 문제가 포함됩니다. 지속적인 전달 기술(코드 자체 테스트 포함)을 통해 일상적이고 위험도가 낮은 배포가 가능합니다.
팀이 피드백을 중요하게 생각하는 것도 중요합니다. 팀으로서 지속적으로 개발과 운영, 유지 관리를 추진하기 위해서는 생산 환경 모니터링이 문제를 진단하고 잠재적인 개선점을 발견하는 데 도움이 되는 매우 유용한 피드백 루프입니다.
자동화는 DevOps 운영의 초석이며 협업을 가속화합니다. 테스트, 구성 및 배포를 자동화하면 팀은 다른 중요한 활동에 더 많은 시간을 집중하고 인적 오류를 줄일 수 있습니다. 자동화된 스크립트 및 테스트의 또 다른 이점은 시스템 문서를 항상 최신 상태로 유지한다는 것입니다. 예를 들어, 자동화된 서버 구성은 개발 팀과 운영 팀 모두 서버 구성을 이해하고 수정할 수 있음을 의미합니다.
참고:
[1]: 운영 및 유지 관리 도구에는 가상화, 클라우드 컴퓨팅 및 자동화된 구성 관리가 포함됩니다. 이러한 도구는 지속적인 통합, 증분 설계 및 코드 정제와 같은 엔지니어링 실무에서 지원됩니다.
위 내용은 DevOps 혁신, 도구만으로는 충분하지 않습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!