Building on the success of its storefront and fulfillment services, Amazon now allows businesses to "rent" computing power, data storage and bandwidth on its vast network platform. This book demonstrates how developers working with small- to mid-sized companies can take advantage of Amazon Web Services (AWS) such as the Simple Storage Service (S3), Elastic Compute Cloud (EC2), Simple Queue Service (SQS), Flexible Payments Service (FPS), and SimpleDB to build web-scale business applications.
With AWS, Amazon offers a new paradigm for IT infrastructure: use what you need, as you need it, and pay as you go. Programming Amazon Web Services explains how you can access Amazon's open APIs to store and run applications, rather than spend precious time and resources building your own. With this book, you'll learn all the technical details you need to:
Store and retrieve any amount of data using application servers, unlimited data storage, and bandwidth with the Amazon S3 service
Buy computing time using Amazon EC2's interface to requisition machines, load them with an application environment, manage access permissions, and run your image using as many or few systems as needed
Use Amazon's web-scale messaging infrastructure to store messages as they travel between computers with Amazon SQS
Leverage the Amazon FPS service to structure payment instructions and allow the movement of money between any two entities, humans or computers
Create and store multiple data sets, query your data easily, and return the results using Amazon SimpleDB.
Scale up or down at a moment's notice, using these services to employ as much time and space as you need
Whether you're starting a new online business, need to ramp up existing services, or require an offsite backup for your home, Programming Amazon Web Services gives you the background and the practical knowledge you need to start using AWS. Other books explain how to build web services. This book teaches businesses how to take make use of existing services from an established technology leader.
Chapter 1 Infrastructure in the Cloud
Amazon Web Services for Infrastructure
Thinking Like Amazon
Interfaces: REST and Query Versus SOAP
Chapter 2 Interacting with Amazon Web Services
Performing AWS Requests
Chapter 3 S3: Simple Storage Service
Interacting with S3
Access Control Lists
Server Access Logging (Beta)
Distributing Objects with BitTorrent
Chapter 4 S3 Applications
Share Large Files
Online Backup with AWS::S3
S3 Filesystem with ElasticDrive
Mediated Access to S3 with JetS3t
Chapter 5 EC2: Elastic Compute Cloud (Beta)
Interacting with EC2
Network Security by IP
Finding Amazon Machine Images
Log In to an Instance
Managing and Sharing AMIs
Console Output and Instance Reboot
Chapter 6 Using EC2 Instances and Images
EC2 Instances in Detail
Data Management in EC2
Modifying an AMI
Registering an AMI
Create an AMI from Scratch
Chapter 7 EC2 Applications
On-Demand VPN Server with OpenVPN
Web Photo Album with Gallery 2
Chapter 8 SQS: Simple Queue Service
Interacting with SQS
Queue Access Control
Chapter 9 SQS Applications
Distributed Application Services with BOTO
Automated Management of EC2 Instance Pools with Lifeguard
James Murty is a software developer with extensive experience creating web-based applications and architectures using Java. With a working background spanning a research institute, a small software house and various corporations he has a broad perspective on both the promise and the difficulties inherent in networked applications.
Most recently James has been excited to see the rise of webapplications and services that provide compelling new tools and new ways of approaching old problems. While experimenting in this area he created JetS3t, an open source library and application suite that is the leading Java implementation available for Amazon's S3 data storageservice.
The animal on the cover of Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB is an Atlantic wreckfish (Polyprion americanus). The wreckfish is a deepwater fish that dwells near the bottom of the ocean, where it lives a solitary life in caves and shipwrecks (hence, its common name).
So solitary is the wreckfish that it does not guard its eggs or young. Instead, it spends its time feeding on cephalopods, crustaceans, and other fish it finds near its habitat.
In restaurants and at seafood counters, many people know the wreckfish by another name--the sea bass--although it is just one of several types of fish sold under this name. Catching the wreckfish became popular in the mid-1980s, after fishers discovered a heavy population of wreckfish off the coast of South Carolina.
The fish soon proved to be too popular, however, as in the 1990s, its population declined. Today, deep-sea fisheries manage the population and distribution of thewreckfish so that its numbers remain stable and local habitat remains unharmed.
The cover image is from Wood's Reptiles, Fishes, Insects, &c. The cover font is Adobe ITC Garamond. The text font is Linotype Birka, the heading font is Adobe Myriad Condensed, and the code font is LucasFont's TheSans Mono Condensed.
Comments about oreilly Programming Amazon Web Services:
I found this book to be informative and useful in developing my understanding of AWS. I really liked the organization of the material and the order in which the topics were laid out. The code examples were provided in Ruby, which was an extremely great decision on behalf of O'Reilly.
My biggest complain about this book (and one which couldn't have been avoided at the time they wrote this book) is that it is currently outdated. Granted, everything the author wrote at the time the book was published was true about AWS. But several of his complaints have since been handled quite well by Amazon, and they are no longer problems.
If you want to gain a broad understanding of AWS, I recommend buying this book. Just keep in mind that if the author says "Something like YYY can't be done with AWS" --chances are, it probably can now.