We launched Amazon S3 on March 14, 2006 with a press release and a simple blog post. We knew that the developer community was interested in and hungry for powerful, scalable, and useful web services and we were eager to see how they would respond.
S3 and the Amazon Values
Almost every company has a mission statement of some kind. At Amazon.com, we are guided by our Leadership Principles. We use these principles as part of the interviewing process, and revisit them during our annual reviews. I thought back to the launch of S3 and the long string of additional features that we have added to it since then, and tried to match them up to some of the leadership principles.
Customer Obsession - Before we wrote a line of code, we talked to lots of potential customers so that we could have a good understanding of the features that they would like to have in an Internet-scale storage service. We talked to individuals and groups within the company, and to outside developers. The listening process didn't stop when S3 launched. We talk to customers every day and we do our best to listen, understand, and to respond.
Invent and Simplify - True innovation calls for a lot of difficult decisions. The innovator must decide what the product is, and what it is not. We were breaking new ground when we were designing and building S3, and had to figure out how to handle identity, authentication, billing, security, and hundreds of other issues before we could launch the product.
Are Right, A Lot - The first time I heard about S3 internally, I was told that we were building "Malloc for the Internet." As a long-time C programmer, I knew exactly what this meant. Malloc is a very basic C library function — it allocates the requested amount of memory and returns a pointer to it. It is a simple building block for more complex forms of memory management. Equating S3 to Malloc was a key insight, and one that served as a guiding principle when making those early (and crucial) design decisions. Moving forward, we continually remind ourselves that the first "S" in S3 stands for "Simple."
Think Big - Because S3 was designed for the Internet, we had to make sure that the architecture and the implementation contained no intrinsic limits. Today, with trillions of objects stored and an access rate of over one million requests per second, we continue to look to the future, with a well-tuned model that allows us to forecast, plan for, and accommodate the never-ending inflow of new data. Like Malloc, S3 is a dependable architectural component. Amazon EC2, Elastic MapReduce, Elastic Block Store, Amazon Glacier, CloudTrail, Redshift, the Relational Database Service, and other services all make use of S3 for object-style storage.
Earn Trust of Others - It is kind of fun to be in a crowded elevator at a tech conference. The conference attendees talk about S3 very casually, and take its scale, durability, and cost-effectiveness pretty much for granted. I often hear them say things like "Just throw it into S3 and stop worrying about it." S3 has become, as we envisioned at design time, the de facto storage system for the Internet.
AWS at Airbnb
Accommodation booking site Airbnb has been on AWS since they launched. They now use a wide variety of services including S3, EC2, the Relational Database Service (RDS), Route 53, ElastiCache, Redshift, and DynamoDB. With 9 million customers, 1000 EC2 instances, 2 billion rows of data in RDS, and 50 terabytes of photos stored in S3, Airbnb is run by an operations team of just five people.
In the video below, Airbnb VP of Engineering Mike Curtis talks about the benefits that they have seen from using AWS:
Onward and Upward!
Eight years down the road from the launch of S3, I remain as excited as ever about the future of AWS and of cloud computing. I have written and published 1,645 posts since the launch of S3 (972,246 words, but who's counting?) and am doing my best to keep up with all of cool stuff that our teams build. Stay tuned for the next eight years and you won't be disappointed!