Small Tip: AWS announces T2 instance types

2014/07/04 AWS, Development, DevOps, Operations, Small Tip , , , , , , ,

One of the oldest and probably one of the most popular instance types, the t1.micro was recently upgraded by AWS. Three new instance types were introduced to fill the gap between t1.micro and the current-next, m3.medium. The new generation is called T2, uses only HVM based virtualization and comes with EBS only store support. There are three new instance types:

  1. t2.micro
  2. t2.small
  3. t2.medium

Those instance types are all “Burstable Performance Instances” which means they are suitable for unsustained loads. This is also supported by the EBS Only store, which effectively means that high-volume I/O is out of the question. The fact that those instances are all using HVM-based virtualization, however, supports quick SCALE-UP to more potent instance types, if needs arise. One notable remark here is that T2 instances are VPC-only, which is a strong indication of the will to move everything into VPCs nowadays. AWS wants you to start using VPCs from the start!

The instance resource matrix now looks like this:

Instance TypeVirtualization TypeCPU CoresMemoryStorage
t1.microPV10.613 GBEBS Only
t2.microHVM11 GBEBS Only
m1.smallPV11.7 GBEBS Only
t2.smallHVM12 GBEBS Only
m3.mediumHVM13.75 GBEBS + SSD
t2.mediumHVM24 GBEBS Only

As stated by AWS, the target uses for the new, T2 instance type family, includes:

  • Development environments;
  • Private experimentation;
  • Educational use;
  • Build servers / Code repositories;
  • Low-traffic web applications;
  • Small databases.

To evaluate the meaning of “Burstable Performance Instances“, here are CPU benchmark results on several instance instance types:

Instance TypeDES crypts/sMD5 crypts/sBlowfish crypts/sGeneric crypts/s
t1.micro~ 2 407 000~ 6 869~ 442~ 187 257
t2.micro~ 4 757 000~ 14 164~ 851~ 344 928
m1.small~ 1 218 000~ 3 480~ 222~ 92 870
t2.small~ 4 993 000~ 14 245~ 854~ 347 961
m3.medium~ 2 272 000~ 6 429~ 386~ 158 342
t2.medium~ 5 045 000~ 14 592~ 878~ 356 544

All instances use detault settings for storage, Amazon Linux AMI 2014.03.2, John The Ripper 1.8.0, measuring real crypts with many salts! The test is fairly synthetic, but answers the key question: What difference does it make to have a Burstable instance type? And the answer: If CPU load is not sustainable, it’s more than twice as fast!

Price-wise the new instance types are also better. Cost reduction of On Demand prices of more than 35% allows you to run t2.micro for less than 10 USD/m! Watch out, DigitalOcean! Obviously, Amazon wants change the already established “AWS for business, DigitalOcean for home” mantra into “AWS Everywhere”.

In conclusion, the new, T2 instance type family, closes the gap between unacceptably low performance instance type (t1.micro) and too expensive instances types (m1.small, m3.medium) which creates the sweet-spot for entry users, cloud enthusiast and home users. As someone said: “Now you have an instance type to run WordPress on!”

Small Tip: AWS tools are case sensitive, AWS Web Interface is not

2014/06/02 AWS, DevOps, Small Tip No comments , , , , , , ,

In a recent investigation, we found an interesting difference between AWS command line tools (based on Boto library) and AWS Web interface. Apparently, command line tools are case sensitive while AWS Web interface is not. This can potentially lead to automated scaling issues. Tooling may not get ‘the full picture’ if tags are mixed-case and software does not account for that.

Lets start with simple example …

We have the following EC2 instances in AWS Account:
Screen Shot 2014-06-02 at 10.03.04 AM

Search for the term ‘TEST-NODE’ yields the same results as searching for ‘test-node’ in the AWS Web interface.

Searching for ‘TEST-NODE':
Screen Shot 2014-06-02 at 10.03.27 AM

Searching for ‘test-node':
Screen Shot 2014-06-02 at 10.03.49 AM

… it behaves the same way. It is case-insensitive.

However, commend line tools will produce totally different output.

Searching for ‘TEST-NODE':

Searching for ‘test-node':

Python + Boto shows the same behavior (not surprisingly, AWS CLI uses Boto):

Searching for ‘TEST-NODE':

Searching for ‘test-node':


There are multiple possible solutions to this issue. With the cost of few extra cycles one can make sure proper comparison is implemented: