지난 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들이 가지는 장점에 대한 이야기해볼 수 있었습니다.

적극적으로 참여해주신 참가자 모든 분들께 감사드립니다.