Django 로 프로젝트를 개발한뒤에는, 아무래도 서비스를 실제 배포하여 사용할수 있습니다.
수 많은 배포 방법들이 존재하지만, 배포는 프로그래밍과는 또다른 의미로 어렵습니다.
특히 AWS 서비스를 다루는것만 해도 굉장히 복잡하기 때문에. Django 웹개발 공부를 진행하다가도, 배포에서 막힙니다.
배포에 막혀 너무 힘든 나날들을 보내다가, Elastic Beanstalk 로 배포를 시도해 보려 합니다.
Elastic Beanstalk 란?
AWS Elastic Beanstalk 는 JAVA, .NET, PHP, node.js, Python, Ruby, GO, Docker 를 사용하여,
Apache, Nginx, Passenger, IIS 와 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를
간편하게 배포하고 조정할수 있는 서비스 입니다.
Elastic Beanstalk 의 이점
빠르고 간편한 시작
AWS 에 애플리케이션을 배포하는 가장 빠르면서 간단한 방법입니다. Git 을 통해 어플리케이션을 업로드 하면, Elastic Beanstalk 가 용량 프로비져닝, 로드 밸런싱, Auto Scaling, 모니터링에 대한 배포 정보를 자동으로 처리합니다. 개발자가 배포를 위한, 인프라나 리소스를 따로 구성할 필요가 없습니다.
개발자 생산성
Elastic Beanstlak 는 사용자 대신 배포를 위한 인프라를 운영 및 관리 해주므로, 개발자가 서버, 데이터베이스, 로드 밸런서, 방화벽, 네트워크 등을 관리하고 구성하는데에 시간을 들이지 않고. 오롯이 코드 작성에 집중할수 있게 해줍니다.
Auto Scaling
자동 스케일링 설정을 사용하여, 어플리케이션의 특정 요건에 따라, 자동으로 어플리케이션을 확장 및 축소 합니다. CPU 사용률 지표를 참조하여 Auto Scaling 작업을 발생 시킵니다. 이는, 어플리케이션 비용을 최소화 하면서, 높은 워크로드나, 트래픽을 처리할수 있게 해줍니다.
완벽한 리소스 제어
EC2 인스턴스 유형과 같은 AWS 리소스를 어플리케이션에 가장 적합한 리소스로 자유롭게 선택할수 있습니다. 손쉽게 리소스, 인프라 요소 등을 제어하려면, Elastic Beanstalk 의 관리 기능을 사용하면 됩니다.