25
1 1 How to Think Multi-Cloud December 8, 2010

How to Think Multi-Cloud

Embed Size (px)

Citation preview

Page 1: How to Think Multi-Cloud

11

How to Think Multi-Cloud

December 8, 2010

Page 2: How to Think Multi-Cloud

22

Your Panel Today

Presenting:• Michael Crandell, CEO Twitter: @michaelcrandell• Josep M. Blanquer, Sr. Systems Architect

Q&A:• John Newton, Account Manager

Please use the questions window to ask questions anytime!

Page 3: How to Think Multi-Cloud

33

Agenda

• What do we mean by a cloud?• What is multi-cloud and what’s different?• How does RightScale help?

• Servers and ServerArrays• Multi-Cloud Server Templates• Multi-Cloud Images• Data locality and mobility

• A multi-cloud example and demo• Conclusions / Q&A

Please use the questions window to ask questions anytime!

Page 4: How to Think Multi-Cloud

44

What do we mean by cloud?

• A cloud is a physical data center entity behind an API endpoint

• What do you mean by that?• Amazon Web Services is not a cloud• EC2 is not a cloud• Eucalyptus, Cloud.com are not a cloud• EC2 East, EC2 AsiaPacific, my private cloud… are clouds• An availability zone is not a cloud, it’s part of one• Think of a cloud as a “resource pool” accessed via API

Page 5: How to Think Multi-Cloud

55

Where is my cloud in the wild?

Page 6: How to Think Multi-Cloud

66

Where is my cloud in the wild?

There might be just a few big cloud players…but there will be a myriad of clouds

Page 7: How to Think Multi-Cloud

77

Where are my clouds in RightScale?• Dashboard example:

• AWS, Rackspace and several private clouds in one account

• A cloud is first registered with RightScale• Once a cloud is registered, a user can start using it

Page 8: How to Think Multi-Cloud

88

What does multi-cloud mean?• It’s about deploying your application:

• Across different clouds• Spanning cloud providers (most likely with different API’s)• Utilizing private and public ones

• It’s about evolving your application to:• Incorporate new clouds as they appear• Or quickly moving servers to utilize leftover or new cloud capacity

• All seamlessly:• Without having to learn a new interface every time• Working together in an integrated manner

• It’s about using multiple cloud providers, not choosing one

• Current focus: cloud portability

Page 9: How to Think Multi-Cloud

99

Multi-cloud: benefits

• Redundancy for disaster recovery and business continuity• Geo-location for latency and/or policy compliance• Leverage unique cloud-specific services when needed• Leverage public cloud cost benefits (cheaper and/or infinite)• Leverage existing data centers: private cloud• Move services with bursty, unpredictable apps to public cloud• Private cloud for apps with regulatory compliance reqs• Support varying levels of security concerns

Page 10: How to Think Multi-Cloud

1010

Multi-cloud: pain points• APIs differ

• Different sets of resources• Different formats and encodings• Several simultaneous versions for a single cloud

• Abstractions differ• Network architectures differ: VLANs, security groups, NAT, IPs, ACLs, …• Storage architectures differ: local/attachable disks, backup, snapshots, …

• Hypervisors and machine images differ• Supported features differ• …cost models, billing, reporting…etc

• They are truly different applications, with different semantics

Page 11: How to Think Multi-Cloud

1111

How to think multi-cloud?

“Akin to designing your application using several programming languages”

• Deploy using cloud-specifics, design using generic concepts• Have tools that translate your concepts to cloud-specific ones.• Design for geographic dispersion• Think of how to share data across• Know if you’re designing for HA or simply for portability

Page 12: How to Think Multi-Cloud

1212

How does RightScale help?• Unified Multi-Cloud UI and new API (in progress)

• Multi-Cloud Servers/Arrays• Multi-Cloud Server Templates• Multi-Cloud Images• Others in the pipeline

Server

runnable abstraction

ServerTemplate

software config runtime config

1:1 1:NI

II

II

cloud resources

Image

Page 13: How to Think Multi-Cloud

1313

(Multi-Cloud) Servers and Arrays• Servers and Arrays are runtime abstractions• All Servers look and smell similar, regardless of cloud:

• Can be started, stopped or run operational actions in the same way• Show monitoring data, and can configure alerts in the same way• They coexist in mixed deployment listings, same filters, columns…• They can support abstractions that some clouds don’t support• …

• Can be very different beasts, but they are seamlessly integrated

Server

runnable abstraction

ServerTemplate

software config runtime config

1:1 1:NI

II

II

cloud resources

MCI

Page 14: How to Think Multi-Cloud

1414

Parenthesis: What are ServerTemplates?

Custom MySQL 5.0.24 (CentOS 5.2)

Custom MySQL 5.0.24 (CentOS 5.4)

MySQL 5.0.36 (CentOS 5.4)

MySQL 5.0.36 (Ubuntu 8.10)

MySQL 5.0.36 (Ubuntu 8.10) 64bit

Frontend Apache 1.3 (Ubuntu 8.10)

Frontend Apache 2.0 (Ubuntu 9.10) - patched

CMS v1.0 (CentOS 5.4)

CMS v1.1 (CentOS 5.4)

My ASP appserver (windows 2008)

My ASP.net (windows 2008) – security update 1

My ASP.net (windows 2008) – security update 8

SharePoint v4 (windows 2003) – 32bit

SharePoint v4 (windows 2003) –64bit

SharePoint v4.5 (windows 2003) –64bit

Configuring serversthrough bundling Images:

A set of configuration directives that will install

and configure software on top of the base image

Configuring serverswith ServerTemplates:

CentOS 5.2

CentOS 5.4

Ubuntu 8.10

Ubuntu 9.10

Win 2003

Win 2007

Base ImageVery few and basic

Page 15: How to Think Multi-Cloud

1515

Parenthesis: What are ServerTemplates?Anatomy of a

Server TemplateExample Server Template:

MySQL 5.0

RightScript/Recipe N

RightScript/Recipe 5

RightScript/Recipe 4

RightScript/Recipe 3

RightScript/Recipe 2

RightScript/Recipe 1

boo

t se

que

nce

RightScript/Recipe 6

RightScript/Recipe 6

ope

ratio

ns

Base Image

Start all services

Setup DNS and IPs

Restore last backup

Configure/tune MySQL

Install MySQL Server

Install monitoring

boo

t se

que

nce

Perform backup

Initialize slave

ope

ratio

ns

Right Image

Page 16: How to Think Multi-Cloud

1616

(Multi-Cloud) Server Templates• They are software configuration abstractions

• Bridge the gap between the starting point (a base Image) and a fully configured machine

• Abstract Cloud and Operating System differences• Gather a set of user defined, high-level Input values• Can partially help in the sharing of data• Are versionable and publishable• Allow configuring servers always in the same or equivalent way

Server

runnable abstraction

ServerTemplate

software config runtime config

1:1 1:NI

II

II

cloud resources

MCI

Page 17: How to Think Multi-Cloud

1717

Multi-Cloud Images (MCI)• MCI’s abstract a set of requirements in a cloud image

• Example: A CentOS 5.4 Image

• Provide an equivalency map of base images across clouds• CentOS 5.4 Image is ‘ami-feff’ in EC2 East, and ‘1234’ in Rackspace

• They are versionable and publishable• Are associated to ServerTemplates

Server

runnable abstraction

ServerTemplate

software config runtime config

1:1 1:NI

II

II

cloud resources

MCI

Page 18: How to Think Multi-Cloud

1818

Multi-Cloud Images: RightImages• RightScale maintains such maps (MCI’s) for all public clouds

Page 19: How to Think Multi-Cloud

1919

Data locality and mobility• A topic a bit further down the road• A big hurdle to overcome: clouds are isolated• How can our app share data across its clouds then?

• External globally accessible services.• Transferring data snapshots across. • Maintaining online data replication across clouds. • Using an inherently replicated service, that is distributed.

• Keeping track of your moving data• Where’s the latest? What’s my lineage? how do I manage my datasets?...• We’re thinking about useful multi-cloud abstractions to help with all that

Page 20: How to Think Multi-Cloud

2020

Multi-Cloud Use Case: portability

US customers(production)

EU customers(production)

US customers(beta)

Test & dev

Page 21: How to Think Multi-Cloud

2121

Multi-Cloud Use Case: portability

US customers(production)

EU customers(production)

US customers(beta)

Test & dev

Load balancer PHP MySQLScripts

and recipes

MySQLPHP

Front-EndRails

All-in-OnePHP

App Server

Templates

Multi-CloudImage

CentOS 5.4

All-in-Ones

Less powerand redundancy

Scalable, powerfuland redundant

Servers

Page 22: How to Think Multi-Cloud

2222

Multi-Cloud Use Case: Demo

Live Demo

Page 23: How to Think Multi-Cloud

2323

Thinking multi-cloud: summary• Work with generic abstractions (deploy using cloud-specifics)

• Take advantage of each specific cloud’s strengths• Avoid lock in.

• Use or build generic templates:• support multiple OSes, and cloud types (not just clouds)

• Keep a good and clean mapping of Images • Maintain just a few and use them across your server templates

• Know your data:• Where is it, and what access patterns you’re using• Keep track of where it is, and how it moves.

• Start with portability, then move to HA-distributed setups• Think different, again!

Page 24: How to Think Multi-Cloud

2424

Have a project, but need some help?

Contact us: [email protected] or (866) 720-0208

Ready to get started?

Sign up for our Free Edition: www.RightScale.com/Free

Call us for a VIP trial of our paid editions

Need to learn more?

TCO calculator: www.RightScale.com/tco-calculator

TCO white paper: www.RightScale.com/tco

Webinar archive: www.RightScale.com/webinars

White papers: www.RightScale.com/whitepapers

Q&A / Getting Started

Page 25: How to Think Multi-Cloud

2525

Thank You!