How to Run Your Startup on Amazon Web Services Presentation
Document Sample


Running Your Startup on
Amazon Web Services
Alex Iskold
Founder/CEO AdaptiveBlue
Feature Writer ReadWriteWeb
This session is about:
Amazon Web Services (AWS) -
robust, scalable and affordable
infrastructure for cloud computing.
We will cover:
The Basics of Cloud Computing
The Benefits of Using Amazon Web Services
Amazon Web Services Stack
How AdaptiveBlue is using AWS
How you can get started using AWS
Basics of Cloud Computing
Basics of Cloud Computing
Scalable Hardware Layer
QuickTime™ and a QuickTime™ and a QuickTime™ and a QuickTime™ and a QuickTime™ and a QuickTime™ and a
decompressor decompressor decompressor decompressor decompressor decompressor
are neede d to se e this picture. are neede d to se e this picture. are neede d to se e this picture. are neede d to se e this picture. are neede d to se e this picture. are neede d to se e this picture.
Basics of Cloud Computing
Software Infrastructure Layer
Grid Storage Queue
Service Service Service
Scalable Hardware Layer
QuickTime™ and a QuickTime™ and a QuickTime™ and a QuickTime™ and a QuickTime™ and a QuickTime™ and a
decompressor decompressor decompressor decompressor decompressor decompressor
are neede d to se e this picture. are neede d to se e this picture. are neede d to se e this picture. are neede d to se e this picture. are neede d to se e this picture. are neede d to se e this picture.
Example: Storage Service
Storage
Service
QuickTime™ and a
decompressor
are neede d to se e this picture.
Storage
Storage Service
Service New Server
QuickTime™ and a
decompressor
are neede d to se e this picture.
QuickTime™ and a
decompressor
are neede d to se e this picture.
Storage
Service
QuickTime™ and a
The data is automatically
re-partitioned/re-balanced to
decompressor
are neede d to se e this picture.
take advantage of the new server
5 Benefits of Using
Amazon Web Services
1. Pay-per use model
You are only charged for disk space,
CPU time and bandwidth that you use.
2. Instant scalability
Your Service automatically
scales on AWS stack.
3. Reliable/Redundant/Secure
Infrequent outages (so far).
Data is redundant in the cloud.
All services have built-in security.
* Soon will add Comprehensive to the list.
4. Most services accessed via simple
REST/SOAP API
Libraries are available in all major languages.
Minimal learning curve.
5. Amazon - Experience &
Commitment
Amazon has been doing this for ~15 years.
Company-wide commitment to AWS.
Amazon Web Services Stack
Elastic Cloud Simple Storage
Service (EC2) Service (S3)
Simple Database Simple Queue
Service (SimpleDB) Service (SQS)
Elastic Compute Cloud (EC2)
On-demand grid
EC2 in a Nutshell
Usage:
QuickTime™ and a
decompressor
are neede d to se e this picture.
QuickTime™ and a
decompressor
are neede d to se e this picture.
QuickTime™ and a
decompressor
are neede d to se e this picture.
• Create Machine Image
• Deploy the image to S3
• Start 1 or more instances
• Use it as regular machine(s)
Main Options:
Machine • Dynamic/Static IPS
Image • Choose cores
(OS + Apps) • Choose locations
• Persistence via EBS
Sample EC2 Use Cases
Batch Processing
All instances are configured with the same code.
Each instance operates on a subset of data.
Partitions are specified in configuration file.
Web Service
All instances are configured with the same code.
One or more instances are configured as load balancers
(HAProxy for example).
DNS Server distributes requests between load balancers.
EC2 vs. Web Hosting Company
Good
Instantly add new instances
Full-control over the machines and choice of the environment
Likely cheaper (but depends on your exact situation)
Bad
Need to put the images together and manage instances
No dedicated technical support
(but there is premium support and RightScale solutions)
Simple Storage Service (S3)
Large media and everything else storage.
S3 in a Nutshell
Amazon S3 Idea:
Bucket 1 Bucket N Put/Get objects into buckets
… based on unique keys.
Put object Get object Main Features:
• Public/Private access.
Client • Support for large objects.
Sample S3 Use Cases
Image/Video storage
Put your media once on S3 and then serve it up
Reads are 10 times cheaper than writes!
Serialize your Java Objects
Define unique key based on the object attributes
Write out binary serialized version to a stream
Write bytes to S3
Read them back when needed
Simple Database Service (SimpleDB)
Basic database and indexing service
Simple DB in a Nutshell
Simple DB Domain
Idea:
Record 1
Key1 Attributes: A1,A2… Create flat database with
… auto-indexed tables.
Record N
Key2 Attributes: A1,A2… Main Features:
• Each attribute is indexed.
Get record • Record structure is flexible.
Put record Query records • Basic operators in queries
• Supports sorting.
Client
Sample SimpleDB Use Cases
Index Media files stored on S3
Use the same key as on S3
Write the record with each metadata element as attribute
Store flat objects
Use SimpleDB as a storage for non-nested data
Simple Queue Service (SQS)
Infinite Asynchronous Queue
SQS in a Nutshell
SQS Queue
Idea:
Message 1
… Create an infinite
asynchronous queue.
Message N
Receive Main Features:
Send Message
Message • Multiple queues
• Upto 4K messages
Writer Reader • Message Locking
Sample SQS Use Cases
Twitter Friend Update
For each update generate a task to update friends
Process updates in order
Publish/Subscribe
Post messages to the queue to inform multiple subscribers
Process Pipeline
Use different queues to put, for example, and order through a pipeline.
How AdaptiveBlue uses
Amazon Web Services
AdaptiveBlue Overview
We develop browser enhancement technologies that
deliver contextual relevant information into the user
current page:
1. What did your friends and other people think about it?
2. How popular is this book right now?
QuickTime™ and a
decompress or
are needed to see this picture.
3. What are additional relevant links for this book?
AdaptiveBlue & AWS
Background
One of the first companies to use AWS
Started with using S3
Now using S3, SimpleDB, EC2 and
Commerce Service
AdaptiveBlue AWS Architecture
Web Browser 1 … Web Browser N
EC2
LB LB
WS1 WSn WS1 WSn
SimpleDB S3
AdaptiveBlue & AWS
On EC2:
We are running web service and load balancers
On S3:
We are storing XML representation of books, music,
movies, stocks, wines, etc. as well as XML of user profiles.
On SimpleDB:
Records of interactions between users and things they are
looking at, liking or commenting.
Records that map user ids to other services
Records that map between our internal object keys and
URLs for this object around the web.
Noteworthy usage
We turn SimpleDB into relational database via redundancy.
We have person and object domains. Each time when the user
interacts with an object we write a record with
USERNAME/OBJECT_KEY pair into 2 domains - one object
domain, one person domain.
This way we can instantly retrieve recent objects for a person
and recent people for each object.
AdaptiveBlue
Recommends AWS
We love Amazon Web Services and couldn’t have built AdaptiveBlue
without them.
Thanks to AWS we scale today to hundreds of thousands of users .
Our current costs are < 2K per month.
Amazon team has been nothing less than outstanding in supporting us and
helping us architect correct solutions.
We recommend AWS to everyone who asks, because we believe that it
offers unprecedented head start, scalability and savings.
Amazon Web Services Resources
All you need - basic info, getting
started, pricing, tutorials, code,
forums - all on AWS home page:
http://tinyurl.com/ynfsn6
Get documents about "