✅ 개발환경 소개

엠블 서비스의 근간을 지탱하는 서버 프로그램들은 Spring framework를 적극 활용하여 Kotlin 언어로 작성되어 있습니다.

Gradle을 활용하여 의존성 관리를 하며, 스프링 프레임워크 및 자바 생태계를 적극적으로 활용하고 있습니다.

Clean Architecture, Clean code를 지향하여 비지니스 로직이 명확하게 드러나게 하여 다른 개발자들이 코드를 쉽게 이해할 수 있게 하고 있습니다.

클라이언트 개발자와의 소통을 위해 swagger를 활용하여 API를 문서화하여 제공합니다.

MicroService Architecture의 활용

엠블이 제공하는 서비스는 다루는 도메인이 방대하기 때문에 구성 요소들을 쪼개어 Microservice 들로 구성하여 개발하고 있습니다.

마이크로서비스 구조를 통해 모듈화, 확장성, 장애대응성을 꾀하고 있습니다.

마이크로 서비스 내의 공통 지식들이나 유틸리티들을 공용 리포지토리에 관리중입니다.

마이크로 서비스간의 통신을 위해 gRPC, AMQP를 적극 활용중입니다.

실험적으로 DDD(domain driven development) 및 event driven development등의 아키텍처를 일부 마이크로 서비스에 적용 하고 있습니다.

CI/CD

배포와 테스트 자동화를 위해 CircleCI를 활용하여 CI/CD 환경을 구축, 활용하고 있습니다.

가상화

서버 프로그램들은 모두 dockerize되어 배포됩니다.

AWS EKS를 활용하여 docker container들을 kubernetes로 관리합니다.