@drumulonimbus Hybrid Cloud Landmines Architecting Apps to Avoid - - PowerPoint PPT Presentation

drumulonimbus hybrid cloud landmines
SMART_READER_LITE
LIVE PREVIEW

@drumulonimbus Hybrid Cloud Landmines Architecting Apps to Avoid - - PowerPoint PPT Presentation

@drumulonimbus Hybrid Cloud Landmines Architecting Apps to Avoid Problems Drew Smith, Cloud Applications Engineer OpenStack Juno Design Summit May 15th, 2014 CCA - NoDerivs 3.0 Unported License - Usage OK, no modifications, full


slide-1
SLIDE 1

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

Hybrid Cloud Landmines Drew Smith, Cloud Applications Engineer OpenStack Juno Design Summit May 15th, 2014

Architecting Apps to Avoid Problems

@drumulonimbus

slide-2
SLIDE 2

Introductions

Drew Smith

Cloud Applications Engineer @ Cloudscaling AWS Solutions Architect / RHCE / Lifelong nerd Easily excited, housetrained, doesn’t bite dsmith@cloudscaling.com

2

slide-3
SLIDE 3

Today’s Goals:

The Whats & Whys of Hybrid Cloud What’s in the Functional Stack? What Enables Hybrid Cloud? Understanding Application Requirements Success vs Failure Defined The Usual Approaches to Hybrid Cloud Hybrid Cloud Landmines Architecting Apps to Avoid Problems

(slides are available online at http://slideshare.net/drumulonimbus)

3

slide-4
SLIDE 4

Q: What is Hybrid Cloud?

4

Geographic
 Optimization Cost 
 Optimization Performance 
 Optimization Bursting Disaster 
 Recovery Compliance Scaling

slide-5
SLIDE 5

A: It’s all of those things!

…but for the sake of brevity, we’re going to define it as:

5

“Hybrid Cloud is your apps leveraging the functional stack of multiple cloud infrastructures”

slide-6
SLIDE 6

What’s in a functional stack?

6

Orchestration / Auto-Scaling / Failover Monitoring & Metrics VM Provisioning Image Management Data Storage / Management Security & Access Management Common Operations Portal / Tools “Hybrid Cloud is your apps leveraging the functional stack

  • f multiple cloud

infrastructures”

  • …so some or all
  • f these need to

be managed in multiple places.

slide-7
SLIDE 7

Stack-stacking?!

7

Orchestration / Auto-Scaling / Failover Monitoring & Metrics VM Provisioning Image Management Data Storage / Management Security & Access Management Common Operations Portal / Tools Orchestration / Auto-Scaling / Failover Monitoring & Metrics VM Provisioning Image Management Data Storage / Management Security & Access Management Common Operations Portal / Tools

OpenStack AWS …more like stack diplomacy.

slide-8
SLIDE 8

AUTOMATION

Heat

ABSTRACTION

What enables Hybrid Cloud?

8

Pre-staged
 Images

Control Ease 


  • f Use

Cloud API Orchestration & Config Mgt PaaS

slide-9
SLIDE 9

Understand Your App

9

Requirements will drive your hybrid architecture choices

Why are you thinking about hybrid cloud in the first place? What are your expectations? What are likely bottlenecks?

Hint: probably similar to the ones you saw when you built the app

Read “The Phoenix Project”

by Gene Kim / Kevin Behr / George Spafford

slide-10
SLIDE 10

What does success look like?

10

It still depends on your application requirements.

Nailing it

Able to deploy an app into or across multiple cloud environments, with common operational tools / processes and consistent performance.

  • Good enough

Able to spread your workload across multiple platforms with a minimum of effort / intervention

slide-11
SLIDE 11

What does failure look like?

Introduces complexity without obvious gains in stability, resiliency and cost App experiences performance issues

11

Many workarounds hacks needed to manage configuration exceptions

slide-12
SLIDE 12

What are the usual approaches to Hybrid Cloud applications?

12

DIY App Mgmt Approach

Control Ease 


  • f Use

Pre-Baked Abstraction Layers PaaS Framework

1 3 2

slide-13
SLIDE 13

DIY Hybrid App Management

13

Heat

Orchestration / Auto-Scaling Monitoring & Metrics VM Provisioning Image Management Data Storage / Management Security & Access Management Common Operations Portal / Tools

Python/Ruby/C++/etc talking directly to APIs Often uses images as change control (not a good idea…) Orchestration is difficult across platforms

1

slide-14
SLIDE 14

Pre-Baked Abstraction Layers

14

Less effort, less control Noticeably more (30%-50%) costs, both up-front and ongoing Lots of options out there, but there are always trade-offs

2

slide-15
SLIDE 15

Deploy to a PaaS Framework

Least effort / manpower needed to succeed

  • Least granularity / control,

locked into the platform

  • Can be costly!

15

3

slide-16
SLIDE 16

Hybrid Cloud Land Mines

Feature Coverage / Gaps Behavioural Compatibility Image Management Monitoring & Auto-Scaling Security & Access Other Land Mines…

Data Staging / Replication Intra-app Messaging Networking / Network Mgmt HA/DR Architectures Common Tools & Processes

16

slide-17
SLIDE 17

OpenStack AWS

Dependance on Cloud-specific services reduces application interoperability Differences in cloud features can also affect app interoperability

Feature Coverage / Gaps

17

Even similar clouds might not have the same features (e.g Heat) enabled!

slide-18
SLIDE 18

Behavioural Compatibility

Partially-implemented or partially-compatible APIs

  • Configuration differences

between similar clouds

  • Variable performance from
  • ne cloud to the other

18

slide-19
SLIDE 19

Image Management

Staging and patching images in multiple environments

19

Maintaining your own is time-consuming Seems like a good way, but gets messy quickly.

slide-20
SLIDE 20

Monitoring & Auto-Scaling

20

There’s currently no one accepted standard Abstraction helps reduce the impact, but can also vendor-lock you DIY = on your own. :/ “This is wrong…”

slide-21
SLIDE 21

Security and Access

Access management across clouds

IAM vs. Keystone vs. Google Apps for Business vs. ???

VPN/VPC

Doesn’t exist the same in all clouds (Cloudscaling has Layer3 and VPC)

Managing security incidents

How quickly can you roll out new code?

21

slide-22
SLIDE 22

Other Land Mines

Data staging / replication

Latency/bandwidth issues Can get expensive fast!

App Messaging

Need a common messaging service across environments? Securely over tunnels? (Consul.io is really neat!)

Networking / Network Management

Variations on VM NICs creating issues Leverage VPC for isolation? Sure, but which one?

HA/DR Architectures?

Warm vs. Hot failover

Common Tools & Processes

Managing across clouds - Horizon vs. Aurora vs. ??? High-level tools with abstraction - Puppet/Chef/etc

22

slide-23
SLIDE 23

Architecting Apps To Avoid Problems

  • Understand and document your application
  • Employ cloud-native design

app portability as a road to hybrid cloud

  • Use well-understood open source tools
  • Abstract everything

… or, at least, everything you are comfortable with

  • Automate everything

everything-as-code!

  • Ensure behavioural compatibility

23

slide-24
SLIDE 24

Questions?

Drew Smith @drumulonimbus

slide-25
SLIDE 25

Take-away reading:

http://www.cloudscaling.com - Cloudscaling http://draios.com - cloud debugging tools http://antitude.io - neat next-gen app demo http://consul.io - next-gen app dev tools http://slideshare.net/drumulonimbus - slides http://twitter.com/drumulonimbus - me

25