eSynergy Andy Hawkins - Enabling DevOps through next generation configuration management
Upcoming SlideShare
Loading in...5
×
 

eSynergy Andy Hawkins - Enabling DevOps through next generation configuration management

on

  • 808 views

 

Statistics

Views

Total Views
808
Views on SlideShare
807
Embed Views
1

Actions

Likes
0
Downloads
7
Comments
0

1 Embed 1

https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

eSynergy Andy Hawkins - Enabling DevOps through next generation configuration management eSynergy Andy Hawkins - Enabling DevOps through next generation configuration management Presentation Transcript

  • Configuration Management for theDevops generation.Friday, 17 May 13
  • We Live In A Confusing World?Friday, 17 May 13
  • And We’ve All Experienced This?SometimesFeels Like itisDev vs. Opsvs. ITIL?Friday, 17 May 13 View slide
  • * Applications deliveredquickly to help businesssucceed* Allowing us to work oninteresting projects* Tools that will simplifyconfiguration, release andchangeBut We All Want The Same Thing?Friday, 17 May 13 View slide
  • * Applications deliveredquickly to help businesssucceed* Allowing us to work oninteresting projects* Tools that will simplifyconfiguration, release andchangeBut We All Want The Same Thing?Friday, 17 May 13
  • * Applications deliveredquickly to help businesssucceed* Allowing us to work oninteresting projects* Tools that will simplifyconfiguration, release andchangeBut We All Want The Same Thing?And not this ?Friday, 17 May 13
  • *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 scaleIt took a long time to go anywhere.In The PastFriday, 17 May 13
  • Enter DevOps and ChefFriday, 17 May 13
  • Chef is an automation platform for developers & systems engineers to continuouslydefine, build, and manage infrastructure.CHEF USES:Recipes and Cookbooksthat describe Infrastructure as Code.Chef enables people to easily build &manage complex & dynamic applicationsat massive scale• New model for describing infrastructure thatpromotes reuse• Programmatically provision and configure• Reconstruct business from code repository,data backup, and bare metal resourcesChefChef is available in open source, PaaS andEnterprise optionsFriday, 17 May 13
  • Consider this.....Friday, 17 May 13
  • Jboss AppMemcachePostgres SlavesPostgres MasterNagiosGraphiteTypical InfrastructureFriday, 17 May 13
  • Jboss AppMemcachePostgres SlavesPostgres MasterNagiosGraphite• Move SSH off port 22• Lets put it on 2022New Compliance Mandate!Friday, 17 May 13
  • Jboss AppMemcachePostgres SlavesPostgres MasterNagiosGraphite• Change, Restart• Repeat• Typically manuallyMany Changes , Mostly Manual?• Don’t break anything!• Bob just got fired =(Friday, 17 May 13
  • Jboss AppMemcachePostgres SlavesPostgres MasterNagiosGraphite• More Complexity• More wiring• Bigger run-bookScale OutFriday, 17 May 13
  • And It Gets Worse?Application ServersApplication Database CacheLoad BalancersFloating IP?Application DatabasesFriday, 17 May 13
  • And It Gets Worse?Application ServersApplication Database CacheLoad BalancersFloating IP?Application DatabasesEvolvingcomplexityVirtualizationCloudPortabilityFriday, 17 May 13
  • Complexity Grows QuicklyDC1DC3DC2Friday, 17 May 13
  • Configuration DesperationCode Samplehttp://www.flickr.com/photos/francoforeshock/5716969942/Friday, 17 May 13
  • • But you alreadyguessed that, didn’tyou?Chef Solves this ProblemFriday, 17 May 13
  • Chef is Infrastructure as Codehttp://www.flickr.com/photos/louisb/4555295187/• Programmaticallyprovision and configure• Treat like any other codebase• Reconstruct business fromcode repository, databackup, and bare metalresources.Friday, 17 May 13
  • • Chef-Client generatesconfigurations directlyon nodes from theirrun list• Reduce managementcomplexity throughabstraction• Store the configurationof your programs inversion controlhttp://www.flickr.com/photos/ssoosay/5126146763/NodesFriday, 17 May 13
  • Collections of Resources• Networking• Files• Directories• Symlinks• Mounts• Routes• Users• Groups• Tasks• Packages• Software• Services• Configurations• Other Stuffhttp://www.flickr.com/photos/stevekeys/3123167585/Friday, 17 May 13
  • Declarative Interface to Resources• Define policy• Say what, not how• Pull not Pushhttp://www.flickr.com/photos/bixentro/2591838509/Friday, 17 May 13
  • Recipes and Cookbooks• Recipes are collections ofResources• Cookbooks containrecipes, templates, files,custom resources, etc• Code re-use andmodularity• Written in Ruby - extendas necessary• Hundreds already onCommunity.opscode.comhttp://www.flickr.com/photos/shutterhacks/4474421855/Friday, 17 May 13
  • http://www.flickr.com/photos/kathycsus/2686772625• IP addresses• Hostnames• FQDNs• Search for whenstatic config isn’tenough• data-driven powerSearchFriday, 17 May 13
  • pool_members = search("node","role:webserver”)template "/etc/haproxy/haproxy.cfg" dosource "haproxy-app_lb.cfg.erb"owner "root"group "root"mode 0644variables :pool_members => pool_members.uniqnotifies :restart, "service[haproxy]"endPass Results to TemplatesFriday, 17 May 13
  • # Set up application listeners here.listen application 0.0.0.0:80balance 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:22002mode httpstats uri /<% end -%>Pass Results to TemplatesFriday, 17 May 13
  • Jboss AppMemcachePostgres SlavesPostgres MasterSo when thisNagiosGraphiteFriday, 17 May 13
  • Jboss AppMemcachePostgres SlavesPostgres MasterNagiosGraphiteBecomes thisFriday, 17 May 13
  • Jboss AppMemcachePostgres SlavesPostgres MasterNagiosGraphiteUpdates can be automaticFriday, 17 May 13
  • NagiosGraphiteCount the resourcesJboss AppMemcachePostgres 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 additionFriday, 17 May 13
  • Build anything• Simple internal applications• Complex external applications• Workstations• Hadoop clusters• IaaS infrastructure• PaaS infrastructure• SaaS applications• Storage systems• You name ithttp://www.flickr.com/photos/hyku/245010680/Friday, 17 May 13
  • And manage it simplyhttp://www.flickr.com/photos/helico/404640681/• Automaticallyreconfigureeverything• Linux,Windows,Unixes, BSDs• Load balancers• Metrics collectionsystems• Monitoring systems• Cloud migrationsbecome trivialFriday, 17 May 13
  • Code SampleChef ComponentsFriday, 17 May 13
  • knife with the Chef Server• knife node• create/delete/edit• list• knife cookbook ...• knife role ...• knife environment ...Friday, 17 May 13
  • knife search• What operating systems are running?• What version of ruby is running?• How much memory do you have on eachmachine?Friday, 17 May 13
  • Discovery & Data Driven (Ohai!)Friday, 17 May 13
  • knife searchknife search “*:*” -a platformknife search “*:*” -a languages.ruby.versionknife search “*:*” -a memory.totalFriday, 17 May 13
  • knife ssh$ knife ssh "roles:rails-web" "sudo chef-client"Friday, 17 May 13
  • And the Cloud.....$ knife ec2Available 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 othersFriday, 17 May 13
  • CommunityFriday, 17 May 13
  • The Chef Community• Apache License,Version 2.0• 1200+ Individual contributors• 200+ Corporate contributors• Google, HP, Dell, Rackspace,VMware,Joyent, Calxeda, Heroku, SUSE and manymore• 800+ cookbooks• http://community.opscode.comFriday, 17 May 13
  • How Do I Start?•docs.opscode.com•learnchef.com•opscode.eventbrite.com•lists.opscode.comFriday, 17 May 13
  • Friday, 17 May 13
  • Yep, we’re hiring!Friday, 17 May 13
  • Thanks! Any Questions?Andy Hawkinsandy@opscode.comFriday, 17 May 13