Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

eSynergy Andy Hawkins - Enabling DevOps through next generation configuration management

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
Ansible @ WebElement 2015
Ansible @ WebElement 2015
Cargando en…3
×

Eche un vistazo a continuación

1 de 46 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a eSynergy Andy Hawkins - Enabling DevOps through next generation configuration management (20)

Anuncio

Más de PatrickCrompton (17)

Más reciente (20)

Anuncio

eSynergy Andy Hawkins - Enabling DevOps through next generation configuration management

  1. 1. Configuration Management for the Devops generation. Friday, 17 May 13
  2. 2. We Live In A Confusing World? Friday, 17 May 13
  3. 3. And We’ve All Experienced This? Sometimes Feels Like it is Dev vs. Ops vs. ITIL? Friday, 17 May 13
  4. 4. * Applications delivered quickly to help business succeed * Allowing us to work on interesting projects * Tools that will simplify configuration, release and change But We All Want The Same Thing? Friday, 17 May 13
  5. 5. * Applications delivered quickly to help business succeed * Allowing us to work on interesting projects * Tools that will simplify configuration, release and change But We All Want The Same Thing? Friday, 17 May 13
  6. 6. * Applications delivered quickly to help business succeed * Allowing us to work on interesting projects * Tools that will simplify configuration, release and change But We All Want The Same Thing? And not this ? Friday, 17 May 13
  7. 7. *You built your own or *You bought something * You had to bend your thinking * It was hard to install if it worked * You had an empty vessel * Did it support multiple OS’s or scale It took a long time to go anywhere. In The Past Friday, 17 May 13
  8. 8. Enter DevOps and Chef Friday, 17 May 13
  9. 9. Chef is an automation platform for developers & systems engineers to continuously define, build, and manage infrastructure. CHEF USES: Recipes and Cookbooks that describe Infrastructure as Code. Chef enables people to easily build & manage complex & dynamic applications at massive scale • New model for describing infrastructure that promotes reuse • Programmatically provision and configure • Reconstruct business from code repository, data backup, and bare metal resources Chef Chef is available in open source, PaaS and Enterprise options Friday, 17 May 13
  10. 10. Consider this..... Friday, 17 May 13
  11. 11. Jboss App Memcache Postgres Slaves Postgres Master NagiosGraphite Typical Infrastructure Friday, 17 May 13
  12. 12. Jboss App Memcache Postgres Slaves Postgres Master NagiosGraphite • Move SSH off port 22 • Lets put it on 2022 New Compliance Mandate! Friday, 17 May 13
  13. 13. Jboss App Memcache Postgres Slaves Postgres Master NagiosGraphite • Change, Restart • Repeat • Typically manually Many Changes , Mostly Manual? • Don’t break anything! • Bob just got fired =( Friday, 17 May 13
  14. 14. Jboss App Memcache Postgres Slaves Postgres Master NagiosGraphite • More Complexity • More wiring • Bigger run-book Scale Out Friday, 17 May 13
  15. 15. And It Gets Worse? Application Servers Application Database Cache Load Balancers Floating IP? Application Databases Friday, 17 May 13
  16. 16. And It Gets Worse? Application Servers Application Database Cache Load Balancers Floating IP? Application Databases Evolving complexity Virtualization Cloud Portability Friday, 17 May 13
  17. 17. Complexity Grows Quickly DC1 DC3 DC2 Friday, 17 May 13
  18. 18. Configuration Desperation Code Sample http://www.flickr.com/photos/francoforeshock/5716969942/ Friday, 17 May 13
  19. 19. • But you already guessed that, didn’t you? Chef Solves this Problem Friday, 17 May 13
  20. 20. Chef is Infrastructure as Code http://www.flickr.com/photos/louisb/4555295187/ • Programmatically provision and configure • Treat like any other code base • Reconstruct business from code repository, data backup, and bare metal resources. Friday, 17 May 13
  21. 21. • Chef-Client generates configurations directly on nodes from their run list • Reduce management complexity through abstraction • Store the configuration of your programs in version control http://www.flickr.com/photos/ssoosay/5126146763/ Nodes Friday, 17 May 13
  22. 22. Collections of Resources • Networking • Files • Directories • Symlinks • Mounts • Routes • Users • Groups • Tasks • Packages • Software • Services • Configurations • Other Stuff http://www.flickr.com/photos/stevekeys/3123167585/ Friday, 17 May 13
  23. 23. Declarative Interface to Resources • Define policy • Say what, not how • Pull not Push http://www.flickr.com/photos/bixentro/2591838509/ Friday, 17 May 13
  24. 24. Recipes and Cookbooks • Recipes are collections of Resources • Cookbooks contain recipes, templates, files, custom resources, etc • Code re-use and modularity • Written in Ruby - extend as necessary • Hundreds already on Community.opscode.com http://www.flickr.com/photos/shutterhacks/4474421855/ Friday, 17 May 13
  25. 25. http://www.flickr.com/photos/kathycsus/2686772625 • IP addresses • Hostnames • FQDNs • Search for when static config isn’t enough • data-driven power Search Friday, 17 May 13
  26. 26. pool_members = search("node","role:webserver”) template "/etc/haproxy/haproxy.cfg" do source "haproxy-app_lb.cfg.erb" owner "root" group "root" mode 0644 variables :pool_members => pool_members.uniq notifies :restart, "service[haproxy]" end Pass Results to Templates Friday, 17 May 13
  27. 27. # Set up application listeners here. listen application 0.0.0.0:80 balance roundrobin <% @pool_members.each do |member| -%> server <%= member[:hostname] %> <%= member[:ipaddress] %>:> weight 1 maxconn 1 check <% end -%> <% if node["haproxy"]["enable_admin"] -%> listen admin 0.0.0.0:22002 mode http stats uri / <% end -%> Pass Results to Templates Friday, 17 May 13
  28. 28. Jboss App Memcache Postgres Slaves Postgres Master So when this NagiosGraphite Friday, 17 May 13
  29. 29. Jboss App Memcache Postgres Slaves Postgres Master NagiosGraphite Becomes this Friday, 17 May 13
  30. 30. Jboss App Memcache Postgres Slaves Postgres Master NagiosGraphite Updates can be automatic Friday, 17 May 13
  31. 31. NagiosGraphite Count the resources Jboss App Memcache Postgres Slaves • Load balancer config • Nagios host ping • Nagios host ssh • Nagios host HTTP • Nagios host app health • Graphite CPU • Graphite Memory • Graphite Disk • Graphite SNMP • Memcache firewall • Postgres firewall • Postgres authZ config • 12+ resource changes for 1 node addition Friday, 17 May 13
  32. 32. Build anything • Simple internal applications • Complex external applications • Workstations • Hadoop clusters • IaaS infrastructure • PaaS infrastructure • SaaS applications • Storage systems • You name it http://www.flickr.com/photos/hyku/245010680/ Friday, 17 May 13
  33. 33. And manage it simply http://www.flickr.com/photos/helico/404640681/ • Automatically reconfigure everything • Linux,Windows, Unixes, BSDs • Load balancers • Metrics collection systems • Monitoring systems • Cloud migrations become trivial Friday, 17 May 13
  34. 34. Code Sample Chef Components Friday, 17 May 13
  35. 35. knife with the Chef Server • knife node • create/delete/edit • list • knife cookbook ... • knife role ... • knife environment ... Friday, 17 May 13
  36. 36. knife search • What operating systems are running? • What version of ruby is running? • How much memory do you have on each machine? Friday, 17 May 13
  37. 37. Discovery & Data Driven (Ohai!) Friday, 17 May 13
  38. 38. knife search knife search “*:*” -a platform knife search “*:*” -a languages.ruby.version knife search “*:*” -a memory.total Friday, 17 May 13
  39. 39. knife ssh $ knife ssh "roles:rails-web" "sudo chef-client" Friday, 17 May 13
  40. 40. And the Cloud..... $ knife ec2 Available ec2 subcommands: (for details, knife SUB-COMMAND -- help) ** EC2 COMMANDS ** knife ec2 flavor list (options) knife ec2 instance data (options) knife ec2 server create (options) knife ec2 server delete SERVER [SERVER] (options) knife ec2 server list (options) $ knife ec2 server create -S keypair -i ~/.ssh/id_rsa -x ubuntu -I ami-4721882e -f m1.small -r 'role[webserver]' • knife ec2 • knife rackspace • knife hp • knife google • knife azure • knife cloudstack • knife openstack • knife vsphere • ... and many others Friday, 17 May 13
  41. 41. Community Friday, 17 May 13
  42. 42. The Chef Community • Apache License,Version 2.0 • 1200+ Individual contributors • 200+ Corporate contributors • Google, HP, Dell, Rackspace,VMware, Joyent, Calxeda, Heroku, SUSE and many more • 800+ cookbooks • http://community.opscode.com Friday, 17 May 13
  43. 43. How Do I Start? •docs.opscode.com •learnchef.com •opscode.eventbrite.com •lists.opscode.com Friday, 17 May 13
  44. 44. Friday, 17 May 13
  45. 45. Yep, we’re hiring! Friday, 17 May 13
  46. 46. Thanks! Any Questions? Andy Hawkins andy@opscode.com Friday, 17 May 13

×