AWS CaseStudy-크몽
https://www.kmong.com
Customer : 크몽 ( Kmong )
Problem statement/definition
- 고객은 초기 부터 AWS Cloud에서 서비스 개발 및 운영을 진행, 전형적인 Monolitic한 서비스 구현을 시작으로 초기에는 서비스 규모와 팀원이 작아 큰 이슈가 없었음.
- 현재는 100명 가까이 인력 늘어 났으며, 서비스 역시 예전에 비해 비약적으로 발전을 한 상태로 서비스 업데이트를 위해 배포시 약 2~3시간 가량 소요되며, 그동안 관련 개발자들 역시 배포완료까지 대기하며 다른 업무를 하지 못하는 문제 점이 있었음.
- 주 단위 또는 2주 단위 배포로 Application의 배포의 자유도가 떨어지고 업데이트가 빠르게 일어나지 못함
- 이런 문제점들을 개기로 MSA 및 DevOps로의 접근 필요해짐
What you proposed
제안 Architecture
- 2tier 웹서비스 구조
- 각 Tier별 HA를 위한 이중화 및 Multi-Az 구성
- AutoScaling을 이용한 유연한 구성
- Serverless Fargate Service 를 활용한 서버관리 최소화
- CI/CD를 위한 AWS Code Series를 활용한 배포 효율성 증대
- CloudWatch Logs를 통한 Log Integration
- ElasticSearch 서비스를 이용한 Log 통합 모니터링 서비스 진행
Agile 개발 방법론
- 프로젝트를 통해서 Kmong의 Engineer들이 향후에도 Agile 개발 방법론을 활용할 수 있게 프로젝트를 Agile 개발방법론과 같이 진행 함.
How AWS services were used as part of the solution
사용된 AWS Service
- API Gateway
- CodeCommit / CodeBuild / CodeDeply / CodePipeLine
- Cloud Formation
- ECS (Fargate/ECR)
- CloudWatch & ElasticSearch
- IAM, Etc… (ELB,RDS 등)
Outcomes
- Account 분리를 통한 팀별 AWS Resource 사용량에 대한 가시성 확보 및 Resource 분리로 인한 편의성 증대
- Serverless Fargate 도입으로 서버 관리에 대한 불편함을 해소
- Application의 품질 및 성능 향상
- CI/CD 구축으로 인한 배포 편의성 증대
- 개발,테스트 또는 운영에 대한 지출 감소
- 개발 인력들의 효율적인 업무능력 향상
- Service 분리로 인한 Application 배포 소요 시간 단축
- Application Release 배포 기간 단축
Written on February 27, 2020