drumulonimbus hybrid cloud landmines
play

@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


  1. @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 attribution* � * All unlicensed or borrowed works retain their original licenses

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

  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

  4. Q: What is Hybrid Cloud? Disaster 
 Geographic 
 Recovery Optimization Scaling Bursting Cost 
 Performance 
 Optimization Optimization Compliance 4

  5. A: It’s all of those things! …but for the sake of brevity, we’re going to define it as: “Hybrid Cloud is your apps leveraging the functional stack of multiple cloud infrastructures” 5

  6. What’s in a functional stack? “Hybrid Cloud is Orchestration / Auto-Scaling / Failover your apps Monitoring & Metrics leveraging the functional stack VM Provisioning of multiple cloud infrastructures” � Image Management � Data Storage / Management …so some or all of these need to Security & Access Management be managed in multiple places. Common Operations Portal / Tools 6

  7. Stack-stacking?! OpenStack AWS Orchestration / Auto-Scaling / Failover Orchestration / Auto-Scaling / Failover Monitoring & Metrics Monitoring & Metrics VM Provisioning VM Provisioning Image Management Image Management Data Storage / Management Data Storage / Management Security & Access Management Security & Access Management Common Operations Portal / Tools Common Operations Portal / Tools …more like stack diplomacy. 7

  8. What enables Hybrid Cloud? AUTOMATION Heat ABSTRACTION Ease 
 Pre-staged 
 Cloud API Orchestration � Control PaaS Images & Config Mgt of Use 8

  9. Understand Your App 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 9

  10. What does success look like? 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 10

  11. What does failure look like? Introduces complexity without obvious gains in stability, resiliency and cost � App experiences performance issues Many workarounds hacks needed to manage configuration exceptions 11

  12. What are the usual approaches to Hybrid Cloud applications? 1 3 2 Ease 
 Control of Use DIY App Mgmt � PaaS � Pre-Baked � Approach Framework Abstraction Layers 12

  13. DIY Hybrid App Management 1 Python/Ruby/C++/etc talking directly to APIs � Heat Often uses images as Orchestration / Auto-Scaling change control (not a Monitoring & Metrics good idea…) � VM Provisioning Image Management Data Storage / Management Orchestration is difficult Security & Access Management across platforms Common Operations Portal / Tools 13

  14. Pre-Baked Abstraction Layers 2 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 14

  15. Deploy to a PaaS Framework 3 Least effort / manpower needed to succeed � � Least granularity / control, locked into the platform � � Can be costly! 15

  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

  17. Feature Coverage / Gaps Dependance on Cloud-specific services reduces application interoperability � Differences in cloud features can also affect app interoperability Even similar clouds might not have the same features (e.g Heat) enabled! OpenStack � AWS 17

  18. Behavioural Compatibility Partially-implemented or partially-compatible APIs � � Configuration differences between similar clouds � � Variable performance from one cloud to the other 18

  19. Image Management Staging and patching images in multiple environments Maintaining your own is time-consuming � Seems like a good way, but gets messy quickly. 19

  20. Monitoring & Auto-Scaling 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…” 20

  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

  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

  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

  24. @drumulonimbus Drew Smith Questions?

  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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend