Elastic Beanstalk이란?
웹을 서비스하기 위해서는 배포하고, 확장하고, 관리할 필요가 있으며, 기존에는 이 과정에서 다양한 문제가 발생했다. 이를 간소화시켜 개발자가 코딩에만 집중할 수 있게 하는 완전 관리형 서비스이다.
어플리케이션 인프라를 구성하는 것에 들이는 노력을 총 100%라 보았을 때, On-premise 수동 구성은 100%, AWS EC2와 같은 가상 머신을 이용한 수동 구성은 50% 정도이다. Elastic Beanstalk은 이를 최대한 간소화해 10% 미만으로 만들고자 한다.
기존 서비스의 문제점
- 배포, 프로비저닝, 관리가 복잡하다
- 서버, 데이터베이스, 로드 밸런서, 방화벽 그리고 복잡한 네트워크를 구성하고 관리하는데 전문성과 시간이 필요하다
- 어플리케이션의 스케일 아웃/인 자동화가 필요하다.
- 배포 시에 팀내/팀간 갈등이 발생한다.
Elastic Beanstalk의 이점
- 어플리케이션 프로토타입 원클릭 배포를 가능하게 해준다.
- 코딩에만 집중할 수 있다.
- Elastic Beanstalk 내의 모든 인스턴스에 접근할 수 있다.
- 불필요한 자원 낭비 없이 사용량만큼만 과금한다.
- AWS 리소스 외의 추가 비용은 없다.
Elastic Beanstalk이 지원하는 플랫폼
- java
- .NET
- Node.js
- Python
- Ruby
- Go
- Docker
- php