This is a fairly remarkable idea. You can launch your containers, let Kubernetes or other orchestration engine act as the manager and AWS will handle all of the underlying hardware requirements for you.
Containers are a powerful way for programmers to develop, package, and deploy their applications. We have over a hundred million active ECS clusters and countless millions of containers started. That is 400+% customer growth since 2016. However, with all these container management solutions you are still responsible for the availability, capacity, and maintenance of the underlying infrastructure. We saw this as an opportunity to eliminate some undifferentiated heavy lifting. We want to allow you to take advantage of the speed, agility, and immutability that containers offer so that you can concentrate on building your applications as opposed to managing your infrastructure.
AWS Fargate is a simple way to set up your containers on AWS. To put it simply, Fargate is like EC2 but instead of giving you a virtual machine you get a container. It’s a technology which permits you to use containers as a compute primitive without having to handle the underlying instances. All you will need to do is build your container image, specify the CPU and memory requirements, define your networking and IAM policies, and start. With Fargate, you have flexible configuration options to carefully fit your application needs and you are billed with per-second granularity.
It’s also easy to use the console to create task definitions and run tasks with the Fargate launch type.
With AWS Fargate, you have to think of the containers so that you can concentrate on building and operating your application. AWS Fargate eliminates the need to manage a bunch of Amazon EC2 instances. You need to pick the instance types, handle cluster scheduling, or optimize cluster utilization. All of this goes off with Fargate.
You no longer need to think about provisioning enough compute resources for your container applications. Once you define your application requirements (e.g., CPU, memory, etc.), AWS Fargate oversees all of the scaling and infrastructure required to conduct your containers in a highly-available method. You need to decide when to scale your clusters or package them for optimal utilization. With Fargate, it is possible to launch tens of thousands or tens of thousands of thousands of containers in seconds and easily scale to run your most mission-critical applications.
INTEGRATED WITH AMAZON ECS AND EKS
AWS Fargate integrates with Amazon ECS. You define your application as you do for Amazon ECS. You package your application into task definitions, specify memory and the CPU required, define the networking and IAM policies which each container requirements, and upload everything to Amazon ECS. After everything is setup, AWS Fargate launches and manages your containers for you.
AWS Fargate support for Amazon EKS will be available in 2018.
How it works
Let’s take a look at the configuration options and pricing details for Fargate.
AWS Fargate uses an on-demand pricing model. You pay per per-second for the amount of vCPU and memory resources consumed by your applications. Price per vCPU is $0.0506 per hour and per GB memory is $0.0127 per hour. With Fargate you have 50 configuration options for vCPU and Memory to support a wide range of workloads. The configuration options are below.
|CPU (vCPU)||Memory Values (GB)|
|0.25||0.5, 1, 2|
|0.5||1, 2, 3|
|1||Min. 2GB and Max. 8GB, in 1GB increments|
|2||Min. 4GB and Max. 16GB, in 1GB increments|
|4||Min. 8GB and Max. 30GB in 1GB increments|
Things To Know
- You can configure Fargate to closely meet your application’s resource requirements and pay only for resources required by your containers. You can launch tens or tens of thousands of containers in seconds.
- Fargate tasks run similarly to tasks running on EC2. You can add them to VPCs, configure load balancers, and assign IAM roles.