extending application data in the cloud

26
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

Upload: ronald-bradford

Post on 15-Jan-2015

1.891 views

Category:

Technology


3 download

DESCRIPTION

A Panel on Cloud Computing. The considerations and approaches of extending existing traditional web applications to leverage Cloud Computing.

TRANSCRIPT

Page 1: Extending Application Data In The Cloud

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

Page 2: Extending Application Data In The Cloud

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

Page 3: Extending Application Data In The Cloud

http://ronaldbradford.com(c) Copyright 2008

Extending application data with the cloud

Agenda

❖Existing examples❖Cloud problems❖How to approach❖Data store options

Page 4: Extending Application Data In The Cloud

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

Page 5: Extending Application Data In The Cloud

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

Page 6: Extending Application Data In The Cloud

http://ronaldbradford.com(c) Copyright 2008

Extending application data with the cloud

Problems?

❖Control❖Availability❖ Latency❖Data Consistency❖Data Migration❖Data Synchronization❖Data Security

Page 7: Extending Application Data In The Cloud

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?

Page 8: Extending Application Data In The Cloud

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

Page 9: Extending Application Data In The Cloud

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

Page 10: Extending Application Data In The Cloud

http://ronaldbradford.com(c) Copyright 2008

Extending application data with the cloud

Problems - Data Consistency

❖No way to ensure data consistent across multiple sources

Page 11: Extending Application Data In The Cloud

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

Page 12: Extending Application Data In The Cloud

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

Page 13: Extending Application Data In The Cloud

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

Page 14: Extending Application Data In The Cloud

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

Page 15: Extending Application Data In The Cloud

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

Page 16: Extending Application Data In The Cloud

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

Page 17: Extending Application Data In The Cloud

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

Page 18: Extending Application Data In The Cloud

http://ronaldbradford.com(c) Copyright 2008

Extending application data with the cloud

Approach

How do you eat an elephant?

Page 19: Extending Application Data In The Cloud

http://ronaldbradford.com(c) Copyright 2008

Extending application data with the cloud

Approach

How do you eat an elephant?

One bite at a time

Page 20: Extending Application Data In The Cloud

http://ronaldbradford.com(c) Copyright 2008

Extending application data with the cloud

Data Store Options

❖Existing RDBMS❖BigTable (via GAE)❖SimpleDB❖CouchDB❖Others

Page 21: Extending Application Data In The Cloud

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

Page 22: Extending Application Data In The Cloud

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

Page 23: Extending Application Data In The Cloud

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?

Page 24: Extending Application Data In The Cloud

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

Page 25: Extending Application Data In The Cloud

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

Page 26: Extending Application Data In The Cloud

http://ronaldbradford.com(c) Copyright 2008

Extending application data with the cloud