SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Essential application management
with Tiny Puppet
Presented by Alessandro Franceschi @alvagante

Founder and CTO example42 GmbH

at #cfgmgmtcamp 2016
1
not only files...
• CfgMgmt is not only about Files
• We (try to) manage the entire infrastructure
• There are modules for everything
2
but also files
• Still sometimes we just have to manage packages,
services and files
• And we do quick local modules, reinventing simple
wheels
• Or we search for public ones, sometimes overkill for our
needs, or not compatible, or need fixes
• Different modules, different usage patterns, conventions,
dependencies
3
meet Tiny Puppet
• A Puppet module

puppet module install example42/tp
• It let us manage packages, services, and files

in the way we want
• It supports potentially any application

on any operating systems
• It let us concentrate on

how to shape our configurations
4
tp usage: install an application
• Install an application and start its service
tp::install { 'nginx': }
• Tiny Puppet takes care of dependencies and resources'
names on different Operating Systems
5
tp usage: manage files
• Manage the main configuration file with a erb template
based on a custom options hash
tp::conf { 'nginx':
template => 'site/nginx/nginx.conf.erb',
options_hash => hiera_hash('nginx_options',
}
6
tp usage: manage files, more
• Manage a virtual host , this time using an epp template
and a different base dir
tp::conf { 'nginx::example.com.conf':
base_dir => 'confd',
epp_template => 'site/nginx/vhost.epp',
options_hash => $vhost_params,
}
7
tp usage: manage dirs
• Manage entire directories, from fileserver, vcs repos...
tp::dir { 'nginx::www.example42.com:
base_dir => 'data',
source => 'git@example42.com/site/',
vcsrepo => 'git',
}
8
Essential testing
• To be able to test an app (alternatives)
tp::test { 'redis': }

tp::install { 'redis':
test_enable => true,

test_template => 'site/test/nginx.erb',
}
• This creates the script /etc/tp/test/redis

which can be used for integration tests, monitoring...
9
Essential acceptance tests
• TP be able to test an app (alternatives)


git clone https://github.com/example42/tp-acceptance
cd tp-acceptance
r10k puppetfile install
vagrant status
# Test munin on all supported OS
bin/test_app.sh munin all acceptance
# Test all apps on a specific OS
bin/test_app.sh all Centos7 acceptance
# Test all appas on all supporte OS

bin/test_app.sh all all acceptance
Compatibility Matrix
10
It's all about Tiny Data
• Data to manage apps on different OS is on separated tinydata
module
• Here we have a directory for each supported application where
the relevant data, for different OS, is stored in YAML files with an
Hiera-like approach:
---
redis::settings:
package_name: 'redis'
service_name: 'redis'
config_file_path: '/etc/redis/redis.conf'
config_dir_path: '/etc/redis'
tcp_port: '6379'
pid_file_path: '/var/run/redis.pid'
log_file_path: '/var/log/redis.log'
log_dir_path: ''
process_user: 'redis'
process_group: 'redis'
11
Usage cases
• When we have to configure applications that

we know how to configure
• In glue code, profiles, wrappers...
• Tiny Puppet can coexist with component modules and
replace or complement them (stdlib is the only
dependency)
12
When is better a dedicated module
• When application setup is elaborated or complex
• When there is more to manage than just packages,
services and files
• When it hides the complexity of the application
configuration
13
Future steps
• New defines based on the same Tiny Data
tp::instance { 'memcached': }
tp::monitor { 'redis': }
tp::firewall { 'redis': }
tp::netinstall { 'rails': }
• Use Tiny data in other tools (tiny-ansible, tiny-chef...?)
14
Where
• Tiny Puppet website: http://www.tiny-puppet.com
• Tp module: https://github.com/example42/puppet-tp/
• Tiny Data module: https://github.com/example42/tinydata/
• TP Playground: https://github.com/example42/tp-playground
• TP Acceptance tests: https://github.com/example42/tp-acceptance
• Puppet Forge example42/tp
15

Contenu connexe

Tendances

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppet for Sys Admins
Puppet for Sys AdminsPuppet for Sys Admins
Puppet for Sys AdminsPuppet
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionJoshua Thijssen
 
Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)DECK36
 
Introduction to Puppet Scripting
Introduction to Puppet ScriptingIntroduction to Puppet Scripting
Introduction to Puppet ScriptingAchieve Internet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)Aaron Bernstein
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1Vishal Biyani
 
Scalable Systems Management with Puppet
Scalable Systems Management with PuppetScalable Systems Management with Puppet
Scalable Systems Management with PuppetPuppet
 
Pro Puppet
Pro PuppetPro Puppet
Pro Puppetdsadas
 
Puppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesPuppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesMartin Alfke
 
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
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Puppet
 
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...Puppet
 
Puppetizing Your Organization
Puppetizing Your OrganizationPuppetizing Your Organization
Puppetizing Your OrganizationRobert Nelson
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppetHabeeb Rahman
 
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
Portland PUG April 2014: Beaker 101: Acceptance Test EverythingPortland PUG April 2014: Beaker 101: Acceptance Test Everything
Portland PUG April 2014: Beaker 101: Acceptance Test EverythingPuppet
 
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecMartin Etmajer
 
Auto Deploy Deep Dive – vBrownBag Style
Auto Deploy Deep Dive – vBrownBag StyleAuto Deploy Deep Dive – vBrownBag Style
Auto Deploy Deep Dive – vBrownBag StyleRobert Nelson
 

Tendances (20)

Intro to-puppet
Intro to-puppetIntro to-puppet
Intro to-puppet
 
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppet for Sys Admins
Puppet for Sys AdminsPuppet for Sys Admins
Puppet for Sys Admins
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 Edition
 
Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)
 
Introduction to Puppet Scripting
Introduction to Puppet ScriptingIntroduction to Puppet Scripting
Introduction to Puppet Scripting
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1
 
Scalable Systems Management with Puppet
Scalable Systems Management with PuppetScalable Systems Management with Puppet
Scalable Systems Management with Puppet
 
Pro Puppet
Pro PuppetPro Puppet
Pro Puppet
 
Puppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in ModulesPuppet Camp Paris 2016 Data in Modules
Puppet Camp Paris 2016 Data in Modules
 
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
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
 
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
 
Puppetizing Your Organization
Puppetizing Your OrganizationPuppetizing Your Organization
Puppetizing Your Organization
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppet
 
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
Portland PUG April 2014: Beaker 101: Acceptance Test EverythingPortland PUG April 2014: Beaker 101: Acceptance Test Everything
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
 
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
 
Auto Deploy Deep Dive – vBrownBag Style
Auto Deploy Deep Dive – vBrownBag StyleAuto Deploy Deep Dive – vBrownBag Style
Auto Deploy Deep Dive – vBrownBag Style
 

En vedette

Running Puppet In Stand Alone Mode
Running Puppet In Stand Alone ModeRunning Puppet In Stand Alone Mode
Running Puppet In Stand Alone Modesarguru90
 
Un-broken Logging - TechnologyUG - Leeds - Matthew Skelton
Un-broken Logging - TechnologyUG - Leeds - Matthew SkeltonUn-broken Logging - TechnologyUG - Leeds - Matthew Skelton
Un-broken Logging - TechnologyUG - Leeds - Matthew SkeltonSkelton Thatcher Consulting Ltd
 
Older than Humanity! - Gale Crater | Mars
Older than Humanity! - Gale Crater | MarsOlder than Humanity! - Gale Crater | Mars
Older than Humanity! - Gale Crater | MarsFreyk John Geeris
 
Co vše "umí" otázka
Co vše "umí" otázkaCo vše "umí" otázka
Co vše "umí" otázkaSIMAR
 
Harmodius&Aristogeiton
Harmodius&AristogeitonHarmodius&Aristogeiton
Harmodius&Aristogeitonpharos1
 
Wikipedia Diversity
Wikipedia Diversity Wikipedia Diversity
Wikipedia Diversity Ilona Buchem
 
151110 - Global Environmental Management
151110 - Global Environmental Management151110 - Global Environmental Management
151110 - Global Environmental ManagementDaniel Bartel
 
Introduction to Configuration Management
Introduction to Configuration ManagementIntroduction to Configuration Management
Introduction to Configuration Managementripienaar
 
RESUME OF AJOY 2015 update april 2016
RESUME OF AJOY  2015 update april 2016RESUME OF AJOY  2015 update april 2016
RESUME OF AJOY 2015 update april 2016ajoy das
 
Green and Healthy Buildings:Energy and IEQ Factors for High Performance Results
Green and Healthy Buildings:Energy and IEQ Factors for High Performance ResultsGreen and Healthy Buildings:Energy and IEQ Factors for High Performance Results
Green and Healthy Buildings:Energy and IEQ Factors for High Performance ResultsTake Care of Your Air
 
Roman triclinium presentation.
Roman triclinium presentation.Roman triclinium presentation.
Roman triclinium presentation.pharos1
 
Skyeng Бесплатный вебинар "Как отдыхать на 15% дешевле со знанием английского...
Skyeng Бесплатный вебинар "Как отдыхать на 15% дешевле со знанием английского...Skyeng Бесплатный вебинар "Как отдыхать на 15% дешевле со знанием английского...
Skyeng Бесплатный вебинар "Как отдыхать на 15% дешевле со знанием английского...Skyeng
 
Apache con big data 2015 - Data Science from the trenches
Apache con big data 2015 - Data Science from the trenchesApache con big data 2015 - Data Science from the trenches
Apache con big data 2015 - Data Science from the trenchesVinay Shukla
 
Open Badges for Individuals and Organisations
Open Badges for Individuals and Organisations Open Badges for Individuals and Organisations
Open Badges for Individuals and Organisations Ilona Buchem
 
Doing Business in Colombia 2015
Doing Business in Colombia 2015Doing Business in Colombia 2015
Doing Business in Colombia 2015Wanda Barquin
 
BBVA: Global Risk Management - UBS European Conference 2015
BBVA: Global Risk Management - UBS European Conference 2015BBVA: Global Risk Management - UBS European Conference 2015
BBVA: Global Risk Management - UBS European Conference 2015BBVA
 
Βασικές περίοδοι του αρχαίου ελληνικού κόσμου - Ιστορία του Αρχαίου Κόσμου Α'...
Βασικές περίοδοι του αρχαίου ελληνικού κόσμου - Ιστορία του Αρχαίου Κόσμου Α'...Βασικές περίοδοι του αρχαίου ελληνικού κόσμου - Ιστορία του Αρχαίου Κόσμου Α'...
Βασικές περίοδοι του αρχαίου ελληνικού κόσμου - Ιστορία του Αρχαίου Κόσμου Α'...Thanos Stavropoulos
 
Roles and Responsibility of Community Health Nurse
Roles and Responsibility of Community Health NurseRoles and Responsibility of Community Health Nurse
Roles and Responsibility of Community Health NurseThomaskutty Saji
 

En vedette (19)

Running Puppet In Stand Alone Mode
Running Puppet In Stand Alone ModeRunning Puppet In Stand Alone Mode
Running Puppet In Stand Alone Mode
 
Un-broken Logging - TechnologyUG - Leeds - Matthew Skelton
Un-broken Logging - TechnologyUG - Leeds - Matthew SkeltonUn-broken Logging - TechnologyUG - Leeds - Matthew Skelton
Un-broken Logging - TechnologyUG - Leeds - Matthew Skelton
 
Older than Humanity! - Gale Crater | Mars
Older than Humanity! - Gale Crater | MarsOlder than Humanity! - Gale Crater | Mars
Older than Humanity! - Gale Crater | Mars
 
Co vše "umí" otázka
Co vše "umí" otázkaCo vše "umí" otázka
Co vše "umí" otázka
 
Harmodius&Aristogeiton
Harmodius&AristogeitonHarmodius&Aristogeiton
Harmodius&Aristogeiton
 
Wikipedia Diversity
Wikipedia Diversity Wikipedia Diversity
Wikipedia Diversity
 
151110 - Global Environmental Management
151110 - Global Environmental Management151110 - Global Environmental Management
151110 - Global Environmental Management
 
Abstract IRAP
Abstract  IRAPAbstract  IRAP
Abstract IRAP
 
Introduction to Configuration Management
Introduction to Configuration ManagementIntroduction to Configuration Management
Introduction to Configuration Management
 
RESUME OF AJOY 2015 update april 2016
RESUME OF AJOY  2015 update april 2016RESUME OF AJOY  2015 update april 2016
RESUME OF AJOY 2015 update april 2016
 
Green and Healthy Buildings:Energy and IEQ Factors for High Performance Results
Green and Healthy Buildings:Energy and IEQ Factors for High Performance ResultsGreen and Healthy Buildings:Energy and IEQ Factors for High Performance Results
Green and Healthy Buildings:Energy and IEQ Factors for High Performance Results
 
Roman triclinium presentation.
Roman triclinium presentation.Roman triclinium presentation.
Roman triclinium presentation.
 
Skyeng Бесплатный вебинар "Как отдыхать на 15% дешевле со знанием английского...
Skyeng Бесплатный вебинар "Как отдыхать на 15% дешевле со знанием английского...Skyeng Бесплатный вебинар "Как отдыхать на 15% дешевле со знанием английского...
Skyeng Бесплатный вебинар "Как отдыхать на 15% дешевле со знанием английского...
 
Apache con big data 2015 - Data Science from the trenches
Apache con big data 2015 - Data Science from the trenchesApache con big data 2015 - Data Science from the trenches
Apache con big data 2015 - Data Science from the trenches
 
Open Badges for Individuals and Organisations
Open Badges for Individuals and Organisations Open Badges for Individuals and Organisations
Open Badges for Individuals and Organisations
 
Doing Business in Colombia 2015
Doing Business in Colombia 2015Doing Business in Colombia 2015
Doing Business in Colombia 2015
 
BBVA: Global Risk Management - UBS European Conference 2015
BBVA: Global Risk Management - UBS European Conference 2015BBVA: Global Risk Management - UBS European Conference 2015
BBVA: Global Risk Management - UBS European Conference 2015
 
Βασικές περίοδοι του αρχαίου ελληνικού κόσμου - Ιστορία του Αρχαίου Κόσμου Α'...
Βασικές περίοδοι του αρχαίου ελληνικού κόσμου - Ιστορία του Αρχαίου Κόσμου Α'...Βασικές περίοδοι του αρχαίου ελληνικού κόσμου - Ιστορία του Αρχαίου Κόσμου Α'...
Βασικές περίοδοι του αρχαίου ελληνικού κόσμου - Ιστορία του Αρχαίου Κόσμου Α'...
 
Roles and Responsibility of Community Health Nurse
Roles and Responsibility of Community Health NurseRoles and Responsibility of Community Health Nurse
Roles and Responsibility of Community Health Nurse
 

Similaire à Essential applications management with Tiny Puppet

Tiny Puppet Can Install Everything. Prove me wrong!
Tiny Puppet Can Install Everything. Prove me wrong!Tiny Puppet Can Install Everything. Prove me wrong!
Tiny Puppet Can Install Everything. Prove me wrong!Alessandro Franceschi
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsGR8Conf
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack SummitMiguel Zuniga
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSTulipp. Eu
 
Anatomy of Autoconfig in Oracle E-Business Suite
Anatomy of Autoconfig in Oracle E-Business SuiteAnatomy of Autoconfig in Oracle E-Business Suite
Anatomy of Autoconfig in Oracle E-Business Suitevasuballa
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?Eduard Tomàs
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...Evans Ye
 
Ansible at FOSDEM (Ansible Dublin, 2016)
Ansible at FOSDEM (Ansible Dublin, 2016)Ansible at FOSDEM (Ansible Dublin, 2016)
Ansible at FOSDEM (Ansible Dublin, 2016)Brian Brazil
 
Creating Developer-Friendly Docker Containers with Chaperone
Creating Developer-Friendly Docker Containers with ChaperoneCreating Developer-Friendly Docker Containers with Chaperone
Creating Developer-Friendly Docker Containers with ChaperoneGary Wisniewski
 
Ansible top 10 - 2018
Ansible top 10 -  2018Ansible top 10 -  2018
Ansible top 10 - 2018Viresh Doshi
 
Twelve Factor App @ PHPCon 2015
Twelve Factor App @ PHPCon 2015Twelve Factor App @ PHPCon 2015
Twelve Factor App @ PHPCon 2015Tomasz Skręt
 
ScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency InjectionScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency Injection7mind
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)yalini97
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityGeoff Harcourt
 
Weave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any KubernetesWeave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any KubernetesWeaveworks
 

Similaire à Essential applications management with Tiny Puppet (20)

Tiny Puppet Can Install Everything. Prove me wrong!
Tiny Puppet Can Install Everything. Prove me wrong!Tiny Puppet Can Install Everything. Prove me wrong!
Tiny Puppet Can Install Everything. Prove me wrong!
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
Wissbi osdc pdf
Wissbi osdc pdfWissbi osdc pdf
Wissbi osdc pdf
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
Anatomy of Autoconfig in Oracle E-Business Suite
Anatomy of Autoconfig in Oracle E-Business SuiteAnatomy of Autoconfig in Oracle E-Business Suite
Anatomy of Autoconfig in Oracle E-Business Suite
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
Devops
DevopsDevops
Devops
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Managing Postgres with Ansible
Managing Postgres with AnsibleManaging Postgres with Ansible
Managing Postgres with Ansible
 
Ansible at FOSDEM (Ansible Dublin, 2016)
Ansible at FOSDEM (Ansible Dublin, 2016)Ansible at FOSDEM (Ansible Dublin, 2016)
Ansible at FOSDEM (Ansible Dublin, 2016)
 
Creating Developer-Friendly Docker Containers with Chaperone
Creating Developer-Friendly Docker Containers with ChaperoneCreating Developer-Friendly Docker Containers with Chaperone
Creating Developer-Friendly Docker Containers with Chaperone
 
Microservices
MicroservicesMicroservices
Microservices
 
Ansible top 10 - 2018
Ansible top 10 -  2018Ansible top 10 -  2018
Ansible top 10 - 2018
 
Twelve Factor App @ PHPCon 2015
Twelve Factor App @ PHPCon 2015Twelve Factor App @ PHPCon 2015
Twelve Factor App @ PHPCon 2015
 
ScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency InjectionScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency Injection
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
 
Weave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any KubernetesWeave GitOps - continuous delivery for any Kubernetes
Weave GitOps - continuous delivery for any Kubernetes
 
Ansible.pdf
Ansible.pdfAnsible.pdf
Ansible.pdf
 

Plus de Alessandro Franceschi

Plus de Alessandro Franceschi (13)

Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringStrategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoring
 
DevOps - Evoluzione della specie - DevOps Heroes.pdf
DevOps - Evoluzione della specie - DevOps Heroes.pdfDevOps - Evoluzione della specie - DevOps Heroes.pdf
DevOps - Evoluzione della specie - DevOps Heroes.pdf
 
ReUse Your (Puppet) Modules!
ReUse Your (Puppet) Modules!ReUse Your (Puppet) Modules!
ReUse Your (Puppet) Modules!
 
Ten years of [Puppet] installations. What now?
Ten years of [Puppet] installations. What now?Ten years of [Puppet] installations. What now?
Ten years of [Puppet] installations. What now?
 
Puppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction KitPuppet Systems Infrastructure Construction Kit
Puppet Systems Infrastructure Construction Kit
 
Raise the bar! Reloaded
Raise the bar! ReloadedRaise the bar! Reloaded
Raise the bar! Reloaded
 
Raise the bar!
Raise the bar!Raise the bar!
Raise the bar!
 
Anatomy of a reusable module
Anatomy of a reusable moduleAnatomy of a reusable module
Anatomy of a reusable module
 
Puppet modules for Fun and Profit
Puppet modules for Fun and ProfitPuppet modules for Fun and Profit
Puppet modules for Fun and Profit
 
Puppet modules: An Holistic Approach
Puppet modules: An Holistic ApproachPuppet modules: An Holistic Approach
Puppet modules: An Holistic Approach
 
Spaghetti devops
Spaghetti devopsSpaghetti devops
Spaghetti devops
 
Puppi. Puppet strings to the shell
Puppi. Puppet strings to the shellPuppi. Puppet strings to the shell
Puppi. Puppet strings to the shell
 
Puppet @ Seat
Puppet @ SeatPuppet @ Seat
Puppet @ Seat
 

Dernier

Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxBipin Adhikari
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 

Dernier (20)

Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptx
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 

Essential applications management with Tiny Puppet

  • 1. Essential application management with Tiny Puppet Presented by Alessandro Franceschi @alvagante
 Founder and CTO example42 GmbH at #cfgmgmtcamp 2016 1
  • 2. not only files... • CfgMgmt is not only about Files • We (try to) manage the entire infrastructure • There are modules for everything 2
  • 3. but also files • Still sometimes we just have to manage packages, services and files • And we do quick local modules, reinventing simple wheels • Or we search for public ones, sometimes overkill for our needs, or not compatible, or need fixes • Different modules, different usage patterns, conventions, dependencies 3
  • 4. meet Tiny Puppet • A Puppet module
 puppet module install example42/tp • It let us manage packages, services, and files
 in the way we want • It supports potentially any application
 on any operating systems • It let us concentrate on
 how to shape our configurations 4
  • 5. tp usage: install an application • Install an application and start its service tp::install { 'nginx': } • Tiny Puppet takes care of dependencies and resources' names on different Operating Systems 5
  • 6. tp usage: manage files • Manage the main configuration file with a erb template based on a custom options hash tp::conf { 'nginx': template => 'site/nginx/nginx.conf.erb', options_hash => hiera_hash('nginx_options', } 6
  • 7. tp usage: manage files, more • Manage a virtual host , this time using an epp template and a different base dir tp::conf { 'nginx::example.com.conf': base_dir => 'confd', epp_template => 'site/nginx/vhost.epp', options_hash => $vhost_params, } 7
  • 8. tp usage: manage dirs • Manage entire directories, from fileserver, vcs repos... tp::dir { 'nginx::www.example42.com: base_dir => 'data', source => 'git@example42.com/site/', vcsrepo => 'git', } 8
  • 9. Essential testing • To be able to test an app (alternatives) tp::test { 'redis': }
 tp::install { 'redis': test_enable => true,
 test_template => 'site/test/nginx.erb', } • This creates the script /etc/tp/test/redis
 which can be used for integration tests, monitoring... 9
  • 10. Essential acceptance tests • TP be able to test an app (alternatives) 
 git clone https://github.com/example42/tp-acceptance cd tp-acceptance r10k puppetfile install vagrant status # Test munin on all supported OS bin/test_app.sh munin all acceptance # Test all apps on a specific OS bin/test_app.sh all Centos7 acceptance # Test all appas on all supporte OS
 bin/test_app.sh all all acceptance Compatibility Matrix 10
  • 11. It's all about Tiny Data • Data to manage apps on different OS is on separated tinydata module • Here we have a directory for each supported application where the relevant data, for different OS, is stored in YAML files with an Hiera-like approach: --- redis::settings: package_name: 'redis' service_name: 'redis' config_file_path: '/etc/redis/redis.conf' config_dir_path: '/etc/redis' tcp_port: '6379' pid_file_path: '/var/run/redis.pid' log_file_path: '/var/log/redis.log' log_dir_path: '' process_user: 'redis' process_group: 'redis' 11
  • 12. Usage cases • When we have to configure applications that
 we know how to configure • In glue code, profiles, wrappers... • Tiny Puppet can coexist with component modules and replace or complement them (stdlib is the only dependency) 12
  • 13. When is better a dedicated module • When application setup is elaborated or complex • When there is more to manage than just packages, services and files • When it hides the complexity of the application configuration 13
  • 14. Future steps • New defines based on the same Tiny Data tp::instance { 'memcached': } tp::monitor { 'redis': } tp::firewall { 'redis': } tp::netinstall { 'rails': } • Use Tiny data in other tools (tiny-ansible, tiny-chef...?) 14
  • 15. Where • Tiny Puppet website: http://www.tiny-puppet.com • Tp module: https://github.com/example42/puppet-tp/ • Tiny Data module: https://github.com/example42/tinydata/ • TP Playground: https://github.com/example42/tp-playground • TP Acceptance tests: https://github.com/example42/tp-acceptance • Puppet Forge example42/tp 15