Will AWS T2 Replace 30 Percent of Instances? Not So Fast

You’ve reached an archived blog post that may be out of date. Please visit the blog homepage for the most current posts.

Yesterday AWS announced a new T2 family of instances. The T2 family comes in three sizes: micro (1 vCPU, 1GB RAM), small (1 vCPU, 2GB RAM), and medium (2 vCPU 4 GB RAM). These new instance types are the next generation for the heavily used t1.micro instances and they should also be viewed as a potential replacement for m1.small. In fact, AWS is now labeling m1.small as a “previous generation” instance type.

Based on an analysis of AWS instances chosen by RightScale users, m1.small is the most used instance type (19 percent), followed by m1.large (15 percent), and t1.micro (10 percent). As a result, this change impacts almost 30 percent of the fleet of currently running instances.

However, it’s important to note that although the new t2.small instances are 40 percent cheaper than the m1.small instances, the m1.small instances include storage, while the new T2 instances do not. In addition, the T2 family operates as a shared CPU model. For example, at baseline, the t2.small instance gives you only 20 percent of a CPU core. AWS calls this burstable performance, and describes it as follows:

“For example, a t2.small instance receives credits continuously at a rate of 12 CPU Credits per hour. This capability provides baseline performance equivalent to 20% of a CPU core. If at any moment the instance does not need the credits it receives, it stores them in its CPU Credit balance for up to 24 hours. If and when your t2.small needs to burst to more than 20% of a core, it draws from its CPU Credit balance to handle this surge seamlessly.”

AWS provides CloudWatch metrics to track the balance and usage of CPU credits. AWS Chief Evangelist Jeff Barr blogged more details on how CPU credits work.

Good for Development, Not for Auto-Scaling
AWS is targeting T2s at use cases that often require only a fraction of CPU power, including development environments, build servers, code repositories, low-traffic web applications, early product experiments, and small databases.

However, RightScale customers often use the “old” m1.small instances in auto-scaling server arrays. As load increases beyond certain thresholds, additional m1.smalls are added according to auto-scaling rules set up by a RightScale user. Using m1.smalls enables customers to scale in small, low-cost increments.

During auto-scaling, the m1.smalls will reach higher levels of CPU utilization before additional m1.smalls are added. The CPU limits associated with t2.small or t2.medium will not likely be a fit for this use case. Customers with similar use cases will want to stick with m1.small instances or move to fixed performance instances such as the m3.medium. Keep in mind that m1.smalls may become less available over time as AWS upgrades its data centers.

Comparing CPU Gets Tricky
While the T2 family has 1 or 2 vCPUs, you are sharing the vCPU so only get a percentage of the vCPU power. AWS also provides an ECU measure (EC2 Compute Unit) that describes the relative measure of processing power for different instance types. However, in the case of T2 instances, the published ECU ratings are “Variable” due to the bursting capabilities, which makes it difficult to compare with other instance types.

Will T2 Be Cheaper?
The chart below plots cost vs. RAM for the T2 and other lower-end AWS instance types. The T2 family offers a lower cost than the M1 and M3 families with equivalent memory, but does so at the expense of CPU. For AWS instances with low CPU utilization and no need for instance storage, it provides a well-spaced set of options. However, users that don’t fit those criteria will still need to rely on m1.smalls to bridge the gap.

For AWS customers moving from t1.micro to t2.micro, the price/performance benefit is clear with a price reduction of 35 percent, more memory, and a promise of more consistent performance. However, customers who are looking to save money and who are currently using an m1.small with a CPU utilization of more than 20 percent would potentially need to upgrade to t2.medium (40 percent CPU and a 2 percent increase in price over m1.small) or m3.medium (a 59 percent increase in price over m1.small) to meet those needs. These customers may want to evaluate carefully before considering T2 as a replacement.

In addition, anyone leveraging storage on an m1.small will have to evaluate the overall costs after paying for EBS storage. However, adding an equivalent amount of EBS magnetic storage to T2 instances (160 GB is included with m1.small) would add only about $.01 per hour to the cost.

In comparison to similar instance types, AWS has now leapfrogged Google to offer more memory at an equivalent or lower price. Prices below are based on AWS US East instances running Linux.

Bottom Line:
The new T2 family of instance types could be a good option for development and test workloads, especially continuous integration (CI) and automated testing. T2 instance types are also a fit for single-server workloads where the server sits idle much of the time. However, once a workload reaches a scale where the CPU utilization exceeds 40 percent on average or when multiple servers are brought to bear during auto-scaling, it makes more sense to look at fixed performance instances. Although the price/performance improvements of AWS and other cloud providers continue to offer more value to customers, companies will need to carefully evaluate the fine print of the new T2 instances to see if they make sense for their particular use cases.

To create scenarios that project costs with these new T2 instance types, sign up for a free trial of Cloud Analytics.