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.
Preface; What???s in This Book?; Ruby and Interactive Examples; Conventions Used in This Book; Using Code Examples; Safari?? Enabled; How to Contact Us; Acknowledgments; Chapter 1: Infrastructure in the Cloud; 1.1 Amazon Web Services for Infrastructure; 1.2 Thinking Like Amazon; 1.3 Reality Check; 1.4 Interfaces: REST and Query Versus SOAP; Chapter 2: Interacting with Amazon Web Services; 2.1 REST-Based APIs; 2.2 User Authentication; 2.3 Performing AWS Requests; Chapter 3: S3: Simple Storage Service; 3.1 S3 Overview; 3.2 Interacting with S3; 3.3 Buckets; 3.4 Objects; 3.5 Alternative Hostnames; 3.6 Access Control Lists; 3.7 Server Access Logging (Beta); 3.8 Signed URIs; 3.9 Distributing Objects with BitTorrent; Chapter 4: S3 Applications; 4.1 Share Large Files; 4.2 Online Backup with AWS::S3; 4.3 S3 Filesystem with ElasticDrive; 4.4 Mediated Access to S3 with JetS3t; Chapter 5: EC2: Elastic Compute Cloud (Beta); 5.1 EC2 Overview; 5.2 Interacting with EC2; 5.3 Keypairs; 5.4 Network Security by IP; 5.5 Finding Amazon Machine Images; 5.6 Controlling Instances; 5.7 Log In to an Instance; 5.8 Security Groups; 5.9 Managing and Sharing AMIs; 5.10 Console Output and Instance Reboot; Chapter 6: Using EC2 Instances and Images; 6.1 EC2 Instances in Detail; 6.2 Data Management in EC2; 6.3 Modifying an AMI; 6.4 Registering an AMI; 6.5 Create an AMI from Scratch; Chapter 7: EC2 Applications; 7.1 Dynamic DNS; 7.2 On-Demand VPN Server with OpenVPN; 7.3 Web Photo Album with Gallery 2; Chapter 8: SQS: Simple Queue Service; 8.1 SQS Overview; 8.2 Interacting with SQS; 8.3 Queues; 8.4 Messages; 8.5 Queue Attributes; 8.6 Queue Access Control; Chapter 9: SQS Applications; 9.1 Messaging Simulator; 9.2 Distributed Application Services with BOTO; 9.3 Automated Management of EC2 Instance Pools with Lifeguard; Chapter 10: FPS: Flexible Payments Service (Beta); 10.1 FPS Overview; 10.2 Interacting with FPS; 10.3 Managing Your Tokens; 10.4 Acquiring Third-Party Tokens; 10.5 Pay Now Widgets; Chapter 11: FPS Transactions and Accounts; 11.1 Performing FPS Transactions; 11.2 Account Management and Information; Chapter 12: FPS Advanced Topics; 12.1 Gatekeeper Language Guide; 12.2 Micropayments with FPS; 12.3 Building a Marketplace Application; 12.4 Subscribing to FPS Event Notifications; Chapter 13: SimpleDB (Beta); 13.1 SimpleDB Overview; 13.2 Interacting with SimpleDB; 13.3 Domains; 13.4 Items and Attributes; 13.5 Representing Data in SimpleDB; 13.6 Performing Queries; 13.7 Stock Price Database: A Mini SimpleDB Application; AWS Resources; AWS Online Resources; Client Tools; API Libraries; Third-Party AWS Solutions; AWS API Error Codes; S3: Simple Storage Service; EC2: Elastic Compute Cloud; SQS: Simple Queue Service; FPS: Flexible Payments Service; SimpleDB; Colophon;