AWS revamps Fargate serverless containers, but wait – where's Docker Engine? Ah, 'deemed unnecessary'
Bezos cloud crew chops 'bells and whistles' in favour of native support, adds shared storage
Amazon Web Services has launched Fargate 1.4, an update to its serverless container platform that adds support for shared Elastic File System storage and removes use of Docker Engine.
Fargate is Amazon's service to simplify deploying container-based applications by removing the need to provision server instances or Kubernetes pods. AWS calls it a serverless approach since it automates the provision of either AWS Elastic Container Service (ECS) or Elastic Kubernetes Service (EKS) resources. Note that EKS support in Fargate is limited to just four regions (Virginia, Ohio, Ireland, and Tokyo), and that Fargate does not support Windows containers, only Linux.
The newly launched Fargate platform 1.4 includes significant new features. One that will be immediately useful is support for Elastic File System (EFS). You can now mount EFS volumes in Fargate. EFS storage is shared using NFS (Network File System) making this a flexible solution. Previously, you could access EFS from the underlying container service, but not when using Fargate. This change makes it easy to run stateful workloads in container applications. There are ways to access EFS from EKS too.
Fargate 1.4 also ups the temporary storage available to a 20GB ephemeral volume, whether using ECS or a K8s pod. There are changes to the networking stack too, adding a new Fargate agent which enables access to network performance metrics.
Under the covers, AWS made changes to the implementation, eliminating Docker Engine. The change is explained in detail here. Docker Engine is a container engine that builds on the Containerd daemon, which is a project of the Cloud Native Computing Foundation.
AWS figured it could make its own implementation of the features added by Docker Engine, thereby cutting out a dependency, although the resulting technology is still based on Containerd. Docker Hub is still supported, we note.
"Fargate provides most of that functionality natively already and it doesn't need all the bells and whistles that Docker provides. Because of this, the runtime below can remain simple and using Docker Engine was deemed to be unnecessary," said AWS developer advocate Massimo Re Ferre. The change should be mostly invisible to developers, though there are some details like the removal of Docker-specific error messages.
The new platform enables AWS to use Firecracker, a micro VM designed for running containers, for Fargate containers and EKS pods.
Traditionally AWS is secretive about its product plans, saying only that it is responsive to customer requests. While this is still true in general, it is becoming fractionally more open in certain areas – for example, publishing a container roadmap showing some of what the team is working on.
You will not find any dates, though. "Because job zero is security and operational stability, we can't provide specific target dates for features," says the FAQ. So when is Fargate support for EKS coming in all regions? The status is: "We're working on it." ®