이 기사에서는 스타트업 프로젝트에서 오케스트레이션에 대한 접근 방식을 어떻게 변경했는지, 왜 그렇게 했는지, 그리고 그 과정에서 어떤 문제를 해결했는지에 대해 이야기하고 싶습니다. 이 기사가 독특하다고는 할 수 없지만, 문제를 해결하는 과정에서 상당한 노력을 들여 자료를 수집했기 때문에 누군가에게는 유용할 수 있다고 생각합니다.
우리는 무엇을 갖고 있었고 무슨 이야기를 하고 있었나요? 그리고 광고 분야에서 약 2년의 개발 이력을 가진 스타트업 프로젝트를 진행하게 되었습니다. 이 프로젝트는 처음에 마이크로서비스로 구축되었으며 서버 부분은 Symfony + 약간의 Laravel, Django 및 기본 NodeJ로 작성되었습니다. 서비스는 주로 모바일 클라이언트용 API(프로젝트에 3개가 있음)와 IOS용 자체 SDK(고객의 애플리케이션에 내장됨)뿐만 아니라 동일한 고객의 웹 인터페이스와 다양한 대시보드입니다. 모든 서비스는 처음에 dockerized되었으며 docker-compose에서 실행되었습니다.
맞습니다. docker-compose는 모든 곳에서 사용된 것은 아니고, 개발자들의 로컬 환경, 즉 테스트 환경에서만 사용되었습니다. 섬기는 사람 그리고 파이프라인 내에서 서비스를 구축하고 테스트할 때도 마찬가지였습니다. 프로덕션 환경에서는 Google Kubernetes Engine(GKE)을 사용했습니다. 특히 프로젝트 초기에 GKE의 웹 인터페이스를 통해 모든 설정을 완료했는데, 당시에는 상당히 빠르고 편리하다고 생각했습니다. 유일하게 자동화된 프로세스는 GKE에서 서비스를 실행하기 위한 Docker 이미지를 빌드하는 것이었습니다.
