Your SlideShare is downloading. ×
Puppet

By Zenyk Matchyshyn
Agenda

•
•
•
•
•
•
•
•

What was before

Main ideas behind Puppet
Puppet Basics

Puppet Components
Extensibility

Marione...
What was before

•
•
•
•

5/7/10

Huge manual activity
Custom written shell scripts
SSH’ing into everything
Bash kung-fu

...
Was

Application
Server

5/7/10

Database

4
Is

5/7/10

5
Or like this

•
•
•
•

5/7/10

Facebook: 180K servers
Microsoft: 1M servers
Twitter: ~ 1k-2K servers (2011)
Netflix – 10K ...
Main ideas behind Puppet

•

Declaratively describe resources and their
state

•
•
•
•

Abstract from Operation System

5/...
Puppet Background

•

Started in 2005, before 2.7 – under GPL, after
– Apache 2 license

•
•
•
•
•

Written in Ruby, provi...
Puppet Basics
class ntp {

package { "ntp":
ensure => installed
}
service { "ntp":
ensure => running,
require => Package["...
Puppet - Demo

5/7/10

10
Puppet Basics – Cont.

•
•
•
•

5/7/10

Packages, Files, Services, Groups, Users, …
Dependencies on resources
Inheritance ...
How it works

5/7/10

12
Puppet Components

•
•
•
•

5/7/10

Facter
Agent
Master
Reporting

13
Main Puppet Entities

•
•
•
•

5/7/10

Facts – system information
Manifest – Puppet code
Catalog – host resources with dep...
Extensibility

•
•
•

5/7/10

Facter
External Node Classifier
Custom Types, Providers, Functions

15
MCollective

•
•

Orchestration framework related to Puppet

•

Asynchronous execution of operations on
collectives using ...
Alternatives

•
•
•
•

5/7/10

CFEngine
Chef
Salt
Ansible

17
Q/A

?
18
Upcoming SlideShare
Loading in...5
×

Puppet / DevOps - EDGE Lviv

252

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
252
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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

×