Top Banner
CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution* * All unlicensed or borrowed works retain their original licenses AWS Repatriation Bring Your Apps Back OpenStack Summit, Hong Kong November 5th, 2013 @randybias
62

AWS Repatriation: Bring Your Apps Back

May 20, 2015

Download

Technology

Randy Bias

Running your own infrastructure *can* be as little as half the cost of running on AWS once you are at scale. OpenStack-based cloud systems can provide the same or similar economies of scale if you leverage the lessons of AWS and GCE when building your cloud. This talk discusses the economic factors in designing a cost-efficient AWS + OpenStack hybrid cloud. We look at the issues involved in repatriating existing applications, and show a couple of real-world demonstration of tools that can assist in the repatriation process. Repatriation isn quite as simple as hitting the Easy button, but if you plan your deployment correctly, you can make it work, both technically and economically.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AWS Repatriation: Bring Your Apps Back

CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution** All unlicensed or borrowed works retain their original licenses

AWS RepatriationBring Your Apps Back

OpenStack Summit, Hong KongNovember 5th, 2013

@randybias

Page 2: AWS Repatriation: Bring Your Apps Back

CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution** All unlicensed or borrowed works retain their original licenses

AWS Repatriation

Pub Cloud RepatriationBring Your Apps Back

OpenStack Summit, Hong KongNovember 5th, 2013

@randybias

Page 3: AWS Repatriation: Bring Your Apps Back

CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full attribution** All unlicensed or borrowed works retain their original licenses

AWS RepatriationPublic Cloud Repatriation

Apps for Hybrid CloudWhat Hybrid-ized Apps Need from Hybrid Cloud

OpenStack Summit, Hong KongNovember 5th, 2013

@randybias

Page 4: AWS Repatriation: Bring Your Apps Back

Introduction

Page 5: AWS Repatriation: Bring Your Apps Back

OpenStack Foundation Board of Directors

Prod. OpenStack pioneer, Cloudscaling:Part of OpenStack community since July 2010 (launch)Wins: KT, Internap, LivingSocial, Seagate & others

Advisor to dotCloud (docker.io)

Top 10 Cloud Computing Pioneer

Who

5

Page 6: AWS Repatriation: Bring Your Apps Back

I run an OpenStack product company... opinions expressed here are mine

Not the foundation, not the community, just one POV

I believe the pioneers to emulate are:

I have run big data centers100K+ sq ft, 1,000s of physical servers, 100s of switches

My Bias

6

Page 7: AWS Repatriation: Bring Your Apps Back

Live broadcast from OpenStack Summit

Nov 6th, 10AM Hong Kong / 6PM PST

Register here:

http://cloudscaling.com/stack

FYI: State of the Stack v2

7

Page 8: AWS Repatriation: Bring Your Apps Back

8

1 Why repatriate from public clouds?

3 Repatriation & behavorial parity

4 Understanding systems contracts

5 Compatibility vs interoperability

6 OpenStack is not a system

7 OpenStack is key to a hybrid cloud future

2 Repatriation requirements

8 Wrapping up

Page 9: AWS Repatriation: Bring Your Apps Back

Why Repatriate?

Page 10: AWS Repatriation: Bring Your Apps Back

Public & Private Cloud

10

Page 11: AWS Repatriation: Bring Your Apps Back

Public & Private Cloud Strengths

11

PublicCloud

PrivateCloud

Large Resource Pool

General Purpose

OptimizedPurpose

RenterEconomics

OwnerEconomics

Direct Control

Page 12: AWS Repatriation: Bring Your Apps Back

Public & Private Cloud Drawbacks

12

• Expensive at scale• Limited control for optimization• 3rd party dependency & trust

• Higher upfront capital outlay• IaaS architectural expertise needed• IaaS operational expertise needed

PublicCloud

Large Resource Pool

PrivateCloud

General Purpose

OptimizedPurpose

RenterEconomics

OwnerEconomics

Direct Control

Page 13: AWS Repatriation: Bring Your Apps Back

Why Repatriate from Public Clouds?

13

Reduce Cost, Increase Control and Ensure Compliance

Page 14: AWS Repatriation: Bring Your Apps Back

Cost - Own the Base, Rent the Spike

14

Days

Workload Demand

1 2 3 4 5 6 7

Utilized Capacity

Rent the Spike

Private Cloud

Public Cloud

HybridCloud

Own the Base

Page 15: AWS Repatriation: Bring Your Apps Back

Control - Optimize Hardware for Workloads

15

CPU & IO Constrained

CPU

RAM

DISK

Network IO

CPU

RAM

DISK

Network IO

Memory Constrained

$$$$

$$$

$$

$$$$

$$$

Page 16: AWS Repatriation: Bring Your Apps Back

Compliance - and Security

16

Public clouds will close security gapAlready made exceptional progress

Many public clouds are more secure than the average enterprise

Some security requirements may be impossibleSpecific hardware difficult for public clouds to implement as a solution

Many won’t use public for key workloadsRegional differences in regulatory compliance

Page 17: AWS Repatriation: Bring Your Apps Back

Hybrid Cloud Enables Repatriation

17

PublicCloud

PrivateCloud

Manage apps on public and private cloud as a single entity

• Unpredictable Workloads • Scalable Data Processing • Cloudbursting

• Predictable Workloads • Sensitive Data Storage• Reverse Cloudbursting

Agility

Choice

Flexibility

HybridCloud

+

Large Resource Pool

General Purpose

OptimizedPurpose

RenterEconomics

OwnerEconomics

Direct Control

Page 18: AWS Repatriation: Bring Your Apps Back

Repatriation Requirements

Page 19: AWS Repatriation: Bring Your Apps Back

Requires Compatibility & InteroperabilityBuild private cloud to similar spec as the top public clouds if you want:

Economies of scale: Operational Costs

Economies of scale: HW pricing parity

Application portability

Elastic cloud architecturescattle vs. pets

Repatriation Isn’t Automatic

19

1

2

3

4

Page 20: AWS Repatriation: Bring Your Apps Back

Virtualization vs. Elastic Cloud

20

Elastic

Virtualization 2.0

Page 21: AWS Repatriation: Bring Your Apps Back

Example: OpenStack on a Vblock

21

AWS doesn’t run on a Vblock and never willNeither does GCE, RAX, Azure, or any top public cloud

3-5x more expensive than AWS retail priceUpwards of 8x more expensive than wholesale

OpenStack on a Vblock for non-cloud appsSAP, Oracle 10g, vSphere support, etc.

This is the Virtualization 2.0 approachSo-called “software-defined datacenter”

Page 22: AWS Repatriation: Bring Your Apps Back

Example: OpenStack via OCS

22

50% savings over AWS over 3-5 years

Time

Public Cloud@ 20% Annual Growth($17.4m over 5 Years)

Yr1 Yr2 Yr3 Yr4 Yr5

$1m

$2m

Cost / Yr

$3m

$4m

Private Cloud@ 20% Annual Growth($9.6m over 5 Years)

2.3

2.8

3.4

4.0

4.8

2.7

1.41.6

1.82.2

Page 23: AWS Repatriation: Bring Your Apps Back

Example: OpenStack via OCS

23

OCSw/ Support

AWS 1 Year Resw/o Support

AWS On Demandw/o Support

m1.small $13 $24 $44

m1.medium $25 $49 $88

m1.large $50 $97 $175

m1.xlarge $101 $194 $350

50% savings over AWS over 3-5 years

Page 24: AWS Repatriation: Bring Your Apps Back

Top (Elastic) Clouds

24

0% 20% 40% 60% 80% 100%

Windows Azure

GCE

RAX

AWS

% of Respondents

Public Cloud Usage

Running apps

Experimenting

Source: RightScale State of the Cloud Report 2013

Hybrid cloud only makes sense with the leaders; all elastic

Page 25: AWS Repatriation: Bring Your Apps Back

Make Private Clouds Look Like Major Public Elastic Clouds?

25

Assume application manages its own fateScaling, self-healing, data replication

Commodity hardware, not gold-platedSmart apps don’t need infrastructure resiliency

Operational model: cattle vs. petsIn public clouds, servers die all the time & no one cares

ALL of the top public clouds are elastic

Page 26: AWS Repatriation: Bring Your Apps Back

Repatriation &Behavorial Parity

Page 27: AWS Repatriation: Bring Your Apps Back

Behavior MattersMoving apps between clouds is hardAbstractions and APIs can only do so much

Impedance mismatches are commonAny two clouds don’t behave the same

Some clouds are very very similarGCE and AWS are 95% semantically, architecturally, and behaviorally equivalent

This is better than what you find with any two OpenStack cloudsYet these are proprietary software stacks

Let’s look at some examples27

Page 28: AWS Repatriation: Bring Your Apps Back

Ex 1: VM Spinup TimesCloud #1: spins up a VM in 5 mins or lesse.g. AWS, GCE, RAX, Azure

Cloud #2: spins up a VM in 60 minutese.g. SFR in France

Write an app deployment frameworkIf you build on cloud #1 first

Assume 5 minutes and retry when a VM fails to show upCauses a failure on cloud #2 when I switch

If you build on cloud #2 firstWorks on cloud #1Now “auto-scaling” takes 1 hour response time

28

Page 29: AWS Repatriation: Bring Your Apps Back

Ex 2: Block Storage SnapshottingCloud #1: has incremental snapshottinge.g. AWS, Azure

Cloud #2: has only full snapshotting e.g. cinder backup via OpenStack

Write an app deployment frameworkmanages persistent disks as a mechanism for advanced deployment methods (e.g. EngineYard on AWS)

Build on Cloud #1Snapshot & restore times on cloud #2 cause failures

Build on Cloud #2In testing the non-incremental snapshots mean I can’t use block storage as needed

29

Page 30: AWS Repatriation: Bring Your Apps Back

Ex 2: Missing or Different Features

Cloud #1: OpenStack w/ floating IP auto-assignment

Cloud #2: OpenStack w/o auto-assignmentWrite an app deployment framework:

manages VM spinup on behalf of applicationBuild on Cloud #1

Once I try to run on cloud #2, it all breaks because I have to add a check for whether floating IP is there and then add if not

Build on Cloud #2Probably runs on cloud #1

30

Page 31: AWS Repatriation: Bring Your Apps Back

Repatriation Checkpoint

31

Repatriation often makes sensefor Cost, Control, Security and Compliance

Repatriation isn’t automaticit requires compatibility & interoperability

Cloud behavior matters

How to enable compatibility and interoperability in a hybrid cloud world?

Page 32: AWS Repatriation: Bring Your Apps Back

Hybrid Cloud(Explaining Systems)

Page 33: AWS Repatriation: Bring Your Apps Back

Why Are We Talking About Systems?

33

We need a common understanding of cloud design principles to agree on what makes a hybrid cloud possible.

Page 34: AWS Repatriation: Bring Your Apps Back

Definition of a System

34

1) A set of components

2) Integrated into a specific architecture designed for a purpose

3) Greater than the sum of its parts

Page 35: AWS Repatriation: Bring Your Apps Back

System Taxonomy

35

API

Behavior

Semantics

Architecture

How to interface with the system

What the system actually does

How the components fit together

Names & definitions that describe the architecture

Input

Output

Page 36: AWS Repatriation: Bring Your Apps Back

System Example: Automobile

36

Gas/brake pedals, steering column, climate controls, etc.

Accelerate, decelerate, turn wheels, power lights, heat/cool cabin, component monitoring, deploy air bags, etc.

API

Behavior

Semantics

Architecture

Input

Output

Page 37: AWS Repatriation: Bring Your Apps Back

System Example: Private Cloud

37

API

Behavior

Semantics

Architecture

Input

Output

Compute

BlockStorage

ObjectStorage

Networking

RunInstancesAllocateAddressCreateVolumeAttachVolumeCreateSnapshot...

Launch a VMGet a floating IPCreate a volumeAttach a volumeTake a snapshot...

Page 38: AWS Repatriation: Bring Your Apps Back

Hybrid Cloud(systems contracts)

Compatibility vs Interoperability

Page 39: AWS Repatriation: Bring Your Apps Back

Explicit vs Implicit Contracts

39

Explicit Contract

Implicit Contract

Precisely and clearly expressed or readily observable. Leaves nothing to inference.

Implied though not directly expressed. Inherent in the nature of something.

API

Behavior

Semantics

Architecture

Input

Output

Page 40: AWS Repatriation: Bring Your Apps Back

Explicit vs Implicit Contracts

40

Explicit Contract

Implicit Contract

nova boot --flavor 2 --image e0b7734d-2331-42a3-b19e-067adc0da17d \ --block_device_mapping vda=3195a5a7-fd0d-4ac3-b919-7ba6cbe11d46:::0 myInstanceFromVolume

VM available in 4 min95% of time

API

Behavior

Semantics

Architecture

Input

Output

Page 41: AWS Repatriation: Bring Your Apps Back

Explicit vs Implicit Contracts

41

Critical for Compatibility

Critical for Interoperability

API

Behavior

When System is a Black Box

Delivering a Service...

Input

Output

Page 42: AWS Repatriation: Bring Your Apps Back

To Enable Mass Adoption...

42

APIs (controls & instrumentation) must be largely the same

: ): (

Page 43: AWS Repatriation: Bring Your Apps Back

Compatibility versus Interoperability

These are NOT the sameCars and semi-trucks (aka “lorries”) are compatible but not interoperable

Two cars of the same kind are interoperable

Compatibility is a consistent interfacethe explicit contract

Interoperability is an equivalent (and interchangeable) behavior

43

Page 44: AWS Repatriation: Bring Your Apps Back

Compatibility versus Interoperability

44

All systems are like this, even clouds

GCE

RAX

VMW

AWS & GCE are highly similar (semantically, behaviorally and architecturally)

This architecture is Elastic Cloud

AWS & Rackspace Cloud are mostly similar

e.g. Rackspace control plane spans AZs, but still it’s Elastic Cloud

AWS & VMware clouds (like Savvis) are very dissimilar

e.g. Fixed vs variable VM sizes

AWS

Page 45: AWS Repatriation: Bring Your Apps Back

OpenStack is NOT a System

Page 46: AWS Repatriation: Bring Your Apps Back

Definition of a System

46

1) A set of components

2) Integrated into a specific architecture designed for a purpose

3) Greater than the sum of its parts

Page 47: AWS Repatriation: Bring Your Apps Back

Definition of a System

47

1) A set of components

2) Integrated into a specific architecture designed for a purpose

3) Greater than the sum of its parts

OpenStack is a component framework w/o an integrated reference architecture

Page 48: AWS Repatriation: Bring Your Apps Back

CLI toolsDashboard Other tools

ComputeNetworkingOrchestration

Hypervisor(s) QueuingDatabase

/ KVS/ Cache

External Block

Provider

Physical Network Provider

Provisioning

Log Aggregation

Health Monitoring

etc.

REST Meter Data

REST

SQL, etc. Varies Varies Varies AMQP/0MQ

Topology & Metadata

MeteringREST

REST REST

DNS

ImageManagement

IdentityManagement

REST

Block Storage

Object Storage

OpenStack Component Framework

48

UI Layer

ElasticServices

Layer

Oth

er s

tuff,

you

pro

babl

y ne

ed/w

ant

Data &Resource

Layer

SharedServices

Layer

Page 49: AWS Repatriation: Bring Your Apps Back

CLI toolsDashboard Other tools

ComputeNetworkingOrchestration

Hypervisor(s) QueuingDatabase

/ KVS/ Cache

External Block

Provider

Physical Network Provider

Provisioning

Log Aggregation

Health Monitoring

etc.

REST Meter Data

REST

SQL, etc. Varies Varies Varies AMQP/0MQ

Topology & Metadata

MeteringREST

REST REST

DNS

ImageManagement

IdentityManagement

REST

Block Storage

Object Storage

OpenStack Component Framework

49

UI Layer

ElasticServices

Layer

Oth

er s

tuff,

you

pro

babl

y ne

ed/w

ant

Data &Resource

Layer

SharedServices

Layer

Which Networkingor Plugin?

Which Hypervisors& Hardware?

Which Block

Storage?

Which Object

Storage?

Which Orchestration?

Where to Store

Images?

Which Identity

Management?

Configure the Metering?

Use the Dashboard?

Which CLI & Mgmt

Tools?

Page 50: AWS Repatriation: Bring Your Apps Back

OpenStack Component Framework

50

Very flexible like the Linux kernel

Components don’t have to be used in the same architecture

Metering / Billing Platform

Private / Public Cloud

PaaS Platform

Storage Platform

OpenStackComponents

Cloud App Mgt Framework

Page 51: AWS Repatriation: Bring Your Apps Back

Integrate Components to get a System

51

The componentsintegrated into the black box matter (a lot)

Page 52: AWS Repatriation: Bring Your Apps Back

Making OpenStack Compat./Interop. with Elastic Public Clouds

52

Some flavors of OpenStack need to embrace the architecture, semanticsand behavior of elastic clouds

This will allow true Hybrid Cloud for:Reduced friction for Cloud Application Management toolsEasy repatriation and expatriation of apps

The API is the track gauge for compatibility. The rest is what you put on the tracks.

AWSGCERAXAzure...

Page 53: AWS Repatriation: Bring Your Apps Back

The Track Gauge Wars

53

OpenStack’s inherent flexibility means winning the compatibility and interoperability race

http://schools-wikipedia.org/wp/g/Great_Western_Railway.htm

Page 54: AWS Repatriation: Bring Your Apps Back

The Track Gauge Wars

53

OpenStack’s inherent flexibility means winning the compatibility and interoperability race

http://schools-wikipedia.org/wp/g/Great_Western_Railway.htm

Cloud is Somewhere Around Here

Page 55: AWS Repatriation: Bring Your Apps Back

Hybrid Cloud is the Future

Page 56: AWS Repatriation: Bring Your Apps Back

OpenStack is the Key to that Future

55

OpenStack’s perceived weakness is its greatest strength

Flexibility & NOT being a pre-integrated system means it can take many forms

Some of these can be public cloud compatible (OpenStack’s future dominance depends on it)

Page 57: AWS Repatriation: Bring Your Apps Back

Public Cloud Compatibility and Interoperability requires...

56

Same APIs (the explicit contract)Same Behavior (the implicit contract)

API and Behavioral Equivalency requires Same Semantics Same Architecture

Page 58: AWS Repatriation: Bring Your Apps Back

Hybrid Cloud Brings Both Worlds Together

57

PublicCloud

Scalable

PrivateCloud

General Purpose

OptimizedPurposeOn Demand

RenterEconomics

OwnerEconomics

Secure

Controlled

Manage apps on public and private cloud as a single entity

Hybrid Cloud

Bridging the great divide!

Page 59: AWS Repatriation: Bring Your Apps Back

The Hybrid-First Cloud Strategy

58

1) Embrace public cloud architecturesAWS, GCE, RAX, Azure, and possibly vCloud

2) Expand work on refstack & TempestPublic cloud interoperability & hybrid cloud

3) Embrace & extend existing AWS testseutester, aws-compat, OpenStack tempest, NetflixOSS

Page 60: AWS Repatriation: Bring Your Apps Back

Summary

Page 61: AWS Repatriation: Bring Your Apps Back

Public Cloud App RepatriationPrivate Cloud Can Be Cost EffectiveAs long as it’s designed like a public cloud

Hybrid Cloud Provides Best of BothYou probably want maximum choice

Hybrid Requires Behavioral EquivalencyInteroperability and Compatibility are Real

Hybrid-first Cloud Strategy...and OpenStack is the key to building many different hybrid cloud solutions

60

1

2

3

4

Page 62: AWS Repatriation: Bring Your Apps Back

Q & A

http://simplicityscales.com/engineering blog

61

Randy BiasCEO & Co-founder, CloudscalingDirector, OpenStack Foundation@randybias