running your database in the cloud eran levin vp r&d - xeround
TRANSCRIPT
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)
Architectural Evolution - Rollout
• You are ready to roll your new eCommerce app
• Will deploy in the cloud (price, time to market, flexibility, “cool”)
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, …
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
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)
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
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
Running Your Database in the Cloud
Thank You
www.xeround.com
Visit us in Booth 407