lunes, 22 de octubre de 2012

AWS EC2 instances historical data

I´ve collected historical data for AWS EC2 in order to represent graphically the evolution of on-demand instance types and their hourly usage prices. The following interactive motion chart has been built with the aid of Google Chart Tools.

The chart represents the relationships between: instance type (using the API name), instance family, CPU speed (approximation, see below), memory size, storage size, storage performance and price (for one region, see below). You can choose axis variables and track the evolution of prices of each type of instance using the interactive chart.

CPU speed has been calculated multiplying each virtual machine ECUs by 1.2 to obtain a GHz approximation. This has been done following the AWS definition: "One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor." 

Price information belongs to the us-east-1 region instances (Northern Virginia). I´ve chosen this region because is the oldest one and implements all types of instances. The operating system of reference is linux, to avoid taking account of the added licensing costs.

Some interesting things can be seen using the graphic:
  • When using CPU in horizontal axis and memory size in the vertical axis, both in logarithmic scales (like in the picture) an almost constant scalation factor of CPU and memory appears between instance steps.
  • Because of this the instances bubbles appear to reside in two lines, almost equally separated between them. As it is expected, one line is memory intensive (m1, m2 families) and the other line is CPU intensive (c1, cc1, cc2 families)
  • Althoug t1.micro seems to belong to the CPU intensive line, actually the 2 ECUs are allocated only for usage in short spikes.
  • Storage size and I/O perfomance can be shown in the same graph using bubble color and sizes, with CPU and memory size in the axis. This can give a more complete view of the performance of all instances in the AWS portfolio.
  • Trend line graph (topmost right icon) can be used to show the lowering prices trending in the latest years for each type of instance.
The database of features and prices, with information for all EC2 regions can be downloaded here (go to File->Open with, to export to a google spreadsheet). The table shows a dump of prices in each region for each date a relevant change has been done (e.g.: hourly price changes but also the addition of new instance types or new regions).

All information has been collected from Internet Archive WayBack Machine old AWS pricing tables. Pricing data are available until March 2011 when pricing tables began to be generated through javascript code and therefore have not been registered since then in the archive. The dates of relevant changes have been adjusted from the wayback machine snapshots timestamps using the announces in the awesome AWS blog and Amazon EC2 release notes log pages. Some data are still missing, namely:
  • us-west-1 and sa-east-1 pricings before AWS lowered prices in March 2012
  • cc1.4xlarge, cc2.8xlarge and cg1.4xlarge windows instances prices before AWS lowered prices in March 2012
  • m2 family instances introduction prices, before AWS lowered prices in November 2009
If you happen to know any of these data, or find any error in the data source, I will be glad to be notified (please add a comment) to fix the source data and graphs.

1 comentario: