SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
November 2013
Puppet at scale
Rhommel Lamas
Thursday, November 28, 13
Who am I?
Thursday, November 28, 13
Scale experience
•Physical servers Xtratelecom.es.
•AWS and other cloud providers at Wuaki.tv and
3scale.net.
Who am I?
Thursday, November 28, 13
Scale experience
•Physical servers Xtratelecom.es.
•AWS and other cloud providers at Wuaki.tv and
3scale.net.
Who am I?
Config Management
• Worked with CFEngine2 for 2 years.
• Puppet user since 2009.
Thursday, November 28, 13
Scale experience
•Physical servers Xtratelecom.es.
•AWS and other cloud providers at Wuaki.tv and
3scale.net.
Who am I?
Config Management
• Worked with CFEngine2 for 2 years.
• Puppet user since 2009.
Obsessed about config management and I use Emacs.
Thursday, November 28, 13
What is 3scale?
3scale provides tools such as traffic
management, API administration, traffic
reports, and more, to help companies
publicize their APIs easily and power new
types of connected applications.
Thursday, November 28, 13
What does scaling stands for?
Thursday, November 28, 13
Scalability is the ability of a system, network,
or process to handle a growing amount of
work in a capable manner or its ability to be
enlarged to accommodate that growth.
Wikipedia
What does scaling stands for?
Thursday, November 28, 13
What are our scaling needs?
Thursday, November 28, 13
• How many people do we need to scale our
system infrastructure?
What are our scaling needs?
Thursday, November 28, 13
• How many people do we need to scale our
system infrastructure?
• How many environments and systems can
our team maintain?
What are our scaling needs?
Thursday, November 28, 13
• How many people do we need to scale our
system infrastructure?
• How many environments and systems can
our team maintain?
• Can we delegate configurations easily to our
team members?
What are our scaling needs?
Thursday, November 28, 13
Puppet dynamic environments
Thursday, November 28, 13
• Purpose of Puppet environments.
Puppet dynamic environments
Thursday, November 28, 13
• Purpose of Puppet environments.
• Puppet base environments at 3scale.
Puppet dynamic environments
Thursday, November 28, 13
/etc/puppet
auth.conf
autosign.conf
config.ru
hiera.yaml
hipchat.yaml
fileserver.conf
unicorn.rb
environments
Puppet environments at 3scale
environments
production
manifests
production.pp
preview.pp
nodes
production
webserver.pp
preview
webserver.pp
modules
nginx
hieradata
common.yaml
production.yaml
preview.yaml
Capfile
preview
staging
Thursday, November 28, 13
[main]
server = puppet.example.com
environment = production
[master]
environment = production
manifest = $confdir/environments/$environment/manifests/site.pp
modulepath = $confdir/environments/$environment/modules
Thursday, November 28, 13
[main]
server = puppet.example.com
environment = production
[master]
environment = production
manifest = $confdir/environments/$environment/manifests/$environment.pp
modulepath = $confdir/environments/$environment/modules
# production.pp
import 'nodes/production/nodes.pp'
import 'nodes/production/*.pp
Thursday, November 28, 13
:hierarchy:
- '%{::osfamily}'
- '%{::environment}'
- common
:backends:
- yaml
- json
:yaml:
:datadir: "/etc/puppet/environments/%{environment}/hieradata"
Thursday, November 28, 13
Thursday, November 28, 13
• Purpose of Puppet environments.
• Puppet environments at 3scale.
• Puppet development workflow (Git).
• Puppet-lint
• Puppet-rspec
• Code Review
Puppet dynamic environments
Thursday, November 28, 13
Thursday, November 28, 13
Thursday, November 28, 13
Thursday, November 28, 13
Puppet at 3scale.
Thursday, November 28, 13
• Since July 2013 we are running Puppet 3.0+.
Puppet at 3scale.
Thursday, November 28, 13
• Since July 2013 we are running Puppet 3.0+.
• 2 Puppet master’s.
Puppet at 3scale.
Thursday, November 28, 13
• Since July 2013 we are running Puppet 3.0+.
• 2 Puppet master’s.
• Nginx + Unicorn.
Puppet at 3scale.
Thursday, November 28, 13
• Since July 2013 we are running Puppet 3.0+.
• 2 Puppet master’s.
• Nginx + Unicorn.
• 15 minutes splay with a splaylimit $runinterval/2.
Puppet at 3scale.
Thursday, November 28, 13
• Since July 2013 we are running Puppet 3.0+.
• 2 Puppet master’s.
• Nginx + Unicorn.
• 15 minutes splay with a splaylimit $runinterval/2.
• Using DNS SRV records.
Puppet at 3scale.
Thursday, November 28, 13
• Since July 2013 we are running Puppet 3.0+.
• 2 Puppet master’s.
• Nginx + Unicorn.
• 15 minutes splay with a splaylimit $runinterval/2.
• Using DNS SRV records.
• The foreman as our ENC.
Puppet at 3scale.
Thursday, November 28, 13
• Since July 2013 we are running Puppet 3.0+.
• 2 Puppet master’s.
• Nginx + Unicorn.
• 15 minutes splay with a splaylimit $runinterval/2.
• Using DNS SRV records.
• The foreman as our ENC.
• Puppetdb and hiera.
Puppet at 3scale.
Thursday, November 28, 13
• Since July 2013 we are running Puppet 3.0+.
• 2 Puppet master’s.
• Nginx + Unicorn.
• 15 minutes splay with a splaylimit $runinterval/2.
• Using DNS SRV records.
• The foreman as our ENC.
• Puppetdb and hiera.
•MCollective with Rabbitmq connector.
Puppet at 3scale.
Thursday, November 28, 13
ROUTE
53
_x-puppet._tcp.3scale.net
_x-puppet-ca._tcp.3scale.net
Puppet
Master
+
RabbitMQ
Cluster
+
MCollective
Client
+
PuppetDB
+
The
Foreman
RabbitMQ Load Balancer
PostgreSQL
RDS
MultiAZ
Puppet
Master
+
RabbitMQ
Cluster
+
MCollective
Client
+
PuppetDB
+
The
Foreman
Puppet
Master
+
RabbitMQ
Cluster
+
MCollective
Client
+
PuppetDB
+
The
Foreman
Puppet
Agent
+
Mcollective
Server
Puppet
Agent
+
Mcollective
Server
Puppet
Agent
+
Mcollective
Server
Thursday, November 28, 13
Thursday, November 28, 13
What nobody will tell you about
puppet.
Thursday, November 28, 13
• Puppet-lint is your friend and it will help others to
understand your code, so USE IT.
What nobody will tell you about
puppet.
Thursday, November 28, 13
• Puppet-lint is your friend and it will help others to
understand your code, so USE IT.
• Puppet-rspec will help you find errors on early stages so
TEST your modules.
What nobody will tell you about
puppet.
Thursday, November 28, 13
• Puppet-lint is your friend and it will help others to
understand your code, so USE IT.
• Puppet-rspec will help you find errors on early stages so
TEST your modules.
• Don’t code remotely on your servers, use your local
development environment and git.
What nobody will tell you about
puppet.
Thursday, November 28, 13
• Puppet-lint is your friend and it will help others to
understand your code, so USE IT.
• Puppet-rspec will help you find errors on early stages so
TEST your modules.
• Don’t code remotely on your servers, use your local
development environment and git.
• Read puppet documentation on every version.
What nobody will tell you about
puppet.
Thursday, November 28, 13
• Puppet-lint is your friend and it will help others to
understand your code, so USE IT.
• Puppet-rspec will help you find errors on early stages so
TEST your modules.
• Don’t code remotely on your servers, use your local
development environment and git.
• Read puppet documentation on every version.
• Be careful about dependencies.
What nobody will tell you about
puppet.
Thursday, November 28, 13
• Puppet-lint is your friend and it will help others to
understand your code, so USE IT.
• Puppet-rspec will help you find errors on early stages so
TEST your modules.
• Don’t code remotely on your servers, use your local
development environment and git.
• Read puppet documentation on every version.
• Be careful about dependencies.
• Once you start to puppetize you become an Addict.
What nobody will tell you about
puppet.
Thursday, November 28, 13
Rhommel Lamas
Twitter: @rhoml
Questions?
at 3scale
we’re hiring
http://3scale.net/jobs
Thursday, November 28, 13
Rhommel Lamas
Twitter: @rhoml
Thank you.
at 3scale
we’re hiring
http://3scale.net/jobs
Thursday, November 28, 13
Thursday, November 28, 13
Useful links
Thursday, November 28, 13
• http://docs.puppetlabs.com/guides/scaling_multiple_masters.html#option-4-dns-srv-records
Useful links
Thursday, November 28, 13
• http://docs.puppetlabs.com/guides/scaling_multiple_masters.html#option-4-dns-srv-records
• http://docs.puppetlabs.com/puppetdb/latest/install_via_module.html
Useful links
Thursday, November 28, 13
• http://docs.puppetlabs.com/guides/scaling_multiple_masters.html#option-4-dns-srv-records
• http://docs.puppetlabs.com/puppetdb/latest/install_via_module.html
• http://puppetlabs.com/blog/git-workflow-and-puppet-environments
Useful links
Thursday, November 28, 13
• http://docs.puppetlabs.com/guides/scaling_multiple_masters.html#option-4-dns-srv-records
• http://docs.puppetlabs.com/puppetdb/latest/install_via_module.html
• http://puppetlabs.com/blog/git-workflow-and-puppet-environments
• http://projects.puppetlabs.com/projects/1/wiki/using_unicorn
Useful links
Thursday, November 28, 13
• http://docs.puppetlabs.com/guides/scaling_multiple_masters.html#option-4-dns-srv-records
• http://docs.puppetlabs.com/puppetdb/latest/install_via_module.html
• http://puppetlabs.com/blog/git-workflow-and-puppet-environments
• http://projects.puppetlabs.com/projects/1/wiki/using_unicorn
• https://github.com/cernops/puppetdb_foreman
Useful links
Thursday, November 28, 13

Mais conteúdo relacionado

Semelhante a Building scalable applications while scaling your infrastructure by rhommel lamas

Managing-Splunk-with-Puppet 31-January-2022.pdf
Managing-Splunk-with-Puppet 31-January-2022.pdfManaging-Splunk-with-Puppet 31-January-2022.pdf
Managing-Splunk-with-Puppet 31-January-2022.pdf
ssusera181ef
 
Deployment presentation
Deployment presentationDeployment presentation
Deployment presentation
Corey Purcell
 
Vinted life embetterment
Vinted life embettermentVinted life embetterment
Vinted life embetterment
Agile Lietuva
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with Airflow
Laura Lorenz
 

Semelhante a Building scalable applications while scaling your infrastructure by rhommel lamas (20)

Infrastructure as Code with Chef / Puppet
Infrastructure as Code with Chef / PuppetInfrastructure as Code with Chef / Puppet
Infrastructure as Code with Chef / Puppet
 
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...
 
Managing-Splunk-with-Puppet 31-January-2022.pdf
Managing-Splunk-with-Puppet 31-January-2022.pdfManaging-Splunk-with-Puppet 31-January-2022.pdf
Managing-Splunk-with-Puppet 31-January-2022.pdf
 
Cooking an Omelette with Chef
Cooking an Omelette with ChefCooking an Omelette with Chef
Cooking an Omelette with Chef
 
JRubyConf 2009
JRubyConf 2009JRubyConf 2009
JRubyConf 2009
 
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting startedGluster Cloud Night in Tokyo 2013 -- Tips for getting started
Gluster Cloud Night in Tokyo 2013 -- Tips for getting started
 
Testing your puppet code
Testing your puppet codeTesting your puppet code
Testing your puppet code
 
Chef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudChef - Configuration Management for the Cloud
Chef - Configuration Management for the Cloud
 
What Ops Can Learn From Design
What Ops Can Learn From DesignWhat Ops Can Learn From Design
What Ops Can Learn From Design
 
Deployment presentation
Deployment presentationDeployment presentation
Deployment presentation
 
Lessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet AgentsLessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet Agents
 
Jenkins (war)stories
Jenkins (war)storiesJenkins (war)stories
Jenkins (war)stories
 
Toplog candy elves - HOCM Talk
Toplog candy elves - HOCM TalkToplog candy elves - HOCM Talk
Toplog candy elves - HOCM Talk
 
Testing Drupal with Ghosts and Gherkin
Testing Drupal  with Ghosts and GherkinTesting Drupal  with Ghosts and Gherkin
Testing Drupal with Ghosts and Gherkin
 
Become Master of Your Own Universe - DIBI 2013
Become Master of Your Own Universe - DIBI 2013Become Master of Your Own Universe - DIBI 2013
Become Master of Your Own Universe - DIBI 2013
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That WasPuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That WasPuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
 
Scaling Puppet Usage to a Global Organization
Scaling Puppet Usage to a Global OrganizationScaling Puppet Usage to a Global Organization
Scaling Puppet Usage to a Global Organization
 
Vinted life embetterment
Vinted life embettermentVinted life embetterment
Vinted life embetterment
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with Airflow
 

Mais de 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
 
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
 
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
Puppet
 

Mais 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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Building scalable applications while scaling your infrastructure by rhommel lamas