[90DoDO] 시리즈는 MichaelCade의 90DaysOfDevOps 2022.ver를 바탕으로 공부한 내용을 담고 있습니다.
개인적인 견해는 초록색 초록색 글씨로 표시합니다.
day05. DevOps의 개별 단계와 사이클
계획; Plan
다음 업데이트에 출시할 기능과 수정할 버그를 계획하는 과정에
DevOps 엔지니어가 참여해 일어날 문제 사항을 미리 파악하고,
구축된 인프라로 작업할 수 있도록 돕거나 중간에라도 더 나은 방향을 제시할 수 있도록 합니다.
코드 작성; Code
코드를 레포지토리에 병합하는 역할을 주로 합니다.
빌드; Build
자동화 프로세스의 첫 단계입니다.
CI 파이프라인을 이용해 컴파일, 도커 이미지 생성 등의 작업을 수행합니다.
수동으로 작업하지 않기 때문에 효율적이고 일관성 있게 작업 수행이 가능합니다.
테스트; Test
개발 팀은 발생 가능성이 있는 테스트를 제안하고 실행해 프로덕션을 확인합니다.
새로운 버그를 찾아내는 것은 어렵지만, 이전에 작동하던 것은 잘 작동하도록 보장해야 합니다.
릴리즈; Release
테스트가 완료되면, 애플리케이션 유형에 따라 릴리즈 프로세스가 수행되는데,
이 단계는 애플리케이션에 따라 생략될 수 있습니다.
보통, git 혹은 GitHub 레포지토리에서 가져온 코드나 빌드된 도커 이미지를 배포하기 위해
레지스트리나 레포지토리에 저장하면 배포 프로세스가 진행됩니다.
배포; Deploy
개발 과정의 최종 단계이고, 프로덕션 환경에 코드를 적용해 유저에게 서비스를 제공합니다.
운영 및 모니터링; Operate & Monitoring
배포가 완료된 후 운영되는 제품을 로그를 통해 모니터링할 수 있습니다.
이를 통해 메모리 사용률, 디스크 공간, 응답 시간 등을 확인할 수 있고,
문제가 발생하면 이를 파악하고 적절한 대처를 통해 유저가 서비스를 사용하는데 차질이 없게 합니다.
이런 작업도 자동화하는 것이 좋지만, 수동으로 처리해야 하는 작업이 존재할 수도 있습니다.
또, 자동화 프로세스에는 DevOps 엔지니어가 배포를 인식할 수 있는 알림을 포함하는 것이 좋습니다.
이런 사이클을 통해 지속적으로 프로세스 개선을 함으로써
더 나은 품질의 서비스를 제공할 수 있습니다.
'DevOps' 카테고리의 다른 글
[90DoDO] day07-12 Go 언어 기초 (2) | 2024.09.24 |
---|---|
[90DoDO] day04 DevOps & Agile (0) | 2024.09.17 |
[90DoDO] day03 애플리케이션 중심의 데브옵스 수명 주기 (1) | 2024.09.17 |
[90DoDO] day01 개요 & day02 DevOps엔지니어의 책임 (0) | 2024.09.17 |