Getting the best performance from your systems is crucial, but getting consistent performance is even more important. It guarantees a satisfactory user experience and even sets the stage for building more capabilities on top of the system, Amazon Chief Technology Officer Werner Vogels said Thursday at the AWS re:Invent 2013 user conference in Las Vegas.
"If you improve consistency of performance, then it is easy for you to build your application," Vogels said.
Vogels launched into the discussion of consistency and performance as a way of explaining a new type of Amazon EC2 (Elastic Cloud Compute) computing instance, called I2, that will offer guaranteed I/O (input/output) performance. That means Amazon guarantees the speed at which data is written to data stores, as well as the speed at which it is read from these data sources to the customer's application.
"If you care about performance, it's all about the I/O. The most important thing is not that you get the highest possible I/O, but that you get consistent performance," Vogels said. "If you get consistent performance, you can build on top of that."
Amazon did not define what the abbreviation I2 stands for, though the service was developed to meet growing customer demand for more IOPS (input/output operations per second) on EC2, said Ariel Kelman, the head of worldwide marketing for AWS, in a follow-up interview.
In particular, databases, both relational and NoSQL, would benefit from consistently high I/O performance, Kelman said.
For many operations, such as writing a large file to storage, some variance in the time it takes to write that data to disk is no big deal. But for a multi-tier application making lots of small reads and writes, such as SAP running on an Oracle database, such variance can appear to the user as jitter or even, in extreme cases, as if the application has stopped working entirely.
Having a guaranteed I/O rate also can simplify a system's architecture, Vogels explained. For example, the system may not need to have additional tiers, such as caching software, to smooth out varying performance. A consistent I/O also makes it easier to build additional capabilities on top of the system, because the system engineers will know the exact rates of input and output that the new feature can expect.
OLTP (online transaction processing) applications "are very chatty, and they can't handle a lot of latency in response," Kelman said. "You need very low latency of I/O."
Vogels explained that Amazon built I2 using solid-state drives (SSDs) rather than spinning hard drives. SSDs offer a lot more consistent I/O than do hard drives, Vogels said.
"It's hard to get consistent performance" out of hard disks, Vogels said. Due to the time it takes for the hard drive's mechanical head to jump from one location of the platter to the next, occasionally a read or write operation will take far longer than the average performance of that disk, he said.
In contrast, flash drives "are really good at providing consistent rapid I/O," Vogels said. For SSDs, any cell of data is equally as accessible as any other cell. "If you are really interested in building system performance, then you need SSDs as the core of your system to manage I/O."
To back up his point, Vogels referenced a presentation from engineers at Instagram that found that moving to SSDs allowed the service to deliver data to its service 20 times as quickly.
AWS has not announced when I2 instances will be ready for consumption, though it did provide more information about their configuration.
I2 will come in five different instances that span from one to eight 720GB SSDs. The largest I2 instance, called i2.8xlarge, will deliver 350,000 random read IOPS and 320,000 random write IOPS.