Anoop Prasad | 20 Nov 2018 | DevOps Enablement, Newsletter
Home » Blogs » AWS Fargate Makes Running Containers Easy
AWS is taking the simplicity of deploying containers on its platform to the next level by eliminating the hassle of launching and managing virtual servers or container clusters and worrying about scalability. While Docker containers and Cloud computing shifted the burden of resource management to Cloud service providers, still a lot of operational efforts was required to run workloads efficiently.
With Fargate, the promise of Cloud—which allowed scalability and flexibility by abstracting infrastructure yet was held back with the burden of provisioning and managing—is fast becoming reality as AWS evolves its own ECS service into the next layer of abstraction.
It is AWS’s endeavour to help developers focus on the application by delivering a consistent, immutable unit of deployment allowing developers to change code or run the app in a different places without having to manage servers and complex configuration tools.
So what is Fargate? Here are highlights you need to know.
A compute service for deploying and managing containers, Fargate is container-as-a-service where you don’t waste time in selecting, provisioning, configuring, scaling and optimizing clusters of machine to run containers.
You only define CPU, memory, networking and IAM policies to run the application and Fargate takes care of the rest.
Fargate is ideally suited for horizontal scaling. Use cases include micro-services application architecture, batch processing, machine learning applications and migrating on premise applications to Cloud.
The downside is that it restricts customization, so if you have greater compliance and governance requirements and require greater customization, Fargate is not a good option.
Key Fargate features include:
CLI integration: You can run and create tasks and services with Fargate using CLI.
Native integration with AWS services: Fargate is natively integrated with Amazon VPC, Auto Scaling, Elastic Load Balancing, IAM roles, CloudWatch and Secrets Management.
Flexible configuration: Fargate is available with 50 different combinations of CPU and memory to closely match application needs—from 2 GB per vCPU anywhere up to 8 GB per vCPU for various configurations.
Permission tiers: Fargate allows to group tasks into logical clusters to manage who can run or view services within clusters.
Enhanced Visibility: Fargate allows to send application logs to CloudWatch logs and service metrics—including CPU and memory utilization—are available as part of CloudWatch metrics. Monitoring and performance management partners DataDog, Splunk, Aquasec, Twistlock, and New Relic support Fargate
These features enable Fargate to offer compelling business benefits as enumerated below:
You do not pay for the server and only pay for CPU and memory utilized to run the task, as well as the duration of the task you run.
You don’t need to guess capacity, so you don’t end up paying for over provisioning.
You offload operational complexities to Fargate, allowing you to save on operational resources, which in itself is a huge saving.