What is AWS Fargate
Fargate Spot can lower the cost of your project significantly
The biggest challenge of developers is to create software applications that behave as predicted on all virtual machines. Generally, an application before launch is passed through different platforms including development, staging, testing, and production. The difference in the environment of these platforms can result in unexpected behavior changes in the application. Moreover, using different platforms to deploy an application can be very expensive.
To avoid this hassle and reduce the overall cost of the project, Amazon launched Amazon Elastic Container Service (ECS) and Kubernetes in the container market. These solutions did a great job, however, they needed more workforce and efforts to manage manual work.
To reduce tedious manual work, Amazon launched AWS Fargate into the container market in 2017.
What is AWS Fargate?
AWS Fargate is a serverless compute engine for containers. This serverless engine works with both Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS) to deploy applications conveniently. It also eliminates the need to choose instances and scale cluster capacity. You only need to pay for your containers. This means you don’t need to worry about the operational overhead of patching, scaling, managing servers, and security.
How Fargate works?
Fargate runs each ECS task or EKS pod in the dedicated kernel runtime environment. This means no sharing of CPU, memory, network resources, and storage with other tasks and pods, ensuring an isolated environment and security for every task and pod. As Fargate offers improved security, big companies like Foursquare, Accenture, Vanguard, and Ancestry use this solution to run their critical applications. It also allows customers to spend more time developing rather than spending time managing Amazon EC2 instances.
Running applications on Fargate is convenient, however, it’s not the best choice for everyone due to its over-price and complexities. In an attempt to retain the existing Fargate customers and attract more potential customers, Amazon announced AWS Fargare Spot in 2019.
Fargate Spot is a new capability option that allows customers to run interruption tolerant Amazon ECS tasks at a price 70% lesser than the Fargate price. This new deployment option allows customers to offload workloads on spot at significantly lesser costs. The concept of Fargate Spot is similar to EC2 spot Instance. The Fargate Spot tasks run on spare capacity in the AWS cloud. The task can be launched only when the Fargate Spot capacity is available. Moreover, the running task can get interrupted when AWS needs the capacity back. Customers will receive a two minutes notification before interrupting the running tasks.
To ensure that your container exits gracefully before the task stops, the following can be configured:
- 120 seconds or less ‘stop Timeout value’ can be set in the container definition that the task is using. Stop Timeout value is a time between the moment when interruption request is received and the point at which the container is forcefully stopped.
- The container must send the SIGTERM signal to perform any cleanup actions.
If the requirement of Fargate Spot increases, Fargate will scale down the tasks running on Fargate Spot. As the tasks running on Fargate Spot can get interrupted any time, so being a customer you must avoid running tasks on Spot that can’t tolerate interruptions. This feature allows you to optimize your costs for fault-tolerant workloads.
If you don’t want to get your tasks interrupted, you can configure the Service Autoscaling policy. This policy allows you to specify the minimum number of regular tasks that should run at all times. You can also schedule the tasks for Fargate Spot. The schedule will automatically run tasks on Fargate Spot when the capacity of the Fargate Spot is available. The autoscaling policy improves the efficiency of the container by launching tasks to meet your requests. If the capacity for Fargate Spot stops being available, Fargate Spot will scale down, while maintaining the minimum number of regular tasks to ensure the application’s availability.
Who can use Fargate Spot Services?
This cost-effective service is best for customers who deal with parallelizable workloads such as image rendering, genomics processing, and Monte Carlo simulations.
Some of the partners of Fargate includes Sysdig, Aqua Security, SolarWinds, and SignalFX, etc. These APN partners can enroute their data from AWS Fargate by using FireLens interface
Want to know more about Fargate Spot and its pricing structure, do let us know in the comment section.