http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Version 1.0 15.Jul.2008
Extending your
applications data
with the cloud
Ronald Bradford
A panel on Cloud Computing
July 2008
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Session Focus
❖Existing developed application ❖Data in relational databases (e.g. MySQL)❖Traditional problems❖ Data growth❖ Performance ❖Data Size ❖Application Response
❖ Backup & Recovery
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Agenda
❖Existing examples❖Cloud problems❖How to approach❖Data store options
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Example 1 - Processing
❖Extend existing processing power❖Near instant access for demand❖Using AWS - EC2❖Animoto - images+music to audio slide shows❖Batch processing, not real time (*)
www.animoto.com
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Example 2 - Storage
❖Extend existing storage capacity❖Near instant access for demand❖Using AWS - S3❖SmugMug - Online Photo publisher❖Short term or long term
www.smugmug.com
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Problems?
❖Control❖Availability❖ Latency❖Data Consistency❖Data Migration❖Data Synchronization❖Data Security
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Problems - Control
❖ Loss of physical location❖ Loss of physical backup❖ Loss of tuning/optimization capabilities❖ Tools DBAʼs, SAʼs use for monitor?
❖ Loss of ability to fix unavailability❖What is the SLA?❖Who does the CxO rant to?
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Problems - Availability
❖What do you do when services unavailable❖ e.g. S3 down 7 hrs❖ GAE unavailable for long time
Donʼt put all eggs in one basket
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Problems - Latency
❖Keep your critical data close❖Present a layered approach of data retrieval❖Parallelism for cloud sources❖Move polling of data to push on demand
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Problems - Data Consistency
❖No way to ensure data consistent across multiple sources
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Problems - Data Synchronization
Using BigTable/SimpleDB
❖Different storage technologies❖Different interface languages❖ Lack of bulk load tools
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Problems - Data Security
Using BigTable/SimpleDB
❖No access control for data❖ Administrator❖ Application Writer❖ Application Reader
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
How to approach
❖Model/View/Controller (MVC)❖API to all application data❖Data change timeline❖Think differently❖Eating an elephant
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Approach - MVC
❖May be an old concept❖Separates presentation, logic and data❖Enables data changes without logic or
application changes
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Approach - API
❖Standard Interface to your data❖Enables transparent storage/retrieval❖ Cache Layer❖ Read Scalability Layer❖ Alternative Data Stores
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Approach - Data Timeline
❖Choose the right data❖ Write once data❖ Colder data - accessed less frequently❖ Partitioned data
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Approach - Thinking
❖ 3rd normal form doesnʼt apply❖Key access❖No joins❖ Little/no integrity
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Approach
How do you eat an elephant?
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Approach
How do you eat an elephant?
One bite at a time
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Data Store Options
❖Existing RDBMS❖BigTable (via GAE)❖SimpleDB❖CouchDB❖Others
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Data Store Options - Existing
❖EC2/S3 powerful offering❖Can deploy same stack❖Can use same tools❖Hard to beat for ease of use❖Greater track record
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Data Store Options - Big Table
❖Available via Google App Engine (GAE)❖Python Interface only❖Unreliable availability❖ Lack of support❖Reasonable data semantics❖ Data types (including lists)❖ Relationships
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Data Store Options - SimpleDB
❖Available via AWS❖Greater interfaces ( ! python)❖Very simple, poor data semantics❖ No data types❖ No relationships
❖Support level unknown?
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Data Store Options - Others
❖CouchDB - distributed, fault tolerant❖Drizzle - A lightweight Cloud/Web DB❖NimbusDB - Jim Starkey
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud
Professional Advice and Assistance
❖ 2 decades expertise & experience ❖Enterprise RDBMS Data Architecture❖Performance & Scalability❖Data Analysis & Migration❖Alternatives to traditional data modeling
❖ 10 years in Oracle (includes at Oracle Corporation)❖ 9 years in MySQL (includes at MySQL Inc)
ronaldbradford.com
http://ronaldbradford.com(c) Copyright 2008
Extending application data with the cloud