Running your database in the cloud presentation

650 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Running your database in the cloud presentation

  1. 1. Running Your Database in the Cloud Eran Levin VP R&D - Xeround
  2. 2. Agenda • The paradigm shift • Real life use case • Challenges running a database in the cloud • Available solutions • Q&A
  3. 3. The Paradigm Shift From Dedicated  On premise  Over provisioned  Self managed  To Shared resources  Cloud hosted  Pay-per-use  Managed service  • Without compromising functionality, performance, availability, …
  4. 4. The Paradigm Shift • The Cloud  Availability issues  Stateless  Limited control (HW, Virtualization, Networking)  Expectations (reduce capital and operational costs) • Databases  Mission critical, lossless  Statefull  Usage patterns (data and throughput)
  5. 5. Use Case eCommerce Application
  6. 6. Architectural Evolution - Rollout • You are ready to roll your new eCommerce app • Will deploy in the cloud (price, time to market, flexibility, “cool”)
  7. 7. Arch. Evolution - Failover Passive Active
  8. 8. Arch. Evolution – Traffic Increase Load Balancer
  9. 9. Arch. Evolution – Application Scaling Load Balancer
  10. 10. Arch. Evolution – Database Failover Load Balancer Passive Active
  11. 11. Arch. Evolution – DB Read Scaling Load Balancer Master R R R
  12. 12. Architectural Evolution – DB Write Scaling Load Balancer Master R R R
  13. 13. Arch. Evolution – Anticipating the Peak Load Balancer Master R R R R R
  14. 14. Arch. Evolution – Scaling Down Load Balancer Master R R R
  15. 15. Arch. Evolution – Version Upgrade Load Balancer Load Balancer Master Master R R R R R R
  16. 16. Running Your Database in the Cloud The Challenges
  17. 17. The Challenges • Availability • Elasticity • Manageability • Cost Solved for the Web and application levels Imagine an equivalent solution for your database…
  18. 18. Meeting the Challenges • Build your own  For example - MySQL on EC2, Postgres on Rackspace, …  Acquire instances  Install the database according to your architecture  Self manage your database • Database-as-a-Service  For example - Amazon RDS, Xeround, Database.com, …
  19. 19. The Challenges Availability
  20. 20. Availability • Standby machine • Replication • Failover mechanism Source:
  21. 21. Cloud Availability Solutions • Amazon RDS Multi Zone  Master – Slave configuration  Up to 3 minutes recovery  Double the cost  Maintenance window • Xeround  “Master-Master” configuration  Multiple replicas of the data  Always-on
  22. 22. The Challenges Scalability
  23. 23. Scalability – Scale Up vs. Scale Out • Scale Up  Select next available configuration (EC2, RDS)  Relatively simple but limited scalability • Scale Out  Add additional resources  Complicated but high scalability  RDS Read replicas Source:
  24. 24. Shared Everything vs. Shared Nothing • Shared Everything  Scale throughput but limited due to shared resources  Storage and networking limitations in the cloud  ScaleDB • Shared Nothing  Horizontal data partition / sharding  Unlimited scalability  Many design and implementation challenges
  25. 25. Shared Nothing in the Cloud • Xeround  Virtual partitioning – decoupling of data and resources  Linear scalability for both reads and writes  Automatic balancing and repartition following changes in data and / or resources with no downtime • ScaleBase / dbShards  Automatically partition the data and direct queries to right databases  Original databases deployment, management and cost  Partitioning events • MySQL Cluster  NOT supported on virtual environments
  26. 26. Elasticity • Scaling out/up AND in/down • One of the Cloud justifications (but what about databases)
  27. 27. The Challenges Manageability
  28. 28. Manageability • Self-serve is a fundamental characteristic of cloud computing • DBaaS should provide  User management  DB management  Control and Monitoring  Backup and restore  …  API to enable extendibility and interaction with the cloud ecosystem • Solutions: Amazon RDS, Xeround, FathomDB
  29. 29. Build Your Own Source:
  30. 30. Database as a Service
  31. 31. The Challenges Cost
  32. 32. Cost • Pay-per-use is another fundamental characteristic of cloud computing • Achieving this model requires:  Elasticity – scale resources according to actual usage  No over provisioning  No idle standby machines  Sharing resources to share cost  Measuring exact usage
  33. 33. Q&A
  34. 34. Running Your Database in the Cloud Thank You eran.levin@xeround.com www.xeround.com Visit us in Booth 407

×