Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to...

25
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

Transcript of Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to...

Page 1: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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

Page 2: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

Introductions

Drew Smith!Cloud Applications Engineer @ Cloudscaling!AWS Solutions Architect / RHCE / Lifelong nerd!Easily excited, housetrained, doesn’t [email protected]

2

Page 3: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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

Page 4: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

Q: What is Hybrid Cloud?

4

GeographicOptimization

Cost Optimization

Performance Optimization

Bursting

Disaster Recovery

Compliance

Scaling

Page 5: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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”

Page 6: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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 of multiple cloud infrastructures”!!…so some or all of these need to be managed in multiple places.

Page 7: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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.

Page 8: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

AUTOMATION

Heat

ABSTRACTION

What enables Hybrid Cloud?

8

Pre-stagedImagesControl Ease

of UseCloud API Orchestration"

& Config Mgt PaaS

Page 9: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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

Page 10: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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

Page 11: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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

Page 12: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

What are the usual approaches to Hybrid Cloud applications?

12

DIY App Mgmt"Approach

ControlEase

of UsePre-Baked"Abstraction Layers

PaaS"Framework

1 32

Page 13: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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

Page 14: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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

Page 15: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

Deploy to a PaaS Framework

Least effort / manpower needed to succeed!!

Least granularity / control, locked into the platform!!

Can be costly!

15

3

Page 16: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

Hybrid Cloud Land MinesFeature 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

Page 17: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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!

Page 18: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

Behavioural Compatibility

Partially-implemented or partially-compatible APIs!!

Configuration differences between similar clouds!!

Variable performance from one cloud to the other

18

Page 19: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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.

Page 20: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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…”

Page 21: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

Security and AccessAccess 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

Page 22: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

Other Land MinesData 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

Page 23: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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 compatibility23

Page 24: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

Questions?

Drew Smith@drumulonimbus

Page 25: Hybrid Cloud Landmines - OpenStack · PDF fileHybrid Cloud Landmines! Architecting Apps to Avoid Problems! ... OpenStack AWS more like stack ... Requirements will drive your hybrid

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