340 likes | 448 Views
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
E N D
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 • Pay-per-use • Managed service • Without compromising functionality, performance, availability, …
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”)
Arch. Evolution - Failover Passive Active
Load Balancer Arch. Evolution – Traffic Increase
Load Balancer Arch. Evolution – Application Scaling
Load Balancer Arch. Evolution – Database Failover Passive Active
Load Balancer Arch. Evolution – DB Read Scaling Master R R R
Load Balancer Architectural Evolution – DB Write Scaling Master R R R
Load Balancer Arch. Evolution – Anticipating the Peak Master R R R R R
Load Balancer Arch. Evolution – Scaling Down Master R R R
Load Balancer Load Balancer Arch. Evolution – Version Upgrade Master Master R R R R R R
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, …
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
Scalability – Scale Up vs. Scale Out Source: • 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
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
Build Your Own Source:
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 eran.levin@xeround.com www.xeround.com Visit us in Booth 407