March 05, 2018

AWS Fargate, first DevOps Playground in Edinburgh

Last 27th of March I had the privilege to open our very first DevOps Playground in the ECS Edinburgh Office. Such an honour called for a special topic, and this time we focused on AWS Fargate, a blazing-new and often misunderstood technology from Amazon Web Services.

To refresh the memory, ECS DevOps Playground is a small meetup ran by our own consultant to have first-hand experience with new technologies and evangelise them.

Edinburgh Office

And so, what is Fargate?

Amazon Fargate

As mentioned before, the topic presented was AWS Fargate - but what is really?

Amazon Web Services defines it as a technology that allows you to run containers without managing the underlying instances - this means that by using Fargate as launch type, your container will be downloaded and launched in some physical place inside the AWS datacenters, away from your direct management.

In layman words, Fargate behaviour is very similar to Lambda for Containers: that is to run your code without worrying where is phisically running.

By using this method, you are free to concentrate on the service functionality rather than worrying about it’s infrastructure, mirroring the original mission of Docker: containerize and run everywhere.

The Playground

As every DevOps playground tradition, we prepared an hands-on example to give a taste of the functionality of this technology. The audience had a brief introduction to AWS Elastic Container Services, with explanation on the logical division between Clusters,Services and Tasks; Then we proceeded to create the Cluster, register the container specifications ( Task Definitions ), and finally run a service, a single instance of the famous Ghost blog engine.

Edinburgh Office

The core that makes this possible is the new networking mode called awsvpc, which permits to attach an Elastic Netwotk Interface to a container, rather than to an EC2 Instance, giving direct access to container services, rather than the underlying hosts, in turn making Fargate possible.

Limitations

Of course, since Fargate is pretty new, there are some limitations on it’s usage. Amongst the most important:

  • Available only in us-east-1 (this because is still in limited availability, us-east-1 is considered the experimental region)
  • Is not possible to attach persistent EBS volumes, directly to the container for now .
  • Limits of 20 Fargate services, per account, per region
  • Limits of 20 public ip addresses per Fargate services, per account, per region.

Reception

Despite the heavy snowstorm, we had a good turnover with many questions in between the presentation and after that lead to many discussions regarding containers, service management and related problematics. It was great to talk with passionate engineers and have an insight of the tech environment in Edinburgh.

All in all was a fantastic experience, and I’d feel that there’s a lot of potential in the Scottish capital for this new technology.

Looking forward to the next one!

Resources

In case you want to play with Fargate, We publicly released the walkthrough we executed at the meetup. You can find it here, in our public Github repository.