서비스를 출시하기 전에 점검하는 항목들은 주로 **"개발 및 운영 편의성과 시스템 안정성"**에 관한 항목들입니다. 사이드 프로젝트에서 모든 부분을 완벽하게 개발하기는 어렵지만, 훌륭한 엔지니어라면 시스템의 확장성과 유지보수성에 무게를 두고 서비스를 런칭해야 합니다.

서비스가 흥행하게되면, 꽤 오랜기간동안 유지보수하는 큰 규모의 프로젝트로 발전할 가능성이 큽니다. 일정 복잡도에 도달하게 되면 프로젝트가 점차 사람의 손만으로는 개발하기 어려워지기 때문에 이런 상황에서 사용할 수 있는 도구들과 키워드에 대해서 소개합니다. 아래 물음에 대해서 스스로 답해보거나 어느 시점에 도입할지 팀원들과 논의해보는 시간이었으면 좋겠습니다.

1. CI : 지속적 통합 🏭

<aside> ❗ Keyword : Linter, Formatter, Static program analysis, Software Testing, Unit Testing, Observability, Service Monitoring

</aside>

2. CD : 지속적 배포 🎯

<aside> ❗ Keyword : automation, ansible, terraform, branch strategy, blue green deployment, canary deployment, AB Testing, convention

</aside>

3. 부하 테스트 🔫

아마 프로덕션 레벨에서 사용하는 대표적인 부하 테스팅 도구는 Apache JMeter 일 것입니다. UI를 제공해주지만, 조금 디테일하게 설정할 것들도 많아 복잡할 수 있습니다. 간단히 Cli로 사용하기는 artillery를 추천합니다.