AWS Proton, IaC For Containers & Serverless
Managing a lot of containers has always been a problem for microservices deployments using separate task definitions for individual endpoints or services. Trying to do all of that for hundreds or thousands of services, complete with proper continuous integration and continuous deployments, can be hard for any team.
AWS Proton looks to improve that by offering a “fully managed application deployment service” for container and serverless applications. Basically, it’s infrastructure-as-code, where you define environment templates that contain all the info Proton needs to run your infrastructure. This makes doing updates to the entire network a lot easier.
AWS already has CloudFormation, an IaC solution for all AWS services, but Proton is built specifically for containers and serverless deployments.
Proton is entirely free to use, though you will of course pay for all AWS resources your applications run on.
Faster EBS Storage
EBS got an upgrade. The older gp2 general purpose disk was replaced with gp3, which is up to four times faster. These still cap out at 16 TB, and provide single digit millisecond latency, but now do so with 4x higher bandwidth with up to 1000 MB/s per volume. Not only that, they are actually 20% cheaper per GB than existing gp2 volumes.
The high end io2 volumes now have io2 Block Express, which is just an increase in the maximum IOPS you can provision. Naturally, these will be a lot more expensive, but the focus of these is maximum performance, not price/performance.
New EC2 Instances
EC2 got a couple new instances. One of the weirdest ones is EC2 Mac Instances, which is exactly what you think, a Mac Mini in the cloud. The point of this is to make it easy to provision and rent Mac based virtual environments for developers. There’s only the one instance type, mac1.metal, which comes with 12 cores and 32 GB of RAM.
C6g, M6g, and R6g Instances are all based on AWS’s ARM based Graviton2 processor and support 100 Gbps networking. They’re advertised as delivering up to “40% better price performance” over x86 instances, though in specific workloads. Either way, AWS’s custom silicon is very promising, and the Graviton2 chip competes well with x86 processors.
The new D3 series delivers the highest local storage capacity in the cloud. The feature faster disk speed and up to 336 TB of space, at 80% lower cost-per-TB of storage compared to D2 instances.
R5b, a new series of AWS’s memory focused R5 database instances. Not much new but considering block storage is often a bottleneck for write-heavy operations, this will be a great upgrade for many people.
G4dn is a new GPU instance designed to deliver the best price to performance for graphics and machine learning models. They’re powered by up to 8 NVIDIA T4 GPUs, 96 vCPUs, 100 Gbps networking, and 1.8 TB local NVMe-based SSD storage.
Lastly, they announce M5zn instances, which are pretty basic except having a high clock up to 4.5 GHz and 100 Gbps networking.
Running ECS and EKS on Your Infrastructure
AWS usually likes to sell you on their own compute power, but occasionally they allow customers to run their services using their own hardware.
AWS ECS Anywhere and EKS Anywhere do just that, allow you to run ECS and EKS on your own managed servers. You can start up ECS tasks, and configure them to run on your hardware, provided your servers are running the AWS ECS Agent and configured to connect to your AWS account.
No pricing information so far, but since it runs on your own hardware, it’ll likely be free or at least much cheaper to use.
Aurora Updates
The first is Babelfish, a new translation layer that provides Microsoft SQL Server compatibility for Aurora PostgreSQL. The result is that Aurora basically supports SQL Server now with a few tweaks, and while it’ll still require some code changes, it won’t be a major rewrite.
The other is Aurora Serverless 2, an upgrade over the existing serveless configuration that should make it easier to run a massive autoscaling cluster that can handle hundreds of thousands of transactions in a fraction of a second. Now, instead of doubling capacity every time a workload needs to scale, it adjusts capacity in fine-grained increments. It also supports Multi-AZs, Global Databases, and read replicas.