Have you heard of CaaS? It's time to try it out!
Fargate service got massively cheaper.
This January AWS has significantly lowered the price of Fargate service hoping to make it accessible to more users. The price is dependant on the number of CPU used and RAM and calculated per usage per minute. At the moment it is up to 40% lower than before. If you are still not 100% sure if Fargate is for you, now would be a good time to try it out. Let me tell you more about its function and benefits.
What is Fargate?
AWS Fargate allows you to run application containers without the necessity to manage basic infrastructure or servers (clusters) on which the containers run. It manages scaling, provisioning and configuration for you. Thanks to that Fargate can be considered a first true CaaS. It stands for Container as a Service, which accurately describes its function.
For our less technical readers, I will try to explain it better on a simple comparison. Let's start with describing basic options of running application containers and step by step get all the way to Fargate.
So how does it work?
Imagine you work for a manufacturing company that has factories all around Europe. Your task is to find a way to solve logistics between different locations. Let's start with the easiest but the least efficient scenario first: You buy one truck and you expect it to manage all transport. Soon you realise, that one truck is not enough. You need to buy more. You also need to make sure the vehicles are in perfect running order: service them; change oil and tires employ drivers. It becomes relatively complicated, but it meets your needs - you always manage to deliver everything in time. However, you also have to be ready for emergency situations when you need to have spare trucks and extra drivers ready at all times in case something goes wrong. Most of the time these vehicles are not being used at all. With the increasing number of trucks, the operation costs are rising and the servicing becomes more and more complicated. As your company keeps growing, sooner or later you will find yourself in a situation when it becomes to much to handle for one person. It is time to employ an external company, who will take care of your vehicles for you. It seems to be the most convenient solution. However, you still own only a certain amount of trucks. At times a lot of them are not being used at all and other times all of them are still not enough.
This simple metaphor describes perfectly different ways of managing containers. You can have them on your own HW or in the Cloud. You can orchestrate them using different tools (eg. K8s, Docker Swarm) and you can manage these tools yourself or, someone else can do it for you (eg. Google Kubernetes Engine, Elastic Container Service, Amazon Elastic Container Service for Kubernetes).
No server, no cry!
The common denominator of all these ways of managing your containers is the necessity to take care of the servers they run on (or at least to specify their parameters, when managing them in the Cloud). In none of the above cases, you can just send the container somewhere, put your feet on the table, grab a cup of tea and watch how everything runs smoothly.
But what if you could? What if you could forget about all your worries and put your feet on the table? What if you employed a company who would take care of everything for you? You wouldn't need to buy any trucks - all you need to do is to tell the company what to deliver and where and they would take care of that for you. No need to pay for parking nor extra drivers available at all times. In the world of Cloud, this “company” really exists and it is called Fargate. It allows you to manage containers without the need to take care of the instances that they run on. Moreover, You don't have to be concerned with them at all! This is why this kind of solution is also known as “serverless” Fargate is a Compute Engine parallel of an EC2 service.
With the new pricing, the service cost is close to EC2 itself.
(note: EC2 is a service, which provides you with processing power on virtual instances only. It is up to you what you run on them and you also have to manage it yourself. Fargate, on the other hand, has the advantage, that you don't have to worry about managing it at all, even though it is still a compute service. In practice, it is very close to the so-called “serverless” solution. You can devote maximum time to writing the code and developing your product instead of wasting resources on management.)
Summary of Container Options on AWS:
ECS - Container Docker System - "docker as a service" from Amazon.
EKS - Managing Kubernetes, AWS "kubernetes as a service"
Fargate - AWS "Container Manager"
We do not claim that Fargate is a service for everyone, but now it's worth testing it out.
CONTAINERISATION: Expectations vs Reality