아티클
튜토리얼
대화형 가이드
DevOps 모범 사례
DevOps에는 문화적 변화, 자동화된 프로세스 및 적절한 기술에 대한 투자가 필요합니다
Tom Hall
DevOps 애드보케이트 및 실행자
DevOps 모범 사례에는 애자일 프로젝트 관리, CI/CD를 통해 조기 단계에서 개입, 자동화, 모니터링, 가시성 및 지속적인 피드백이 포함됩니다.
DevOps란?
DevOps를 소프트웨어 배포의 속도와 품질을 높이려면 개발 및 운영 팀 간의 커뮤니케이션과 공동 작업을 개선하는 비즈니스 추진력이라고 이해하는 것이 가장 좋습니다. 이것은 팀과 그 팀이 소속한 조직에 상당한 영향을 미치는 새로운 업무 방식입니다.
DevOps의 중요성
DevOps 혁신을 위해서는 비즈니스 구조와 프로세스를 철저하게 점검해야 하지만 그럴 만한 가치가 있습니다. Atlassian의 2020년 DevOps 트렌드 설문조사에서 응답자의 99%는 DevOps가 조직에 긍정적인 영향을 미쳤다고 답했습니다.
또 다른 DevOps 관련 연구인 DORA의 2019년 State of DevOps에 따르면 정상급의 DevOps를 실행하는 팀은 성과가 낮은 팀보다 208배 더 자주, 106배 더 빠르게 릴리스하는 것으로 나타났습니다. 또한 DevOps는 시장 출시 속도뿐만 아니라 품질 향상을 제공하여, 정상급의 팀은 성과가 낮은 팀에 비해 7배 낮은 변경 실패율을 자랑합니다.
관련 자료
무료로 사용해보기
관련 자료
DevOps의 이점 알아보기
DevOps 구현 모범 사례
애자일 프로젝트 관리
애자일은 프로젝트 관리 및 소프트웨어 개발에 대한 반복적인 접근 방식으로, 팀은 고객에게 가치를 더 빠르게 덜 복잡한 방법으로 제공할 수 있습니다. 애자일 팀은 하나의 대규모 릴리스 날짜를 기다리지 않고 더 작은 단위로 작업을 제공하는 데 집중합니다. 요구 사항, 계획 및 결과가 지속적으로 평가되므로 팀은 피드백에 응답하고 필요에 따라 방향을 전환할 수 있습니다.
다음은 애자일 프로젝트 관리의 핵심 개념입니다.
- 할 일, 진행 중, 코드 검토, 완료라는 4단계가 포함된 워크플로를 시작하세요. 워크플로에 대해 자세히 알아보세요.
- 팀은 대규모 프로젝트를 소규모의 작업으로 나누고 진행 상황에 따라 요구 사항이나 작업 범위의 변화에 대응해야 합니다. 에픽, 스토리 및 테마를 사용하여 작업의 범위를 정하고 구성하는 방법을 자세히 알아보세요.
- 증분 작업을 어떻게 계획, 추적 및 측정합니까? 스크럼 및 칸반은 애자일 방법론을 실천하는 팀을 위한 핵심 프레임워크입니다.
CI/CD를 통해 조기 단계에서 개입
팀이 “조기 단계에서 개입”하면 코드 개발 프로세스에 테스트를 조기에 수행하게 됩니다. 별도의 테스트 또는 QA 팀에 여러 변경을 보내는 대신 코딩 프로세스 전반에 걸쳐 다양한 테스트를 수행하므로, 개발자는 코드베이스의 관련 섹션에서 작업하는 동안 버그를 수정하거나 코드 품질을 향상할 수 있습니다. 지속적 통합 및 지속적 배포(CI/CD) 관행과 배포는 조기 단계에서 개입하는 능력을 뒷받침합니다. CI/CD에 대해 자세히 알아보세요.
적절한 도구로 구축
DevOps 도구 체인에는 소프트웨어 품질과 제공 속도를 개선하기 위한 핵심 기능을 갖춘 DevOps 수명 주기의 각 단계에 적합한 도구가 필요합니다. DevOps 도구를 선택하는 방법을 자세히 알아보고 DevOps 수명 주기의 각 단계에 대한 기능을 검토하세요.
자동화 구현
개발자는 지속적 통합 및 배포를 통해 정기적으로 코드를 기본 리포지토리에 병합할 수 있습니다. CI/CD는 수동으로 코드를 확인하는 대신, 지정된 기간의 배치에서 빈번한 커밋까지 이 프로세스를 자동화합니다. CI/CD 외에도 성공적인 DevOps 관행에는 자동화된 테스트가 필수입니다. 자동화된 테스트에는 엔드투엔드 테스트, 단위 테스트, 통합 테스트 및 성능 테스트가 포함될 수 있습니다. 소프트웨어 개발 프로세스에 자동화를 통합하는 방법을 자세히 알아보세요. 자동화에 대해 자세히 알아보세요.
DevOps 파이프라인 및 애플리케이션 모니터링
손상된 빌드 또는 실패한 테스트로 인해 불필요한 지연이 발생하지 않도록 DevOps 파이프라인을 모니터링해야 합니다. 자동화는 개발 속도를 대폭 향상해 주지만, 자동화된 프로세스에 장애가 발생해도 아무도 모르는 경우에는 수동으로 작업을 수행하는 것이 좋습니다. 비슷한 맥락에서, 장애 또는 성능 결함을 고객으로부터 듣기 전에 식별하려면 프로덕션 애플리케이션을 모니터링하는 것이 중요합니다.
가시성
업계가 일체식 온프레미스 시스템 및 애플리케이션에서 클라우드 네이티브 마이크로서비스 기반 애플리케이션으로 전환함에 따라, 모니터링이 훨씬 더 복잡해졌습니다. 그 결과 가시성에 대한 관심이 높아지고 있습니다. 가시성의 세 가지 핵심 요소는 로그, 추적 및 메트릭이라고 말하는 경우가 많습니다. 로그는 대부분의 시스템 구성 요소 및 애플리케이션에서 생성되며 시스템 또는 애플리케이션의 기능에 대한 시계열 데이터로 구성됩니다. 추적은 애플리케이션 내에서 로직의 흐름을 추적합니다. 메트릭에는 CPU/RAM 예약 또는 사용량, 디스크 공간, 네트워크 연결 등이 포함됩니다. 가시성은 단순히 세 가지 정보 소스를 모두 사용하여 다른 방법으로는 어려울 수 있는 복잡한 시스템의 기능을 발견하고 예측하는 것을 의미합니다. 가시성에 대해 자세히 알아보세요.
지속적 피드백 수집
팀원은 지속적인 피드백을 통해 적시에 업무를 수행하는 데 필요한 모든 정보를 얻을 수 있습니다. 개발 관점에서는 팀이 파이프라인 장애에 대해 즉시 알림을 받는 것이 수반됩니다. 또한 명확하고 철저한 코드 테스트 결과가 개발자에게 최대한 빨리 제공된다는 뜻이기도 합니다. 제품 관리 관점에서, 팀은 프로덕션 장애 또는 성능 결함 또는 보고된 버그를 인지합니다. 과거에는 개발 팀의 최적화가 속도 또는 품질만 향상할 수 있다는 생각이 널리 퍼져 있었습니다. 지속적인 피드백은 DevOps에서 속도와 품질 모두를 달성할 수 있도록 해주는 요소입니다.
문화적 변화
DevOps에는 공동 작업, 투명성, 신뢰와 공감이 필요합니다. 이 특성이 이미 확립되어 있는 드문 조직이라면, 팀이 DevOps 관행을 채택하기 꽤 쉬울 것입니다. 그렇지 않다면 이 특성을 개발하기 위해 어느 정도 노력이 필요합니다. 가장 일반적인 조직 구조는 사일로화되어 있는 구조로, 팀마다 별도의 소유 및 책임 영역이 있으며 팀 간 커뮤니케이션이나 공동 작업이 최소한의 수준입니다. DevOps가 성공하려면 "YBIYRI(직접 구축하고 직접 운영)" 관행을 채택하여 이 장벽을 없애야 합니다. 그렇다고 해서 전문가나 전문 팀이 없다는 뜻이 아니며 팀 간의 커뮤니케이션 및 공동 작업 라인이 열려 있고 사용된다는 의미입니다. 팀 문화 구축에 대해 자세히 알아보세요.
DevOps 관행을 연마하는 것은 지속적인 여정입니다. DevOps 혁신을 시작할 때는 사용자와 프로세스에 집중하고, 숙련된 팀이 되어 가면서 고급 도구, 통합 및 기능을 통합하세요.
이 기사 공유
다음 주제
여러분께 도움을 드릴 자료를 추천합니다.
이러한 리소스에 책갈피를 지정하여 DevOps 팀의 유형에 대해 알아보거나 Atlassian에서 DevOps에 대한 지속적인 업데이트를 확인하세요.