Today, Amazon Web Services–its collection of cloud offerings–is a leader in an industry it had a major part in creating. AWS is a sprawling ecosystem with data centers around the world serving major corporate and government clients (including the CIA and NASA), changing the way internet startups get launched (including Pinterest) and even serving the computing needs of Amazon retail competitors (like Netflix). Amazon now faces increasingly tough competition in this space from well-financed and technically advanced competitors like Microsoft and Google. So how did this come to be in just over a decade?
It all started with the vision of Chris Pinkham–VP of IT infrastructure at Amazon at the time–of a revolutionary retailing computing infrastructure that was standardized, automated, and would rely on web services such as storage, content delivery, database, computing and networking. In the presentation to Jeff Bezos, there was also a mention of selling “virtual servers” as a service, generating revenue from the massive infrastructure investment Amazon had already made over the years to support its own retailing operations. With all of the talk about the cloud these days, it’s hard to remember how novel this idea was at the time.
The first AWS service launched for public usage was Simple Queue Service (SQS) in November 2004. SQS is a scalable, fully managed message queuing service that can transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available. Most importantly, it was known to be fast and reliable.
With the official launch taking place in 2006, AWS was created to provide online services to other websites or client-side applications. The services are accessed over HTTP, using the REST architectural style and SOAP protocol. Not too long after, Amazon EC2 was built by Chris Pinkham and a team of professionals in South Africa (where Chris had previously started and sold one of South Africa’s first commercial ISPs).
Amazon’s cloud offerings are extensive and focused on serving specific users and needs. Here’s a look at the different services.
Amazon Elastic Compute Cloud (EC2) provides scalable virtual private servers using Xen, a hyper-visor using a micro-kernel design, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. This was designed to help make cloud computing easier for developers. Amazon EC2’s web service interface allows users to obtain and configure capacity with minimal friction. It provides users with absolute control of their computing resources and lets them run on Amazon’s solid computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing users to quickly scale capacity, both up and down, as the computing requirements change. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios.
Amazon Elastic MapReduce (EMR) allows businesses, researchers, data analysts and developers to efficiently and cost effectively process vast amounts of data. This used a hosted Hadoop framework running on the web-scale infrastructure of EC2 and Amazon S3.
Amazon Route 53 is part of Amazon’s cloud computing platform. Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service. It was initially designed to give developers and businesses an extremely reliable and cost effective way to route end users to Internet applications by translating names into IP addresses so computers could connect to each other.
Amazon Virtual Private Cloud (VPC) is a commercial cloud computing service that provides users a virtual private cloud and lets you provision a logically isolated section of Amazon Web Services (AWS) Cloud where you can launch AWS resources in a virtual network that you define. VPC gives you absolute control over your virtual networking environment, including personalized selection of an IP address range, creation of sub-nets, and configuration of route tables and network gateways.
Amazon CloudFront aka content delivery network (CDN) integrates with other Amazon Web Services products to give developers and businesses an easy way to distribute content to end users with low latency, high data transfer speeds, and no minimum usage commitments. Amazon CloudFront can be used to deliver your entire website, including dynamic, static, streaming, and interactive content using a global network of edge locations.
Amazon Simple Storage Service (S3) provides developers and IT teams with secure, durable, highly-scalable object storage. S3 is easy to use, with a simple web services interface to store and retrieve any amount of data from anywhere on the web. It can also be used alone or together with other AWS services such as Amazon Elastic Compute Cloud (EC2), Amazon Elastic Block Store (Amazon EBS), and Amazon Glacier, as well as third party storage repositories and gateways.
Amazon Glacier is a secure, durable, and extremely low-cost storage service for data archiving and online backup. Customers can comfortably store large or small amounts of data for as little as $0.01 per gigabyte per month, a significant savings compared to on-premises solutions. Amazon Glacier is optimized for infrequently accessed data where a retrieval time of several hours is suitable, maximizing cost-effectiveness.
Amazon Elastic Block Store (EBS) provides persistent block level storage volumes for use with Amazon EC2 instances in the AWS Cloud. Each Amazon EBS volume is automatically duplicated within its Availability Zone to protect users from component failure, offering high availability and durability. Amazon EBS volumes offer the consistent and low-latency performance needed to run workloads of all sizes. With Amazon EBS, users can scale your usage up or down within minutes, paying for only what you provision.
Amazon SimpleDB: “The Core Functionality of a Database” is a highly available and flexible non-relational data store that offloads the work of database administration. Developers simply store and query data items via web services requests and Amazon SimpleDB does the rest. Freed from the strict requirements of a relational database, Amazon SimpleDB is optimized to provide high availability and flexibility, with little or no administrative burden. Behind the scenes, Amazon SimpleDB creates and manages multiple geographically distributed replicas of the users’ data automatically to enable high availability and data durability.
Amazon Kinesis is a fully managed, cloud-based service for real-time processing of large, distributed data streams. Kinesis has the ability to continuously capture and store terabytes of data per hour from hundreds of thousands of sources such as website financial transactions, social media feeds, IT logs, and location-tracking events. Users can also emit data from Amazon Kinesis to other AWS services such as Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon Elastic Map Reduce (Amazon EMR), and AWS Lambda.