SW/DevOps

DevOps 공정 : 프로세스 개념, 특징

얇은생각 2019. 11. 9. 07:30
반응형

DevOps 수명 주기

 

계획 - 개발 - 빌드 - 테스트 --> 개발

모니터링 - 운영 - 배포 - 릴리즈 --> 운영

 

DevOps의 수명 주기는 위와 같습니다. DevOps는 수명주기를 짧게 짧게 반복을 합니다. 이렇게 짧게 짧게 여러번 반복을 하며 수명주기를 순환할 수 있는 이유는 바로 자동화입니다. 

Saas (Software as a Service)는 구글 무선, 스프레드 시트, 프리젠테이션 등이 예입니다. 이러한 좋은 소프트웨어들은 클라우드 형태로 제공해주고 있습니다. 결국 이러한 소프트웨어들이 수명주기를 짧게할 수 있도록 도와줍니다.

 

 

애자일 개발

계획

변경 요구 검토 및 개선 작업 계획을 수립합니다. 우선 순위에 따른 요구사항을 관리합니다. 또 작업 상황 가시화 및 추적을 진행합니다. 스크럼, 칸반 등을 활용하는 경우도 있습니다. 

 

개발

소프트웨어를 설계하고 코드를 작성합니다. 소스 코드 저장소를 통한 버전 관리가 필수적입니다. 테스트 자동화를 위한 테스트 코드를 작성해야 합니다. 소스코드 인스펙션, 동료 검토 및 리팩토링을 수행해야 합니다. Saas 개발을 위한 필수 요건을 반영해야 하는데, 코드 관리 방안, 무사탱 프로세스, 포트 바인딩, 동시성 처리, 로그 처리 방안 등은 고려되어야 합니다. 

 

빌드/테스트

실행가능한 소프트웨어 산출물을 만들고 테스트하는 활동을 의미합니다. 소스 코드 컴파일, 단위 테스트, 패키징 통합 테스트를 의미합니다. 통합된 최신 코드 지속적 업데이트가 필요합니다. 결국, 완벽한 빌드 테스트 후, 즉각적 변경 반영이 필요합니다. 완벽히 빌드 되지 않은 코드는 작업 지연 및 병목이 발생할 수 있습니다. 지속적인 개발팀의 소스코드와 상태 최신화 통합이 유지되어야 합니다. 

 

릴리즈/배포

언제나 배포 실행 가능한 상태를 유지하는 활동입니다. 릴리즈는 가장 큰 병목과 지연이 발생하는 구간입니다. 운영 환경 준비 및 문제 발생 시 롤백이 가능해야 합니다. 또한 유아이 테스트, 부하 테스트, 통합 테스트 등 다양한 테스트를 수해해야 합니다. 지속적인 전달의 경우, 테스트 성공 시 스테이징 환경까지 배포되어야 합니다. 지속적 배포의 경우, 꾸준한 노력으로 품질을 높여가야 합니다. 

 

운영/모니터링

사용자에게 중단 없는 섭시스를 제공해야 합니다. 장애, 성능, 보안, 용량, 가용성 관리가 필요합니다. 애플리케이션 및 인프라 구성, 변경 관리가 필요합니다. 이벤트 및 로그를 통한 성능 품질 모니터링이 필요합니다. 분석을 통한 개선 사항도 도출해야 하며, 계획 반영 후 적용해야 합니다. 

 

결론

지속적 서비스 개선까지 이루는 것이 데브옵스의 최종 목표라 할 수 있습니다. 핮지만, 조직의 성숙도에 따라 구현 가능한 수준부터 차근 차근 적용이 필요합니다. 

반응형