Six new features that help reduce AWS spend announced at reInvent 2017

AWS continues to dominate the public cloud space with ever impressive products, services and their announcements seem to accelerate pace every year during reInvent. As usual, at reInvent 2017 AWS announced major products and features across a broad spectrum of services. We counted 61 major product announcements on the reInvent 2017 Product announcement page!

Cost optimization is major area of interest to FittedCloud customers. So we wanted to make an attempt at identifying features that may help customers optimize resource utilization and reduce cost.  Here is what we came up with.  Hope you find it useful.

AWS Fargate

AWS Fargate is a technology that helps ECS customers run containers without the need to manage underlying EC2 infrastructure. So far, it was the responsibility of customers to configure ECS clusters with appropriate resources provisioned, monitor them for proper utilization, scale up or down resources as needed etc. Fargate greatly simplifies the container infrastructure management allows customers to focus on container application development which is what public cloud services should be all about. Currently Fargate only supports ECS. EKS support is expected in 2018.

With this feature AWS not only simplifies the overall ECS management, but also helps customers reduce cost of running ECS clusters.  This is another significant milestone in the direction of offering services that are no longer tied to underlying infrastructure.  As is the case with most of the public cloud resources, before Fargate ‘right-sizing’ ECS cluster resources was the responsibility of customers.

Cost Reduction Opportunity
By carefully configuring compute and memory resource requirements for containers potential reduction is cost is possible. It should also be noted that those who have already done optimization actions such as starting and stopping ECS clusters on a need basis and maximizes the utilization of available resources, the cost reduction may be limited. It should be expected that a theoretical fully optimized ECS cluster may be cheaper than Fargate due to management costs AWS may impose (Maybe we will do a full analysis of this in a future blog).

While the need to select EC2 instances types etc. goes away, customers still need to figure out right number of CPUs and the amount of memory needed (there are 50 combinations of vCPU and memory!). In a certain sense, it shifts the problem from the EC2 level to container level.

Useful links
Announcement
Product Overview
Pricing
Documentation

EC2 M5 Instances

AWS continues to update EC2 instance type offerings to update underlying hardware capabilities and offer better price/performance ratio. M5 is the next generation general purpose compute instance powered by 2.5 GHz Intel® Xeon Platinum 8175 processors. AWS claims M5 instances are based on Nitro a combination of dedicated hardware and lightweight hypervisor which offers practically all of compute and memory resources to instances. M5 also offers Advanced Vector Extension 512 (AVX-512), which apparently offers 2x per core performance for vector and floating point intensive workloads. M5 introduces a new large instance size, m5.24xlarge, providing 96 vCPUs, 384 GiB of memory for applications that are compute/memory intensive.

Cost Reduction Opportunity
Those that currently use M4 family instances can save 4% by switching to M5 family instances. (Currently there doesn’t appear to be a limitation on conversions). This is possible for instances up to 4xlarge type.

AWS also claims 14% improvement in price/performance compared to M4 instances.

On demand pricing for M5 and M4 families from US West (Oregon) region below.

Useful links
Announcement
Pricing

EC2 H1 Instances

H1 instances are new generation of Storage Optimized instances. H1 instances are meant for application that need high throughput, high sequential access performance and low cost. AWS claims H1 instances are ideal  big data applications that are data-intensive such as MapReduce-based workloads, distributed file systems such as HDFS and MapR-FS, network file systems, log or data processing applications such as Apache Kafka.

H1 instances offer local storage (HDDs) and performance up to 1.15GB/s (2 MiB blocks) of sequential read/write performance and enhanced network bandwidth up to 25Gbps.

Cost Reduction Opportunity
While direct configuration comparison is not possible (due to lower storage capacities offered compared to D2 family), for applications that do need certain compute power but lower storage capacities may be able to reduce cost significantly.  For e.g. applications that use D2.xlarge (6 TB minimum) could switch to H1.2xlarge and get twice the compute power, similar memory and 2TB storage space and reduce cost by 20%.  It’s not an apple to apple comparison and a bit of a stretch, but a consideration for those trying to find reduction in any and all possible ways.

Hibernation for Spot Instances

Spot instances typically offering 70%-90% discounts is a great way to reduce cost on AWS. The biggest challenge with spot instances is that spot instances can be taken away if the demand exceeds availability. AWS offers a 2 minute warning before the instance taken away. While applications with built in resiliency can take advantage of spots, this limitation prevents stateful applications from using spot instances.

Hibernation of spot instances expands the use cases of spot instances.  Applications and workloads that are not time sensitive and can take a ‘pause’ can now take advantage of spot instances. The ability to save the memory, storage state allows the applications to continue when the capacity is available allowing customers to potentially save significantly.

Cost Reduction Opportunity
This new feature offers potentially significant cost reduction by moving stateful, time insensitive applications that may be running on on-demand/reserved instances to spot instances.  Savings can be in the range of 70%-90%.

Please note that this feature works only on instance types in C3, C4, M4, R3 and R4 families with memory (RAM) of less than 100 GB running Amazon Linux, Ubuntu and Microsoft Windows operating systems.

Useful Links
Announcement
Documentation

New Spot Pricing Model and Spot on RunInstances

Those use spot extensively are challenged at times by the frequent fluctuation in prices. Building policies and applications while being cost conscious can be a bit troublesome while using spots. Due to the pricing volatility customers tend to build applications that favor availability more than the cost reduction. AWS claims to be moving to a model where spot prices move more gradually based on longer term trends.  It is unclear what AWS means by this and how exactly this gets implemented. (In a real time bidding system short term availability/demand should determine the price). In any case, changing the pricing changes to be more gradual may have an impact from a cost savings point of view.

Cost Reduction Opportunity
It is possible that applications that use spot instance may benefit from reduced volatility and may see reduced cost.

Useful Links
Announcement

Amazon Aurora Serverless

Aurora is a fully managed highly scalable, high performance relational database service (RDS) offered by AWS. As is the case with most of the AWS services, customers need to create RDS instances/clusters based on the application needs. Customers pay for the provisioned capacity (RDS instances, storage). Rightsizing RDS instances has been a challenge for customers (no surprise here).

With Aurora Serverless, AWS offers RDS without the need to manage underlying infrastructure. Databases will automatically start, stop, scale up or down based on application needs. Customers specify and maximum and minimum capacity. Capacity is measured in Aurora Capacity Units (ACU). 1 ACU has approximately 2 GB of memory with corresponding CPU and networking, similar to what is used in Aurora Standard instances. Storage capacity charges are additional and based on actual usage. Currently this feature is in preview and available only for Aurora MySQL-compatible edition.

Cost Reduction Opportunity
Aurora Serverless could potentially reduce RDS cost significantly, as the pricing is based on the actual usage.

We do however remain concerned about the need to specify a maximum and minimum capacity (how do you know what is the optimum maximum and minimum), as most often customers tend to over provision the minimum and under provision the maximum.

Secondly, our experience with the AWS ‘auto-scaling’ capabilities (which operates in a ‘reactive’ mode) is that scaling down is not always optimum. It is possible that AWS is focused on scaling up and better service availability than accurate scaling down/reducing cost.

Useful Links
Announcement