Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Tales of a Bootstrapped Startup Onista, Inc
What is Onista? <ul><li>Real-time price negotiation
Qualified sales leads and zero upfront cost
Leverage power of social network
Amalgam of eBay, LendingTree, Priceline, Alibaba and LinkedIn </li></ul>
 
The Beginning <ul><li>Custom PHP development
Huge Product Requirements Document (PRD)
Wire frames
Outsourced development </li></ul>
Classic Pitfalls <ul><li>Wire frames used as templates
No Architecture
No Logging
No Monitoring support
No Alerting support
No Reporting  support
No Database Abstraction Layer
SQL embedded in the code </li></ul>
There's Gotta be a Better Way! <ul><li>Discover MVC </li><ul><li>Smarty templating engine
Refactor application logic
Refactor business logic </li></ul><li>Retrofit with Logging, Reporting and Alerting
Optimize the database
Upcoming SlideShare
Loading in …5
×

Scaling AWS With Scalr

How Onista Inc. used Amazon EC2 and Scalr to effectively and efficiently scale its e-commerce platform

  • Login to see the comments

Scaling AWS With Scalr

  1. 1. Tales of a Bootstrapped Startup Onista, Inc
  2. 2. What is Onista? <ul><li>Real-time price negotiation
  3. 3. Qualified sales leads and zero upfront cost
  4. 4. Leverage power of social network
  5. 5. Amalgam of eBay, LendingTree, Priceline, Alibaba and LinkedIn </li></ul>
  6. 7. The Beginning <ul><li>Custom PHP development
  7. 8. Huge Product Requirements Document (PRD)
  8. 9. Wire frames
  9. 10. Outsourced development </li></ul>
  10. 11. Classic Pitfalls <ul><li>Wire frames used as templates
  11. 12. No Architecture
  12. 13. No Logging
  13. 14. No Monitoring support
  14. 15. No Alerting support
  15. 16. No Reporting support
  16. 17. No Database Abstraction Layer
  17. 18. SQL embedded in the code </li></ul>
  18. 19. There's Gotta be a Better Way! <ul><li>Discover MVC </li><ul><li>Smarty templating engine
  19. 20. Refactor application logic
  20. 21. Refactor business logic </li></ul><li>Retrofit with Logging, Reporting and Alerting
  21. 22. Optimize the database
  22. 23. Improve security </li></ul>
  23. 24. The Birth Database Webserver Appserver Data
  24. 25. Problem <ul><li>Not Scalable
  25. 26. Will roll over and die
  26. 27. Can't cope with spikes </li></ul>
  27. 28. Enter the Cloud
  28. 29. Discover AWS <ul><li>S3
  29. 30. EC2
  30. 31. SimplePay </li></ul>
  31. 32. AWS Promise <ul><li>Infinitely Scalable Instances
  32. 33. Infinitely Large Storage
  33. 34. Stop thinking about capacity </li></ul>Is it really?
  34. 35. AWS Reality <ul><li>Infinitely Scalable Instances </li><ul><li>start unlimited instances </li></ul><li>Infinitely Large Storage </li><ul><li>code architecture needs to change </li></ul><li>Stop worrying about capacity </li><ul><li>start worrying about manual labor </li></ul><li>Throw your default assumptions away </li><ul><li>No persistent file system </li></ul></ul>
  35. 36. What is Scaling? <ul><li>The ability of a web system to respond to unexpected load without a denial of service
  36. 37. Two Kinds </li><ul><li>Manual Scaling
  37. 38. Auto Scaling </li></ul></ul>
  38. 39. Scalr <ul><li>Auto-Scaling
  39. 40. Self-Curing
  40. 41. Configuring
  41. 42. Monitoring
  42. 43. Open Source !
  43. 44. Free as in beer! </li></ul>
  44. 45. Scalr http://scalr.googlecode.com/files/network_diagram_smaller.gif
  45. 46. How does it work? http://scalr.googlecode.com/files/processes.png
  46. 47. Trails with Scalr <ul><li>Documentation </li><ul><li>Great User Guide
  47. 48. No Admin/Install guide :( </li></ul><li>Trial and Error
  48. 49. Needs experience with DNS server setup
  49. 50. Setup MySQL Master/Slave
  50. 51. Test different scenarios </li></ul>
  51. 52. Moment of Truth <ul><li>Self host Scalr </li><ul><li>One instance for itself
  52. 53. DNS Server </li></ul><li>Use Scalr.net
  53. 54. Use CloudInCode </li></ul>
  54. 55. Recommended Setup CloudInCode
  55. 56. Onista Setup CloudInCode Onista
  56. 57. Summary <ul><li>Scaling is hard </li><ul><li>Scalr makes it easy </li></ul><li>Don't manage Scalr yourself </li><ul><li>Use CloudInCode </li></ul><li>Software architecture is the important </li></ul>
  57. 58. Q &A

×