SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
Infrastructure as Data
Nick Lewis
Developer | Puppet Labs
@nick_lewis
Friday, August 23, 13
puppetconf.com #puppetconf
Infrastructure as Data
• Specified data
• Manifests
• Hiera
• Node classification
• Observed data
• Facts
• Generated/derived data
• Catalogs
• Reports
Friday, August 23, 13
puppetconf.com #puppetconf
as a
minecraft addict
I would like
time to be correct on my computer
so that
I can stop playing minecraft and go to sleep
Friday, August 23, 13
puppetconf.com #puppetconf
Infrastructure as Code
• tangible artifact
• easy to change
• documented
• repeatable
• idempotent
Friday, August 23, 13
puppetconf.com #puppetconf
yum install -y ntp
if ! grep 'server 0.pool.ntp.org' /etc/ntp.conf; then
echo 'server 0.pool.ntp.org' >> /etc/ntp.conf
fi
/etc/init.d/ntpd status || /etc/init.d/ntpd start
Friday, August 23, 13
puppetconf.com #puppetconf
yum check-update ntp
if [ $? -eq 100 ]; then
yum install -y ntp && restart_ntp='y'
fi
if ! grep 'server 0.pool.ntp.org' /etc/ntp.conf; then
echo 'server 0.pool.ntp.org' >> /etc/ntp.conf
restart_ntp='y'
fi
if [ -n "$restart_ntp" ]; then
/etc/init.d/ntpd restart
elif ! /etc/init.d/ntpd status; then
/etc/init.d/ntpd start
fi
Friday, August 23, 13
puppetconf.com #puppetconf
Infrastructure as Bash
• platform-specific
• imperative
• ad-hoc relationships
• brittle in the face of failure
Friday, August 23, 13
puppetconf.com #puppetconf
if install_package ntp; then
restart_ntp='y'
fi
if add_file_line 'server 0.pool.ntp.org'; then
/etc/ntp.conf && restart_ntp='y'
fi
if [ 'y' = "$restart_ntp" ]; then
restart_service ntp
else
start_service ntp
fi
Friday, August 23, 13
puppetconf.com #puppetconf
Infrastructure as Bash
• platform-specific
• slightly less imperative
• ad-hoc relationships
• brittle in the face of failure
Friday, August 23, 13
puppetconf.com #puppetconf
Infrastructure as Bash
• platform-specific
• slightly less imperative
• ad-hoc relationships
• brittle in the face of failure
Friday, August 23, 13
puppetconf.com #puppetconf
package { 'ntp':
ensure => 'present',
notify => Service[ntp],
}
file_line { 'ntp server':
path => '/etc/ntp.conf',
line => 'server 0.pool.ntp.org',
require => Package[ntp],
notify => Service[ntp],
}
service { 'ntp':
ensure => 'running',
}
Friday, August 23, 13
puppetconf.com #puppetconf
Infrastructure as Puppet
• platform-independent
• mostly declarative
• relationships are explicit
• understands failure
Friday, August 23, 13
puppetconf.com #puppetconf
class ntp {
package { 'ntp':
ensure => 'present',
notify => Service[ntp],
}
file_line { 'ntp server':
path => '/etc/ntp.conf',
line => 'server 0.pool.ntp.org',
require => Package[ntp],
notify => Service[ntp],
}
service { 'ntp':
ensure => 'running',
}
Friday, August 23, 13
puppetconf.com #puppetconf
include ntp
Friday, August 23, 13
puppetconf.com #puppetconf
tell me what you want
what you really really want
Friday, August 23, 13
puppetconf.com #puppetconf
include magical_time_synchronization
Friday, August 23, 13
puppetconf.com #puppetconf
configuration management
the art of making your monitoring checks
pass
Friday, August 23, 13
puppetconf.com #puppetconf
abstraction
giving a name to something and then
cutting it out of your life
Friday, August 23, 13
puppetconf.com #puppetconf
class ntp {
package { 'ntp':
ensure => 'present',
notify => Service[ntp],
}
file_line { 'ntp server':
path => '/etc/ntp.conf',
line => 'server 0.pool.ntp.org',
require => Package[ntp],
notify => Service[ntp],
}
service { 'ntp':
ensure => 'running',
}
Friday, August 23, 13
puppetconf.com #puppetconf
package { 'ntp': }
file_line { 'ntp server': }
service { 'ntp': }
Friday, August 23, 13
puppetconf.com #puppetconf
Friday, August 23, 13
puppetconf.com #puppetconf
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
yum
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
yum
python
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
yum
rpmpython
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
yum
rpmpython
...
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
yum
rpmpython
ntp server...
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
yum
rpmpython network
ntp server...
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
yum
rpmpython network
ntp server...
...
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
filesystem
yum
rpmpython network
ntp server...
...
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
filesystem
yum
rpmpython network
ntp server...
...
...
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
filesystem
yum
rpmpython
electricity
network
ntp server...
...
...
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
filesystem
yum
rpmpython
electricity
network
ntp server...
...
... ...
Friday, August 23, 13
puppetconf.com #puppetconf
time sync
ntpd service
ntp package ntp.conf
filesystem
yum
rpmpython
electricity
network
ntp server...
...
... ...
the very concept of time itself
Friday, August 23, 13
puppetconf.com #puppetconf
if you wanna be my lover
you gotta apt-get with my
friends
Friday, August 23, 13
puppetconf.com #puppetconf
require
subscribe
Friday, August 23, 13
puppetconf.com #puppetconf
Package installs Service
File is the source of Package
User owns File
File configures Service
User is a member of Group
File is the directory of File
File is executed by Exec
Friday, August 23, 13
puppetconf.com #puppetconf
File / File
File / User
File / Group
User / Group
Cron / User
Exec / File
Exec / User
?
Friday, August 23, 13
puppetconf.com #puppetconf
file { "/home/sweet/home":
ensure => present,
owner => sweet,
require => User[sweet],
}
user { "sweet":
ensure => present,
}
Friday, August 23, 13
puppetconf.com #puppetconf
file { "/home/sweet/home":
ensure => absent,
owner => sweet,
require => User[sweet],
}
user { "sweet":
ensure => absent,
}
Friday, August 23, 13
puppetconf.com #puppetconf
file { "/home/sweet/home":
ensure => present,
owner => sweet,
require => User[sweet],
}
user { "sweet":
ensure => absent,
}
Friday, August 23, 13
puppetconf.com #puppetconf
file { "/home/sweet/home":
ensure => present,
owner => User[sweet],
}
user { "sweet":
ensure => absent,
}
Friday, August 23, 13
puppetconf.com #puppetconf
user { "sweet":
ensure => absent,
}
file { "/home/sweet/home":
ensure => present,
}
Friday, August 23, 13
puppetconf.com #puppetconf
user { "sweet":
ensure => absent,
}
file { "/home/sweet/home":
ensure => present,
}
--ordering manifest
Friday, August 23, 13
puppetconf.com #puppetconf
user { "sweet":
ensure => absent,
}
file { "/home/sweet/home":
ensure => present,
}
--ordering random
Friday, August 23, 13
puppetconf.com #puppetconf
concat { "/etc/motd": }
concat::fragment { "motd_hello":
target => "/etc/motd",
content => "Hello PuppetConf!n",
order => 1,
}
concat::fragment { "motd_goodbye":
target => "/etc/motd",
content => "Goodbye PuppetConf :(",
order => 2,
}
Friday, August 23, 13
puppetconf.com #puppetconf
file { "/etc/motd":
ensure => present,
content => "Hello PuppetConf!nGoodbye PuppetConf :(",
}
Friday, August 23, 13
puppetconf.com #puppetconf
concat::fragment { "motd_hello":
target => "/etc/motd",
content => "Hello PuppetConf!n",
order => 1,
}
concat::fragment { "motd_goodbye":
target => "/etc/motd",
content => "Goodbye PuppetConf :(",
order => 2,
}
file { "/etc/motd":
ensure => present,
content => "Hello PuppetConf!nGoodbyePuppetConf :
(",
Friday, August 23, 13
Thank You
Nick Lewis
Developer | Puppet Labs
@nick_lewis
Collaborate. Automate. Ship.
Friday, August 23, 13
Follow us on Twitter @puppetlabs
youtube.com/puppetlabsinc
slideshare.net/puppetlabs
Collaborate. Automate. Ship.
Friday, August 23, 13

Más contenido relacionado

La actualidad más candente

Tame your Infrastructure with Puppet
Tame your Infrastructure with PuppetTame your Infrastructure with Puppet
Tame your Infrastructure with Puppetdelimiter
 
Gitosis on Mac OS X Server
Gitosis on Mac OS X ServerGitosis on Mac OS X Server
Gitosis on Mac OS X ServerYasuhiro Asaka
 
Go-Couchbase Golang Paris 2015/12/17
Go-Couchbase Golang Paris 2015/12/17Go-Couchbase Golang Paris 2015/12/17
Go-Couchbase Golang Paris 2015/12/17Edouard Buschini
 
NUMOSS 4th Week - Commandline Tutorial
NUMOSS 4th Week - Commandline TutorialNUMOSS 4th Week - Commandline Tutorial
NUMOSS 4th Week - Commandline TutorialGagah Arifianto
 
Puppet without Root - PuppetConf 2013
Puppet without Root - PuppetConf 2013Puppet without Root - PuppetConf 2013
Puppet without Root - PuppetConf 2013Puppet
 
Python korea(emacs)
Python korea(emacs)Python korea(emacs)
Python korea(emacs)Johnny Cho
 
Hubot: a look inside our robot friend
Hubot: a look inside our robot friendHubot: a look inside our robot friend
Hubot: a look inside our robot friendajacksified
 
How not to delete your important files
How not to delete your important filesHow not to delete your important files
How not to delete your important filesFrancois Marier
 
gunicorn introduction
gunicorn introductiongunicorn introduction
gunicorn introductionAdam Lowry
 
Augeas
AugeasAugeas
Augeaslutter
 

La actualidad más candente (20)

Tame your Infrastructure with Puppet
Tame your Infrastructure with PuppetTame your Infrastructure with Puppet
Tame your Infrastructure with Puppet
 
Gitosis on Mac OS X Server
Gitosis on Mac OS X ServerGitosis on Mac OS X Server
Gitosis on Mac OS X Server
 
gitfs
gitfsgitfs
gitfs
 
Vim Notes
Vim NotesVim Notes
Vim Notes
 
Capistrano Rails
Capistrano RailsCapistrano Rails
Capistrano Rails
 
Go-Couchbase Golang Paris 2015/12/17
Go-Couchbase Golang Paris 2015/12/17Go-Couchbase Golang Paris 2015/12/17
Go-Couchbase Golang Paris 2015/12/17
 
Troubleshooting Puppet
Troubleshooting PuppetTroubleshooting Puppet
Troubleshooting Puppet
 
NUMOSS 4th Week - Commandline Tutorial
NUMOSS 4th Week - Commandline TutorialNUMOSS 4th Week - Commandline Tutorial
NUMOSS 4th Week - Commandline Tutorial
 
Puppet & Vagrant Intro
Puppet & Vagrant IntroPuppet & Vagrant Intro
Puppet & Vagrant Intro
 
earthquake.gem
earthquake.gemearthquake.gem
earthquake.gem
 
Puppet without Root - PuppetConf 2013
Puppet without Root - PuppetConf 2013Puppet without Root - PuppetConf 2013
Puppet without Root - PuppetConf 2013
 
Python korea(emacs)
Python korea(emacs)Python korea(emacs)
Python korea(emacs)
 
Linux Command Line
Linux Command LineLinux Command Line
Linux Command Line
 
Hubot: a look inside our robot friend
Hubot: a look inside our robot friendHubot: a look inside our robot friend
Hubot: a look inside our robot friend
 
How not to delete your important files
How not to delete your important filesHow not to delete your important files
How not to delete your important files
 
gunicorn introduction
gunicorn introductiongunicorn introduction
gunicorn introduction
 
Hubot
HubotHubot
Hubot
 
Augeas
AugeasAugeas
Augeas
 
Jsconf.us.2013
Jsconf.us.2013Jsconf.us.2013
Jsconf.us.2013
 
Linux Basics
Linux BasicsLinux Basics
Linux Basics
 

Destacado

Continuously Integrating Puppet
Continuously Integrating PuppetContinuously Integrating Puppet
Continuously Integrating PuppetPuppet
 
Continuous integration of_puppet_code
Continuous integration of_puppet_codeContinuous integration of_puppet_code
Continuous integration of_puppet_codeDevoteam Revolve
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Puppet
 
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...Carlos Sanchez
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Puppet
 
Présentation Etude de cas 2011
Présentation Etude de cas 2011Présentation Etude de cas 2011
Présentation Etude de cas 2011papkawo
 

Destacado (6)

Continuously Integrating Puppet
Continuously Integrating PuppetContinuously Integrating Puppet
Continuously Integrating Puppet
 
Continuous integration of_puppet_code
Continuous integration of_puppet_codeContinuous integration of_puppet_code
Continuous integration of_puppet_code
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
 
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
Infrastructure testing with Jenkins, Puppet and Vagrant - Agile Testing Days ...
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Présentation Etude de cas 2011
Présentation Etude de cas 2011Présentation Etude de cas 2011
Présentation Etude de cas 2011
 

Similar a Infrastructure as Data and Code

Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013
Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013
Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013Puppet
 
DSL Quest: A WAT Safari - PuppetConf 2013
DSL Quest: A WAT Safari - PuppetConf 2013DSL Quest: A WAT Safari - PuppetConf 2013
DSL Quest: A WAT Safari - PuppetConf 2013Puppet
 
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...Puppet
 
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013Puppet
 
Working with Puppet Modules? There's an IDE for That - PuppetConf 2013
Working with Puppet Modules? There's an IDE for That - PuppetConf 2013Working with Puppet Modules? There's an IDE for That - PuppetConf 2013
Working with Puppet Modules? There's an IDE for That - PuppetConf 2013Puppet
 
Unit testing like a pirate #wceu 2013
Unit testing like a pirate #wceu 2013Unit testing like a pirate #wceu 2013
Unit testing like a pirate #wceu 2013Ptah Dunbar
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...NETWAYS
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Puppet
 
PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013
PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013
PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013Puppet
 
What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013
What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013
What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013Puppet
 
Provisionamento Orquestrado nas Nuvens com Juju
Provisionamento Orquestrado nas Nuvens com JujuProvisionamento Orquestrado nas Nuvens com Juju
Provisionamento Orquestrado nas Nuvens com JujuiMasters
 
Provisionamento orquestrado nas nuvens com Juju
Provisionamento orquestrado nas nuvens com JujuProvisionamento orquestrado nas nuvens com Juju
Provisionamento orquestrado nas nuvens com JujuThiago Rondon
 
Object-Oriented BDD w/ Cucumber by Matt van Horn
Object-Oriented BDD w/ Cucumber by Matt van HornObject-Oriented BDD w/ Cucumber by Matt van Horn
Object-Oriented BDD w/ Cucumber by Matt van HornSolano Labs
 
실시간 웹 협업도구 만들기 V0.3
실시간 웹 협업도구 만들기 V0.3실시간 웹 협업도구 만들기 V0.3
실시간 웹 협업도구 만들기 V0.3NAVER D2
 
Node Tools For Your Grails Toolbox - Gr8Conf 2013
Node Tools For Your Grails Toolbox - Gr8Conf 2013Node Tools For Your Grails Toolbox - Gr8Conf 2013
Node Tools For Your Grails Toolbox - Gr8Conf 2013zanthrash
 
Introduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal LabsIntroduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal LabsAlvaro Videla
 
Cooking an Omelette with Chef
Cooking an Omelette with ChefCooking an Omelette with Chef
Cooking an Omelette with Chefctaintor
 
Workers of the web - BrazilJS 2013
Workers of the web - BrazilJS 2013Workers of the web - BrazilJS 2013
Workers of the web - BrazilJS 2013Thibault Imbert
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
 

Similar a Infrastructure as Data and Code (20)

Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013
Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013
Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013
 
DSL Quest: A WAT Safari - PuppetConf 2013
DSL Quest: A WAT Safari - PuppetConf 2013DSL Quest: A WAT Safari - PuppetConf 2013
DSL Quest: A WAT Safari - PuppetConf 2013
 
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...
 
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
 
Working with Puppet Modules? There's an IDE for That - PuppetConf 2013
Working with Puppet Modules? There's an IDE for That - PuppetConf 2013Working with Puppet Modules? There's an IDE for That - PuppetConf 2013
Working with Puppet Modules? There's an IDE for That - PuppetConf 2013
 
Unit testing like a pirate #wceu 2013
Unit testing like a pirate #wceu 2013Unit testing like a pirate #wceu 2013
Unit testing like a pirate #wceu 2013
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013
PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013
PuppetDB: New Adventures in Higher-Order Automation - PuppetConf 2013
 
What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013
What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013
What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013
 
Provisionamento Orquestrado nas Nuvens com Juju
Provisionamento Orquestrado nas Nuvens com JujuProvisionamento Orquestrado nas Nuvens com Juju
Provisionamento Orquestrado nas Nuvens com Juju
 
Provisionamento orquestrado nas nuvens com Juju
Provisionamento orquestrado nas nuvens com JujuProvisionamento orquestrado nas nuvens com Juju
Provisionamento orquestrado nas nuvens com Juju
 
Object-Oriented BDD w/ Cucumber by Matt van Horn
Object-Oriented BDD w/ Cucumber by Matt van HornObject-Oriented BDD w/ Cucumber by Matt van Horn
Object-Oriented BDD w/ Cucumber by Matt van Horn
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansible
 
실시간 웹 협업도구 만들기 V0.3
실시간 웹 협업도구 만들기 V0.3실시간 웹 협업도구 만들기 V0.3
실시간 웹 협업도구 만들기 V0.3
 
Node Tools For Your Grails Toolbox - Gr8Conf 2013
Node Tools For Your Grails Toolbox - Gr8Conf 2013Node Tools For Your Grails Toolbox - Gr8Conf 2013
Node Tools For Your Grails Toolbox - Gr8Conf 2013
 
Introduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal LabsIntroduction to RabbitMQ | Meetup at Pivotal Labs
Introduction to RabbitMQ | Meetup at Pivotal Labs
 
Cooking an Omelette with Chef
Cooking an Omelette with ChefCooking an Omelette with Chef
Cooking an Omelette with Chef
 
Workers of the web - BrazilJS 2013
Workers of the web - BrazilJS 2013Workers of the web - BrazilJS 2013
Workers of the web - BrazilJS 2013
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
 

Más de Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping groundPuppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
 

Más de Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Último

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Último (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Infrastructure as Data and Code