AWS EC2(Amazon Elastic Cloud Compute)
가장 기본적인 형태의 클라우드 컴퓨팅(= 클라우드 컴퓨터 한 대)
온디맨드
: 선결제 금액이나 장기 약정 없이 저렴하고 유연하게 Amazon EC2를 사용하기 원하는 사용자
스팟 인스턴스
: 시작 및 종료 시간이 자유로운 애플리케이션
어떤 작업을 하고 있다가, 온디맨드 유형의 사용자가 리소스가 필요하면 빼앗길수도 있다.
가격이 온디맨드 대비 80퍼센트 저렴하다.
배치 작업, 머신 러닝을 할 때 주로 사용
Saving Plans
: 1년 또는 3년 기간의 일정 사용량 약정을 조건으로 EC2 및 Fargate 사용량에 대해 저렴한 요금을 제공하는 유연한 요금
AWS Elastic Beanstalk
AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리할 수 있는 서비스
(애플리케이션 코드를 업로드하기만 하면 작동)
Elastic Beanstalk
= EC2 + 배포 버전 관리 (롤백) + Elastic Load Balancer + 모니터링 + 로그 트래킹 + 오토 스케일링
코드 적은 걸 가지고 압축해서 올리기만 하면 다 자동으로 해준다!
다양한 언어 지원 : .NET / PHP / Java / Ruby / Node.js / Python / Docker / Go
AWS Fargate
Fargate
를 사용하면 더 이상 컨테이너를 실행하기 위해 가상 머신의 클러스터를 프로비저닝, 구성 또는 조정할 필요가 없다.
따라서
서버 유형을 선택하거나, 클러스터를 조정할 시점을 결정하거나, 클러스터 패킹을 최적화할 필요가 없다
.
쉽게 말하면, 도커 파일 자체를 서버에 올리게 해주는 서비스!
가격이 비싸고, EC2보다 월등히 낮은 성능의 프로세스를 사용한다.
도커를 통해 배포가 되니, 세세히 설정할 수 있고 동일한 환경에서 올릴수 있기 때문에, 안전성이 좋다.
이전에는 컨테이너를 실행하기 위해서는 컨테이너를 실행할 Instance(EC2)를 실행시켜야하였지만, AWS Fargate는 이러한 수고를 덜어준다.
AWS 서비스 비교
왜 Fargate 대신에 EC2, Elastic Beanstalk을 쓸까?
→
가격 & 성능 때문!
만약 2 CPU / 8gb를 사용한다고 하면?
EC2 : 0.104 USD
Fargate : 0.18624 + 0.04088 = 0.226