running your database in the cloud
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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
• Without compromising functionality, performance, availability, …
To Shared resources
Cloud hosted Pay-per-use Managed service
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)
Use Case
eCommerce Application
Architectural Evolution - Rollout
• You are ready to roll your new eCommerce app
• Will deploy in the cloud (price, time to market, flexibility, “cool”)
Arch. Evolution - Failover
ActivePassive
Arch. Evolution – Traffic Increase
Load Balancer
Arch. Evolution – Application Scaling
Load Balancer
Arch. Evolution – Database Failover
ActivePassive
Load Balancer
Arch. Evolution – DB Read Scaling
Master
R
RR
Load Balancer
Architectural Evolution – DB Write Scaling
Master
R
RR
Load Balancer
Arch. Evolution – Anticipating the Peak
Master
R
RR
Load Balancer
RR
Arch. Evolution – Scaling Down
Master
R
RR
Load Balancer
Arch. Evolution – Version Upgrade
Master
R
RR
Load Balancer
Master
R
RR
Load Balancer
Running Your Database in the Cloud
The Challenges
The Challenges
• Availability
• Elasticity
• Manageability
• Cost
Solved for the Web and application levels
Imagine an equivalent solution for your database…
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, …
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
Double the cost
Maintenance window
• Xeround “Master-Master” configuration
Multiple replicas of the data
Always-on
The Challenges
Scalability
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:
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 implementationchallenges
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
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
DB management
Control and Monitoring
Backup and restore
…
API to enable extendibility and interaction with the cloud ecosystem
• Solutions: Amazon RDS, Xeround, FathomDB
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: Elasticity – scale resources according to actual usage
No over provisioning
No idle standby machines
Sharing resources to share cost
Measuring exact usage
Q & A
Running Your Database in the Cloud
Thank You
www.xeround.com
Visit us in Booth 407