지난 3월 30일~31일 이틀간 Azure Sprint 행사를 진행하였습니다. 사내에 DevOps를 성공적으로 도입할 수 있도록 지원하는 해커톤 형식의 행사로, 클라우드메이트는 Microsoft CSP 파트너 및 GitHub Indirect 채널파트너로써 기술 코치를 맡았습니다.
참가자들이 팀을 이루어 Azure DevOps와 GitHub를 직접 구축해 보며, 각 팀에게 주어진 5개의 과제를 2일 동안 실습해 보았습니다.
그럼, 주어진 과제가 무엇이었는지 짧게 살펴볼까요?
Challenge 1. GitHub 및 Azure DevOps 소개
팀과 협업하기 위한 환경 구성하기
- GitHub 계정 설정
- Azure DevOps를 위한 Agile Planning 구성
- Agile 개발 방법론을 적용하기 위한 Board 구성
Challenge 2. 빌드 워크플로우 만들기
코드를 [빌드-컴파일-테스트-패키지-릴리즈]하는 연속 통합(CI) 워크플로우 구축하기
- GitHub Actions를 통한 빌드 자동화
- GitHub flow를 통한 배포 통합
- CI/CD 발생시 알람을 받는 방법
Challenge 3. 배포 워크플로우 만들기
Test 및 Prod 환경을 구축하여 컴파일된 자산을 배포하기
- 배포 워크플로우 구성을 위한 Azure 서비스 구성
- Slot 배포 등을 제공하기 위한 Azure App Service 구성
- Secure Ops를 위한 Azure Key Vault 구성
Challenge 4. 솔루션 모니터링
모니터링 설정 및 인사이트 구현하기
- 서비스를 모니터링 하기 위한 Azure Monitor 구성
- 어플리케이션의 부하 측정을 위한 Application Insights 구성
Challenge 5. 컨테이너 구축 및 배포
코드를 컨테이너 이미지로 빌드하고 인스턴스화하기
- Dockerize 기반의 프로젝트 운영 방법론
- Azure Container Registry를 활용한 Docker 버전 관리
- Azure Web App for Containers를 활용한 CD구성
과제를 통한 Azure DevOps 및 GitHub의 기능적인 친숙도를 높이는 것뿐만 아니라, 자유로운 분위기 속에서 DevOps를 도입과 관련하여 여러 의견을 나누는 시간을 가졌습니다.
Azure DevOps에서 제공하는 강력한 Agile 기반의 Planning 기능을 바탕으로 GitHub Actions의 CI/CD를 구성하고, 많은 분들이 궁금해 하시는 Azure DevOps와 GitHub의 CI/CD의 차이점, Azure DevOps와 Atlassian GIRA의 비교해보며 관리자 혹은 사용자 측면에서의 각 Tool들이 가지는 장점에 대한 이야기해볼 수 있었습니다.
적극적으로 참여해주신 참가자 모든 분들께 감사드립니다.