주제: Gamification과 AI를 활용한 배포 자동화 서비스
배경
- 개발자들은 익숙하지 않은 배포 과정이 매우 어렵고 복잡하게 느껴진다.
- 특히 개인 프로젝트가 아니라 실제 고객들에게 다가가는 서비스일 경우, 배포의 복잡성이 특히나 증가한다.
-
정확히 어떤 부분이 어렵고 복잡한가?
초보
-
배포 어떻게 하는거에요?
→ 배포 과정에 대한 가이드라인 필요
중수
-
배포 과정에서 자꾸 에러가 발생해요
→ 배포 과정에서 에러 검사 필요
고수
Gamification에 대한 정의

배포의 각 단계를 정의하고, 각 단계에서 수행해야 할 퀘스트를 제공
→ 이 퀘스트를 우리 서비스가 도와주는 느낌
[예시]
- 1단계: 깃허브 연결하기
- 2단계: 배포 규모 정하기
- 3단계: 비용 비교, 클라우드 선택하기
- 4단계: 에러 검사하기
- 5단계: 배포 성공!
[추가 사항]
- 게임을 진행하는 것처럼 각 단계마다 배포과정을 안내해주고, 사용자는 단순히 깃허브 연결이나 클릭을 통해 의사결정만 진행하면 되도록
User Flow
- Github Login을 통해 Github repository 연결
- 배포하고싶은 repository 선택
- Challenging
- 만약 mono-repo인데 배포하고싶은 특정 MSA가 별도로 있는거라면?
- multi-repo라면 상관없음
- AI가 repository 내용 보고 배포 규모를 추천해준다
- 무슨 클라우드의 무슨 서비스를 사용하면 좋을지 추천해주는 것
- 아직 클라우드 벤더사를 선택하지 않았으므로 AWS / Azure / GCP 셋 다 보여준다
- 우리는 사용자의 유저 수나 트래픽량을 모르므로, (월 활성 유저 수 ~명에 적합한 규모입니다)를 통해 개발자가 나름 가늠해볼 수 있게 해준다.
- 만약 추천 규모가 마음에들지 않는다면 규모를 늘리거나 줄일 수 있도록 추가적인 버튼 제공?
- 유저가 선택한 규모를 바탕으로 예상 월 비용 추출
- 선택한 내용을 바탕으로 Terraform 생성 (AWS/Azure/GCP)
- 해당 Terraform을 바탕으로 클라우드 3사 각각의 예상 월비용 추천
- 유저가 셋 중 하나를 고를 수 있도록 제공
- 에러 검사
- 무슨 에러를 검사해야 할까? 도커이미지 에러 검사? 배포했을 때 앱이 잘 띄워질지 검사?
- 하여튼 무슨무슨 검사를 해줌
- 이 에러검사까지 통과했다면 배포 성공!
- 사전에 만들어진 Terraform 파일과 이를 바로 적용할 수 있는 aws cli / gcloud / azure cli 명령어 가이드까지 제공
- 그래서 사용자는 우리 서비스에서 나온 명령어 가이드와 테라폼 파일을 바탕으로 편리하게 서비스 배포