Running Your Database in the Cloud
Eran Levin
VP R&D - Xeround
Agenda
• The paradigm shift
• Real life use case
• Challenges running a database in the cloud
• Available solutions
• Q&A
The Paradigm Shift

From
Dedicated
 On premise
 Over provisioned
 Self managed


To
Shared resources
 Cloud hosted
 ...
The Paradigm Shift
• The Cloud


Availability issues



Stateless



Limited control (HW, Virtualization, Networking)

...
Use Case
eCommerce Application
Architectural Evolution - Rollout
• You are ready to roll your new eCommerce app
• Will deploy in the cloud (price, time t...
Arch. Evolution - Failover

Passive

Active
Arch. Evolution – Traffic Increase

Load Balancer
Arch. Evolution – Application Scaling

Load Balancer
Arch. Evolution – Database Failover

Load Balancer

Passive

Active
Arch. Evolution – DB Read Scaling

Load Balancer

Master

R
R

R
Architectural Evolution – DB Write Scaling
Load Balancer

Master

R
R

R
Arch. Evolution – Anticipating the Peak
Load Balancer

Master

R

R

R
R

R
Arch. Evolution – Scaling Down

Load Balancer

Master

R
R

R
Arch. Evolution – Version Upgrade
Load Balancer

Load Balancer

Master

Master

R
R

R

R
R

R
Running Your Database in the Cloud
The Challenges
The Challenges
• Availability
• Elasticity
• Manageability
• Cost

Solved for the Web and application levels
Imagine an ...
Meeting the Challenges
• Build your own


For example - MySQL on EC2, Postgres on Rackspace, …



Acquire instances



...
The Challenges
Availability
Availability
• Standby machine
• Replication
• Failover mechanism
Source:
Cloud Availability Solutions
• Amazon RDS Multi Zone


Master – Slave configuration



Up to 3 minutes recovery



Doub...
The Challenges
Scalability
Scalability – Scale Up vs. Scale Out
• Scale Up


Select next available configuration (EC2, RDS)



Relatively simple bu...
Shared Everything vs. Shared Nothing
• Shared Everything


Scale throughput but limited due to shared resources



Stora...
Shared Nothing in the Cloud
• Xeround


Virtual partitioning – decoupling of data and resources



Linear scalability fo...
Elasticity
• Scaling out/up AND in/down
• One of the Cloud justifications (but what about databases)
The Challenges
Manageability
Manageability
• Self-serve is a fundamental characteristic of cloud computing
• DBaaS should provide


User management

...
Build Your Own

Source:
Database as a Service
The Challenges
Cost
Cost
• Pay-per-use is another fundamental characteristic of cloud

computing

• Achieving this model requires:


Elastici...
Q&A
Running Your Database in the Cloud

Thank You
eran.levin@xeround.com
www.xeround.com

Visit us in Booth 407
Upcoming SlideShare
Loading in …5
×

Running your database in the cloud presentation

504 views
369 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
504
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×