AWS Customer Presentation - AdaptiveBlue


Published on

Alex Iskold of AdaptiveBlue presents at the AWS Start-Up Event - NYC and at Web 2.0 NY about their use of AWS.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

AWS Customer Presentation - AdaptiveBlue

  1. 1. Running Your Startup on Amazon Web Services Alex Iskold Founder/CEO AdaptiveBlue Feature Writer ReadWriteWeb
  2. 2. This session is about: Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing.
  3. 3. 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
  4. 4. Basics of Cloud Computing
  5. 5. Basics of Cloud Computing Scalable Hardware Layer
  6. 6. Basics of Cloud Computing Software Infrastructure Layer Grid Storage Queue Service Service Service Scalable Hardware Layer
  7. 7. Example: Storage Service Storage Service Storage Storage Service Service New Server Storage Service The data is automatically re-partitioned/re-balanced to take advantage of the new server
  8. 8. 5 Benefits of Using Amazon Web Services
  9. 9. 1. Pay-per use model You are only charged for disk space, CPU time and bandwidth that you use.
  10. 10. 2. Instant scalability Your Service automatically scales on AWS stack.
  11. 11. 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.
  12. 12. 4. Most services accessed via simple REST/SOAP API Libraries are available in all major languages. Minimal learning curve.
  13. 13. 5. Amazon - Experience & Commitment Amazon has been doing this for ~15 years. Company-wide commitment to AWS.
  14. 14. Amazon Web Services Stack
  15. 15. Elastic Cloud Simple Storage Service (EC2) Service (S3) Simple Database Simple Queue Service (SimpleDB) Service (SQS)
  16. 16. Elastic Compute Cloud (EC2) On-demand grid
  17. 17. EC2 in a Nutshell Usage: • 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
  18. 18. 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.
  19. 19. 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)
  20. 20. Simple Storage Service (S3) Large media and everything else storage.
  21. 21. 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.
  22. 22. 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
  23. 23. Simple Database Service (SimpleDB) Basic database and indexing service
  24. 24. 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
  25. 25. 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
  26. 26. Simple Queue Service (SQS) Infinite Asynchronous Queue
  27. 27. 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
  28. 28. 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.
  29. 29. How AdaptiveBlue uses Amazon Web Services
  30. 30. 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? 3. What are additional relevant links for this book?
  31. 31. AdaptiveBlue & AWS Background  One of the first companies to use AWS  Started with using S3  Now using S3, SimpleDB, EC2 and Commerce Service
  32. 32. AdaptiveBlue AWS Architecture Web Browser 1 … Web Browser N EC2 LB LB WS1 WSn WS1 WSn SimpleDB S3
  33. 33. 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.
  34. 34. 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.
  35. 35. 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 .  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.
  36. 36. Amazon Web Services Resources All you need - basic info, getting started, pricing, tutorials, code, forums - all on AWS home page: