Puppet / DevOps - EDGE Lviv

494 views
371 views

Published on

Presentation covers usage of Puppet, why it emerged and what kind of problems it solves.

Published in: Technology, Spiritual, Travel
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
494
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Puppet / DevOps - EDGE Lviv

  1. 1. Puppet By Zenyk Matchyshyn
  2. 2. Agenda • • • • • • • • What was before Main ideas behind Puppet Puppet Basics Puppet Components Extensibility Marionette Collective (MCollective) Alternatives Q/A 2
  3. 3. What was before • • • • 5/7/10 Huge manual activity Custom written shell scripts SSH’ing into everything Bash kung-fu 3
  4. 4. Was Application Server 5/7/10 Database 4
  5. 5. Is 5/7/10 5
  6. 6. Or like this • • • • 5/7/10 Facebook: 180K servers Microsoft: 1M servers Twitter: ~ 1k-2K servers (2011) Netflix – 10K servers (2011) 6
  7. 7. Main ideas behind Puppet • Declaratively describe resources and their state • • • • Abstract from Operation System 5/7/10 Re-usage of snippets Security build-in Focus on efficiency rather than flexibility 7
  8. 8. Puppet Background • Started in 2005, before 2.7 – under GPL, after – Apache 2 license • • • • • Written in Ruby, provides Puppet DSL 5/7/10 Has commercial support Huge adoption and community Cross platform Client-server with REST API 8
  9. 9. Puppet Basics class ntp { package { "ntp": ensure => installed } service { "ntp": ensure => running, require => Package["ntp"] } } node myhost { include ntp } 5/7/10 9
  10. 10. Puppet - Demo 5/7/10 10
  11. 11. Puppet Basics – Cont. • • • • 5/7/10 Packages, Files, Services, Groups, Users, … Dependencies on resources Inheritance of classes Conditionals 11
  12. 12. How it works 5/7/10 12
  13. 13. Puppet Components • • • • 5/7/10 Facter Agent Master Reporting 13
  14. 14. Main Puppet Entities • • • • 5/7/10 Facts – system information Manifest – Puppet code Catalog – host resources with dependencies Report – collection of events during Catalog run 14
  15. 15. Extensibility • • • 5/7/10 Facter External Node Classifier Custom Types, Providers, Functions 15
  16. 16. MCollective • • Orchestration framework related to Puppet • Asynchronous execution of operations on collectives using STOMP • Integration with Puppet/Facter etc. 5/7/10 More fine grained selection of nodes called “collectives” 16
  17. 17. Alternatives • • • • 5/7/10 CFEngine Chef Salt Ansible 17
  18. 18. Q/A ? 18

×