Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Programming Amazon EC2
SPECIAL OFFER: Upgrade this ebook with O’Reilly
Foreword
Preface
Audience
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
Acknowledgments
1. Introducing AWS
From 0 to AWS
Biggest Problem First
Infinite Storage
Computing Per Hour
Very Scalable Data Store
Optimizing Even More
Going Global
Growing into Your Application
Start with Realistic Expectations
Simply Small
Growing Up
Moving Out
“You Build It, You Run It”
Individuals and Interactions: One Team
Working Software: Shared Responsibility
Customer Collaboration: Evolve Your Infrastructure
Responding to Change: Saying Yes with a Smile
In Short
2. Starting with EC2, RDS, and S3/CloudFront
Setting Up Your Environment
Your AWS Account
Command-Line Tools
AWS Management Console
Other Tools
Choosing Your Geographic Location, Regions, and Availability Zones
Choosing an Architecture
Creating the Rails Server on EC2
Creating a Key Pair
Finding a Suitable AMI
Setting Up the Web/Application Server
Launching an instance (Request Instances Wizard)
Setting up the instance
Creating and using an EBS volume
Creating and associating an EIP
Installing the software
Creating a custom image
Provisioning the instance at boot/launch
User data
RDS Database
Creating an RDS Instance (Launching the DB Instance Wizard)
Is This All?
S3/CloudFront
Setting Up S3 and CloudFront
Static Content to S3/CloudFront
Case study: Publitas—CloudFront to the rescue
Making Backups of Volumes
Installing the Tools
Running the Script
In Short
3. Growing with S3, ELB, Auto Scaling, and RDS
Preparing to Scale
Setting Up the Tools
S3 for File Uploads
User Uploads for Kulitzer (Rails)
Elastic Load Balancing
Creating an ELB
Difficulties with ELB
Auto Scaling
Setting Up Auto Scaling
Launch configuration
Autoscaling group
Autoscaling (alarms and policies)
Semiautoscaling
Auto Scaling in Production
Pausing Auto Scaling
Replacing the launch configuration
Changing the alarms
Changing the autoscaling group
Decommissioning an autoscaling group
Scaling a Relational Database
Scaling Up (or Down)
DB instance classes
Scaling Out
Storage engine
Tips and Tricks
Disk is slow
Slow log
Storage
Elastic Beanstalk
In Short
4. Decoupling with SQS, SimpleDB, and SNS
SQS
Example 1: Offloading Image Processing for Kulitzer (Ruby)
Example 2: Priority PDF Processing for Marvia (PHP)
Installing the tools for PHP
Writing messages
Reading messages
Example 3: Monitoring Queues in Decaf (Java)
Getting the queues
Reading the queue attributes
Checking a specific queue attribute
SimpleDB
Use Cases for SimpleDB
Example 1: Storing Users for Kulitzer (Ruby)
Adding a user
Getting a user
Example 2: Sharing Marvia Accounts and Templates (PHP)
Adding an account
Getting an account
Incrementing the counter
Example 3: SimpleDB in Decaf (Java)
Listing domains
Listing items in a domain: select
Getting domain metadata
SNS
Example 1: Implementing Contest Rules for Kulitzer (Ruby)
Preparing tools for SNS in Ruby
Topics per contest
Subscribing to registration updates
Publishing messages to a topic
Deleting a topic
Publishing to Facebook
Example 2: PDF Processing Status (Monitoring) for Marvia (PHP)
Creating a topic for an account
Subscription and confirmation
Publishing and receiving status updates
Example 3: SNS in Decaf (Java)
Listing topics
Subscribing to a topic via email
Sending notifications on a topic
In Short
5. Managing the Inevitable Downtime
Measure
Up/Down Alerts
Monitoring on the Inside
Monitoring on the Outside
CloudWatch
ELBs
Region
Understand
Why Did I Lose My Instance?
Spikes Are Interesting
Predicting Bottlenecks
Improvement Strategies
Benchmarking and Tuning
The Merits of Virtual Hardware
Replace hardware
Scaling up
Auto Scaling group of one
In Short
6. Improving Your Uptime
Measure
EC2
Dimensions
Metrics
ELB
Dimensions
Metrics
RDS
Dimensions
Metrics
Using Dimensions from the Command Line
Alerts
Understand
Setting Expectations
Viewing Components
Improvement Strategies
Planning Nonautoscaling Components
Tuning Auto Scaling
In Short
7. Managing Your Decoupled System
Measure
S3
SQS
Queue size
Latency
Throughput
SimpleDB
Size
Fragmentation
SNS
Burst factor
Understand
Imbalances
Bursts
Improvement Strategies
Queues Neutralize Bursts
Notifications Accelerate
In Short
8. And Now…
Other Approaches
Private/Hybrid Clouds
Thank You
Index
About the Authors
Colophon
SPECIAL OFFER: Upgrade this ebook with O’Reilly
← Prev
Back
Next →
← Prev
Back
Next →