OSCON 2012 OpenStack Automation and DevOps Best Practices


Published on

Dell's Rob Hirschfeld and Opscode's Matt Ray's talk at OSCON 2012 on the state of automating and deploying OpenStack.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

OSCON 2012 OpenStack Automation and DevOps Best Practices

  1. 1. Automation and DevOps Best Practices Rob Hirschfeld, Dell Matt Ray, Opscode
  2. 2. Deploying & Managing a Cloud is not simple. •  Deploying to physical gear on layered networks •  Multiple interlocking projects •  Hundreds of configuration options •  An aggressive 6 month delivery cycle •  Constant innovation on core technologies It does not have to be hard!
  3. 3. Problem: Clouds do not operate themselves! Operations Servers Networks Storage Etc. Expertise
  4. 4. Ops automation (“devops”) jumpstarts learning,reduces complexity and manages scale. Operations Automation ic (DevOps) ur Top O Servers Networks Storage Etc. Operations Expertise
  5. 5. DevOps is CAMS‣  Culture‣  Automation‣  Measurement‣  Sharing
  6. 6. Foundation for Success: Open Operations‣  Start with “Operations as Code”‣  Leverage the community ‣  Write Operations code so it can be openly shared ‣  Learn from other people’s experience‣  Make operations a priority ‣  Engage developers in operations challenges ‣  Make deployability a dev & test concern‣  These are central issues to Opscode & Dell
  7. 7. What is Chef?‣  An Open Source automation platform to continuously define, build, and manage infrastructure.‣  Chef enables people to easily build & manage complex & dynamic applications at massive scale‣  Built on the idea of Infrastructure as Code ‣  Programmatically provision and configure nodes ‣  Reconstruct business from code repository, data backup, and bare metal resources.
  8. 8. How Can Chef Help?Blueprint Your Build Anything… And Manage It SimplyInfrastructure Provision compute • Introduce continuous• Compute resources in the Data incremental change or total change.• Application Center and the Cloud • Infrastructure • Automatically reconfigure• Storage everything• Security • Application Stacks • Re-provision for disaster• Network • Big Data recovery• Configuration Standards • HPC • Fail-over to bare metal • IaaS • Monitor for compliance • PaaS • Cloud migrations becomeUsing 1,000’s of man- trivial • SaaS days of prior art!
  9. 9. A model for reuse that works! 500+ Cookbooks © Opscode, 2011 – Confidential – DO NOT DISTRIBUTE 9
  10. 10. The Path to Full Automation Full Continuous Infrastructure Deployment Automation Application Configuration Management CommonDiscovery and Management Automation Visibility Tasks: Scripts, OS Compliance, Updates & Patches
  11. 11. OpenStack has a lot of interlocking parts!
  12. 12. …and it matters how they are deployed! Cookbooks
  13. 13. Clouds are a complex: not like an app‣  Building up OpenStack requires a system view ‣  Breaking projects into discrete cookbooks enables maintainability ‣  Conventions are needed so that projects and cross reference each other‣  Networking is critical ‣  Each component requires correct VLAN, teaming and virtual bridge configuration. ‣  Each site has unique networking needs (IP, subnet, VLAN) ‣  NIC enumeration can break even the simplest scipts‣  Hardware configuration is boring but very important ‣  Application choices force configuration changes (late binding) ‣  Small mistakes can be very expensive to find and fix‣  We needed a way to make deploy simpler, faster & repeatable
  14. 14. OpenStack Installer: Dell Crowbar Project‣  Field Proven Technologies ‣  Build on locally deployed Chef Server, Raw servers to full cloud in <2 hours, Multi-Node from the ground up, Hardened with over a year of real deployments‣  Apache 2 Open Source (on github/dellcloudedge) ‣  Multi-Apps (OpenStack & Hadoop), Multi-OS (Ubuntu, RHEL, CentOS, SUSE), Development “in the open” w/ community engagement‣  OpenStack Releases (dell.com/OpenStack) ‣  Cactus, Diablo and Essex!‣  Not Dell Hardware Limited
  15. 15. Crowbar Builds Up Clouds in layers APIs, User Access, & Ecosystem PartnersOps Management Dell “Crowbar” Cloud Infrastructure Core Components & Operating Systems Physical Resources
  16. 16. 1) Hardware Configuration APIs, User Access, & Ecosystem PartnersOps Management Dell “Crowbar” Cloud Infrastructure Core Components & Operating Systems Physical Resources
  17. 17. 2) OS and Ops Infrastructure APIs, User Access, & Ecosystem PartnersOps Management Dell “Crowbar” Cloud Infrastructure Core Components & Operating Systems * Physical Resources * Suse pending, based on open source activity
  18. 18. 3) Cloud Platform Integration APIs, User Access, & Ecosystem PartnersOps Management Dell “Crowbar” Cloud Infrastructure Core Components & Operating Systems * Physical Resources * Suse pending, based on open source activity
  19. 19. 4) Cloud App Management APIs, User Access, & Ecosystem PartnersOps Management Dell “Crowbar” Cloud Infrastructure Core Components & Operating Systems Physical Resources
  20. 20. OpenStack Orchestration: Chef & Crowbar Status (po st) Orchestration State Machine OpenStack ComponentsOps Management Crowbar Magic Happens! nt Clie Dell “Crowbar” f- Che Run List Chef-Client Network Configuration Chef Server Chef-C lient Operating System Config. Che f-C lien t Hardware Config (uses “Sledgehammer”) DHCP Server(s) t PXE Boo
  21. 21. Crowbar & OpenStack Cookbooks‣  Having cookbooks is not enough, Crowbar also ‣  Understands how the cookbooks connect together ‣  Helps you plan out the networking & server allocations‣  Crowbar has a consistent Chef design approach ‣  “Proposal” databags to setup attributes and run-lists ‣  Consistent naming conventions ‣  Roles to link things together – A LOT OF ROLES‣  Crowbar adds many cookbooks for network, monitoring, provisioning & hardware config.
  22. 22. Chef for OpenStack‣  Community for the automated deployment and management of OpenStack ‣  opscode.com/openstack/‣  Cookbooks‣  Documentation‣  Mailing list ‣  groups.google.com/group/opscode-chef-openstack‣  IRC ‣  #openstack-chef on irc.freenode.net
  23. 23. Chef for OpenStack GoalsAlready a lot of OpenStack deployments managed with Chef‣  Provide a stable set of core OpenStack cookbooks‣  Document how the pieces work together‣  Evolve to keep up with latest changes‣  Expand support into new technologies ‣  Operating systems, databases, hypervisors, etc. ‣  Alternate storage types ‣  Alternate networking implementations for Quantum
  24. 24. Chef for OpenStack Roadmap‣  Get stable Essex cookbooks out‣  Establish patterns of collaboration‣  Continuous Integration and gated testing‣  Folsom milestones‣  Documentation, documentation, documentation
  25. 25. Upstreaming accelerates strong deploys‣  Feedback loops enable cookbooks to mature quickly Community Cookbooks Dell Crowbar Chef Cloud A Host B Crowbar Dell Cloud A Chef Community Community Customers Customers
  26. 26. Infrastructure as Code Repositories‣  Deploy your data center with Crowbar ‣  Store this in version control ‣  Test your changes ‣  Promote to production ‣  Rinse, repeat‣  OpenStack deployment is managed with Chef ‣  See above‣  Deploy your applications on OpenStack with Chef ‣  See above
  27. 27. Deploy Your Applications on OpenStack‣  Nova Dashboard‣  Knife OpenStack‣  enStratus‣  Hybrid Cloud!?
  28. 28. knife-openstack
  29. 29. knife-openstack$ knife openstackAvailable openstack subcommands: (for details, knife SUB- COMMAND --help)** OPENSTACK COMMANDS **knife openstack flavor list (options)knife openstack image list (options)knife openstack server create (options)knife openstack server delete SERVER [SERVER] (options)knife openstack server list (options)
  30. 30. knife-openstackknife openstack server create --flavor 1 --image 7 -S keypair -r role[hadoop-worker]’‣  Deploy applications on top of OpenStack‣  Manage them with Chef‣  Configuration backed by version control‣  Transfer your infrastructure anywhere
  31. 31. Challenges‣  Making Community work sharable‣  Testing / Validation ‣  Community ‣  Keeping on Upstreams ‣  Automation (Tempest & CI) ‣  Linking Dev and Ops‣  Upgrade Process‣  # of configurations
  32. 32. Join the Community & Get Started‣  Invest in reusing community code ‣  Respect abstractions & patterns from community code ‣  Participate in communities ‣  Submit bugs (and patches!)‣  Use Upstreams! ‣  Community Cookbooks… Opscode ‣  community.opscode.com ‣  Deploy Infrastructure… Dell Crowbar ‣  github.com/dellcloudedge/crowbar
  33. 33. Thanks!Rob Hirschfeld‣  rob_hirschfeld@dell.com‣  Twitter: @zehicle‣  Blog: robhirschfeld.comMatt Ray‣  matt@opscode.com‣  Twitter/GitHub/IRC: @mattray‣  Blog: leastresistance.net