모놀리틱, 과연 구시대적인 기술일까?

 

EKS 기반 MSA 프로젝트를 약 1년 7개월간 담당하며 MSA의 장점보다는 개발과 배포의 어려움을 직접 경험했다. 과연 모든 프로젝트에서 MSA가 최고의 선택일까?라는 답변에는 절대 아니라고 말할 수 있다.

 

나에게 있어서 초심으로 돌아가 모놀리틱 아키텍처를 재조명됐다. 모놀리틱 아키텍처는 단순하고 관리가 용이하며, 배포도 간단하다는 장점을 가지고 있다. 이러한 이유로 작은 규모의 프로젝트나 소수의 인원이 관리하는 경우 모놀리틱 아키텍처가 더 적합할 수 있다고 생각한다. 

 

모놀리틱 애플리케이션을 보다 효율적이고, 간편하게 다룰 수 있는 강력한 서비스인 Elastic Beanstalk에 대한 정복기를 쭉 작성해보려고 한다.

 

Elastic Beanstalk이란?

 

AWS에서 제공하는 풀 매니지드 서비스로, 애플리케이션의 배포와 관리를 자동화하여 개발자의 부담을 크게 줄여줄 수 있는 아주 매력적인 서비스다. 

 

Elastic Beanstalk을 사용함으로써 얻을 수 있는 이점은 아래와 같다.

 

1. Elastic Beanstalk 서비스 자체는 무료이고, 사용하는 서비스들의 값만 지불하면 됨

2. 여러 가지 환경을 제공함 (Java, Docker, .Net 등)

3. Elastic Beanstalk 콘솔에서 다양한 서비스를 다룰 수 있음 (모니터링, 오토스케일링, 가용성, 네트워크 태그 등) 

4. 여러 가지 배포 방법을 제공 (롤링, 불변, 카나리 등)

 

이점만 봤을 때 얼마나 매력적인가!!?

 

AWS 서비스로만 제한된다는 점은 아쉬울 수 있다. 하지만 AWS로만 서비스를 관리한다면 이보다 좋은 선택지가 있을까..?

 

Elastic Beanstalk 정복기 순서

 

Elastic Beanstalk을 아예 모르는 사람이라도 이것만 보면 사용할 수 있도록 포스팅 목차를 세워봤다. 

 

1. Elastic Beanstalk 콘솔 페이지별 기능 설명 (각 서비스의 간략한 서비스도 들어갈 예정)

2. Elastic Beanstalk 다양한 방법의 CD 방법
  - github action
  - codepipeline

3. Elastic Beanstalk 고급 활용법

4. 테라폼(토푸)로 구성해보기

 

해당 포스팅들이 Elastic Beanstalk에 대한 이해를 돕기를 바란다.