How to Run Your Startup on Amazon Web Services Presentation

Document Sample
How to Run Your Startup on Amazon Web Services Presentation Powered By Docstoc
					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

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:10
posted:3/5/2010
language:English
pages:36