SlideShare a Scribd company logo
© 2020, Amazon Web Services, Inc. or its Affiliates.
Vasco Cardoso,
Solutions Architect, AWS
05.05.20
Configuring Highly Scalable
Compile Masters with AWS
OpsWorks for Puppet Enterprise
© 2020, Amazon Web Services, Inc. or its Affiliates.
Puppet Scaling
Vertical Scaling
CPU
Memory
Max 4,000 nodes
Horizontal Scaling
Add Compile Masters
1.5k – 3k nodes / each
© 2020, Amazon Web Services, Inc. or its Affiliates.
Install Compile Masters
Infrastructure
VM to run CM
Load Balancer
Configuration
New Node needs to be classified as a Compile Master
Communication needs to be routed correctly
© 2020, Amazon Web Services, Inc. or its Affiliates.
Step by Step
• Create Load Balancer
• Configure load balancer to allow communication on
ports 8140 and 8142
• Create new machine to serve as compile master
• Configure load balancer to forward traffic to new
compile master
• SSH into future Compile master node and install the
agent using the dns_alt_name flag
• SSH into Master of Masters to sign the certificate
• Log into the console and pin the compile master node
to the PE Master node group
• Run puppet on the Compile Master
• Run puppet on Master of Masters
• Configure the agent install requests to be sent to the
load balancer
• Run puppet on the compile masters
• Run puppet on Master of Masters
• Configure infrastructure agents to connect the
orchestration agents to the Master of Masters
• Run puppet on all nodes under the PE Infrastructure
Group
• Configure agents to connect orchestration agents to
the load balancer
• Run puppet on the Master of Masters
• Run puppet on all the nodes, or re-install the agent
Compile Master Infrastructure Master of Masters Configuration
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automation – Puppet Master
AWS OpsWorks for Puppet Enterprise
Fully managed Puppet Enterprise server
Automatically:
• Patched
• Updated
• Backed Up
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automation - Infrastructure
• Load Balancer
• Elastic Load Balancing– Network Load Balancer
• Compile Master
• Amazon EC2 Instance
• Build it all
• AWS CloudFormation
© 2020, Amazon Web Services, Inc. or its Affiliates.
Step by Step – Now with (some) automation
• Create Load Balancer
• Configure load balancer to allow communication on
ports 8140 and 8142
• Create new machine to serve as compile master
• Configure load balancer to forward traffic to new
compile master
• SSH into future Compile master node and install the
agent using the dns_alt_name flag
• SSH into MoM to sign the certificate
• Log into the console and pin the compile master node
to the PE Master node group
• Run puppet on the compile master
• Run puppet on MoM
• Configure the agent install requests to be sent to the
load balancer
• Run puppet on the compile masters
• Run puppet on MoM
• Configure infrastructure agents to connect the
orchestration agents to the MoM
• Run puppet on all nodes under the PE Infrastructure
Group
• Configure agents to connect orchestration agents to
the load balancer
• Run puppet on the master
• Run puppet on all the nodes, or re-install the agent
Compile Master Infrastructure Master of Masters Configuration
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automation - Configuration
Master of Masters Configuration
Node classifier service API
Requires sharing of credentials
Username/Password
SSH Keys
AWS Systems Manager
Run commands without SSH
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automation – Step by Step
• Create Load Balancer
• Configure load balancer to allow communication on
ports 8140 and 8142
• Create new machine to serve as compile master
• Configure load balancer to forward traffic to new
compile master
• SSH into future Compile master node and install the
agent using the dns_alt_name flag
• SSH into MoM to sign the certificate
• Log into the console and pin the compile master node
to the PE Master node group
• Run puppet on the compile master
• Run puppet on MoM
• Configure the agent install requests to be sent to the
load balancer
• Run puppet on the compile masters
• Run puppet on MoM
• Configure infrastructure agents to connect the
orchestration agents to the MoM
• Run puppet on all nodes under the PE Infrastructure
Group
• Configure agents to connect orchestration agents to
the load balancer
• Run puppet on the master
• Run puppet on all the nodes, or re-install the agent
Compile Master Infrastructure Master of Masters Configuration
• Launch CloudFormation Stack
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automation Dive Deep – ELB
• Dynamic registration of targets (Compile Masters)
• Only allows traffic ports used by the Puppet and the Orchestration Agents
• Health Checks
• Managed service
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automation Deep Dive – Compile Master
• Bootstrap and update configuration at launch
• Puppet Agent installation includes dns_alt_names flag
• Certificate signed automatically
• Compile Master automatically pinned to the PE Master group
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automation Deep Dive – Autoscaling Group
• Scales the number of Compile Masters in and out
• Based on metrics
• Via a dedicated trigger
• Replaces unhealthy Compile Masters automatically
• Automatic registration with Load Balancer
© 2020, Amazon Web Services, Inc. or its Affiliates.
Automation Deep Dive – Master of Masters
• Configure compile master pool address (load balancer address)
• Validate change
• Run Puppet
• Configure PCP Broker for Infrastructure Agents
• Validate change
• Run Puppet
• Configure PCP Broker for Agents
• Validate change
• Run Puppet
© 2020, Amazon Web Services, Inc. or its Affiliates.
Benefits
• Move away from manual processes
• Built-in error detection and handling
• Unattended scaling and replacement of Compile Masters
• Replicate across environments
© 2020, Amazon Web Services, Inc. or its Affiliates.
Demo
© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.
Q&A
© 2020, Amazon Web Services, Inc. or its Affiliates.
Thank you!

More Related Content

PDF
Scalable Cloud-Native Masterless Puppet, with PuppetDB and Bolt, Craig Watson...
PDF
Virtual CD4PE Workshop
PPTX
Relay: The Next Leg, Eric Sorenson, Puppet
PDF
Virtual Bolt Workshop, 5 May 2020
PDF
Puppet camp2021 testing modules and controlrepo
PDF
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
PDF
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PDF
Getting started with Puppet
Scalable Cloud-Native Masterless Puppet, with PuppetDB and Bolt, Craig Watson...
Virtual CD4PE Workshop
Relay: The Next Leg, Eric Sorenson, Puppet
Virtual Bolt Workshop, 5 May 2020
Puppet camp2021 testing modules and controlrepo
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
Getting started with Puppet

What's hot (20)

PPTX
Zero Code Multi-Cloud Automation with Ansible and Terraform
PDF
Deploying Symfony | symfony.cat
PDF
Monitoring Akka with Kamon 1.0
PDF
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
PDF
Building kubectl plugins with Quarkus | DevNation Tech Talk
PDF
Antons Kranga Building Agile Infrastructures
ODP
devops@cineca
PDF
Dependencies Managers in C/C++. Using stdcpp 2014
PDF
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
PDF
Lessons Learned: Using Concourse In Production
PDF
Introducing Pebble SDK 2.0
PDF
The evolution of Dell EMC PowerEdge server systems management - Infographic
PDF
BlaBlaCar and infrastructure automation
PDF
Mete Atamel
PDF
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
PPTX
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
PDF
Developing and Deploying PHP with Docker
PDF
Using Puppet - Real World Configuration Management
PPTX
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
PDF
Puppet devops wdec
Zero Code Multi-Cloud Automation with Ansible and Terraform
Deploying Symfony | symfony.cat
Monitoring Akka with Kamon 1.0
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
Building kubectl plugins with Quarkus | DevNation Tech Talk
Antons Kranga Building Agile Infrastructures
devops@cineca
Dependencies Managers in C/C++. Using stdcpp 2014
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Lessons Learned: Using Concourse In Production
Introducing Pebble SDK 2.0
The evolution of Dell EMC PowerEdge server systems management - Infographic
BlaBlaCar and infrastructure automation
Mete Atamel
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Developing and Deploying PHP with Docker
Using Puppet - Real World Configuration Management
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Puppet devops wdec
Ad

Similar to Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWS (20)

PDF
AWS + Puppet = Dynamic Scale
PDF
AWS Summit Singapore 2019 | Microsoft DevOps on AWS
PDF
Puppet Camp Berlin 2015: Nigel Kersten | Puppet Keynote
PDF
Puppet Camp Berlin 2015: Puppet Keynote
PDF
Masterless Puppet Using AWS S3 Buckets and IAM Roles
PPTX
Managing and Scaling Puppet - PuppetConf 2014
PPT
PowerPoint Presentation
PDF
One-Man Ops
PPTX
Meet Puppet's new product lineup 12/7/2017
ODP
Puppet and the HashiCorp Suite
PDF
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
PPT
Rapid scaling in_the_cloud_with_puppet
PDF
PuppetCamp Sydney 2012 - Building a Multimaster Environment
PPTX
Train and Deploy Machine Learning Workloads with AWS Container Services (July...
PDF
Puppet Camp LA 2015: Server Management with Puppet on AWS for a fast-growing ...
PDF
Aws + Puppet = Dynamic Scale
PDF
Puppet evolutions
PDF
Our Puppet Story (GUUG FFG 2015)
PPTX
Find out what's new at Puppet - products, programs, and more!
PPTX
AWS + Puppet = Dynamic Scale
AWS Summit Singapore 2019 | Microsoft DevOps on AWS
Puppet Camp Berlin 2015: Nigel Kersten | Puppet Keynote
Puppet Camp Berlin 2015: Puppet Keynote
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Managing and Scaling Puppet - PuppetConf 2014
PowerPoint Presentation
One-Man Ops
Meet Puppet's new product lineup 12/7/2017
Puppet and the HashiCorp Suite
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Rapid scaling in_the_cloud_with_puppet
PuppetCamp Sydney 2012 - Building a Multimaster Environment
Train and Deploy Machine Learning Workloads with AWS Container Services (July...
Puppet Camp LA 2015: Server Management with Puppet on AWS for a fast-growing ...
Aws + Puppet = Dynamic Scale
Puppet evolutions
Our Puppet Story (GUUG FFG 2015)
Find out what's new at Puppet - products, programs, and more!
Ad

More from Puppet (20)

PPTX
Puppet Community Day: Planning the Future Together
PPTX
The Evolution of Puppet: Key Changes and Modernization Tips
PPTX
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
PPTX
Bolt Dynamic Inventory: Making Puppet Easier
PPTX
Customizing Reporting with the Puppet Report Processor
PPTX
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
PPTX
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
PPTX
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
PPTX
Puppetcamp r10kyaml
PDF
2021 04-15 operational verification (with notes)
PPTX
Puppet camp vscode
PDF
Modules of the twenties
PDF
Applying Roles and Profiles method to compliance code
PPTX
KGI compliance as-code approach
PDF
Enforce compliance policy with model-driven automation
PDF
Keynote: Puppet camp compliance
PPTX
Automating it management with Puppet + ServiceNow
PPTX
Puppet: The best way to harden Windows
PPTX
Simplified Patch Management with Puppet - Oct. 2020
PPTX
Accelerating azure adoption with puppet
Puppet Community Day: Planning the Future Together
The Evolution of Puppet: Key Changes and Modernization Tips
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Bolt Dynamic Inventory: Making Puppet Easier
Customizing Reporting with the Puppet Report Processor
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppetcamp r10kyaml
2021 04-15 operational verification (with notes)
Puppet camp vscode
Modules of the twenties
Applying Roles and Profiles method to compliance code
KGI compliance as-code approach
Enforce compliance policy with model-driven automation
Keynote: Puppet camp compliance
Automating it management with Puppet + ServiceNow
Puppet: The best way to harden Windows
Simplified Patch Management with Puppet - Oct. 2020
Accelerating azure adoption with puppet

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PPTX
MYSQL Presentation for SQL database connectivity
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Machine learning based COVID-19 study performance prediction
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced IT Governance
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Monthly Chronicles - July 2025
PPT
Teaching material agriculture food technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Electronic commerce courselecture one. Pdf
Modernizing your data center with Dell and AMD
MYSQL Presentation for SQL database connectivity
GamePlan Trading System Review: Professional Trader's Honest Take
Understanding_Digital_Forensics_Presentation.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Review of recent advances in non-invasive hemoglobin estimation
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Machine learning based COVID-19 study performance prediction
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Advanced Soft Computing BINUS July 2025.pdf
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced IT Governance
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Monthly Chronicles - July 2025
Teaching material agriculture food technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf

Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWS

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates. Vasco Cardoso, Solutions Architect, AWS 05.05.20 Configuring Highly Scalable Compile Masters with AWS OpsWorks for Puppet Enterprise
  • 2. © 2020, Amazon Web Services, Inc. or its Affiliates. Puppet Scaling Vertical Scaling CPU Memory Max 4,000 nodes Horizontal Scaling Add Compile Masters 1.5k – 3k nodes / each
  • 3. © 2020, Amazon Web Services, Inc. or its Affiliates. Install Compile Masters Infrastructure VM to run CM Load Balancer Configuration New Node needs to be classified as a Compile Master Communication needs to be routed correctly
  • 4. © 2020, Amazon Web Services, Inc. or its Affiliates. Step by Step • Create Load Balancer • Configure load balancer to allow communication on ports 8140 and 8142 • Create new machine to serve as compile master • Configure load balancer to forward traffic to new compile master • SSH into future Compile master node and install the agent using the dns_alt_name flag • SSH into Master of Masters to sign the certificate • Log into the console and pin the compile master node to the PE Master node group • Run puppet on the Compile Master • Run puppet on Master of Masters • Configure the agent install requests to be sent to the load balancer • Run puppet on the compile masters • Run puppet on Master of Masters • Configure infrastructure agents to connect the orchestration agents to the Master of Masters • Run puppet on all nodes under the PE Infrastructure Group • Configure agents to connect orchestration agents to the load balancer • Run puppet on the Master of Masters • Run puppet on all the nodes, or re-install the agent Compile Master Infrastructure Master of Masters Configuration
  • 5. © 2020, Amazon Web Services, Inc. or its Affiliates. Automation – Puppet Master AWS OpsWorks for Puppet Enterprise Fully managed Puppet Enterprise server Automatically: • Patched • Updated • Backed Up
  • 6. © 2020, Amazon Web Services, Inc. or its Affiliates. Automation - Infrastructure • Load Balancer • Elastic Load Balancing– Network Load Balancer • Compile Master • Amazon EC2 Instance • Build it all • AWS CloudFormation
  • 7. © 2020, Amazon Web Services, Inc. or its Affiliates. Step by Step – Now with (some) automation • Create Load Balancer • Configure load balancer to allow communication on ports 8140 and 8142 • Create new machine to serve as compile master • Configure load balancer to forward traffic to new compile master • SSH into future Compile master node and install the agent using the dns_alt_name flag • SSH into MoM to sign the certificate • Log into the console and pin the compile master node to the PE Master node group • Run puppet on the compile master • Run puppet on MoM • Configure the agent install requests to be sent to the load balancer • Run puppet on the compile masters • Run puppet on MoM • Configure infrastructure agents to connect the orchestration agents to the MoM • Run puppet on all nodes under the PE Infrastructure Group • Configure agents to connect orchestration agents to the load balancer • Run puppet on the master • Run puppet on all the nodes, or re-install the agent Compile Master Infrastructure Master of Masters Configuration
  • 8. © 2020, Amazon Web Services, Inc. or its Affiliates. Automation - Configuration Master of Masters Configuration Node classifier service API Requires sharing of credentials Username/Password SSH Keys AWS Systems Manager Run commands without SSH
  • 9. © 2020, Amazon Web Services, Inc. or its Affiliates. Automation – Step by Step • Create Load Balancer • Configure load balancer to allow communication on ports 8140 and 8142 • Create new machine to serve as compile master • Configure load balancer to forward traffic to new compile master • SSH into future Compile master node and install the agent using the dns_alt_name flag • SSH into MoM to sign the certificate • Log into the console and pin the compile master node to the PE Master node group • Run puppet on the compile master • Run puppet on MoM • Configure the agent install requests to be sent to the load balancer • Run puppet on the compile masters • Run puppet on MoM • Configure infrastructure agents to connect the orchestration agents to the MoM • Run puppet on all nodes under the PE Infrastructure Group • Configure agents to connect orchestration agents to the load balancer • Run puppet on the master • Run puppet on all the nodes, or re-install the agent Compile Master Infrastructure Master of Masters Configuration • Launch CloudFormation Stack
  • 10. © 2020, Amazon Web Services, Inc. or its Affiliates. Automation Dive Deep – ELB • Dynamic registration of targets (Compile Masters) • Only allows traffic ports used by the Puppet and the Orchestration Agents • Health Checks • Managed service
  • 11. © 2020, Amazon Web Services, Inc. or its Affiliates. Automation Deep Dive – Compile Master • Bootstrap and update configuration at launch • Puppet Agent installation includes dns_alt_names flag • Certificate signed automatically • Compile Master automatically pinned to the PE Master group
  • 12. © 2020, Amazon Web Services, Inc. or its Affiliates. Automation Deep Dive – Autoscaling Group • Scales the number of Compile Masters in and out • Based on metrics • Via a dedicated trigger • Replaces unhealthy Compile Masters automatically • Automatic registration with Load Balancer
  • 13. © 2020, Amazon Web Services, Inc. or its Affiliates. Automation Deep Dive – Master of Masters • Configure compile master pool address (load balancer address) • Validate change • Run Puppet • Configure PCP Broker for Infrastructure Agents • Validate change • Run Puppet • Configure PCP Broker for Agents • Validate change • Run Puppet
  • 14. © 2020, Amazon Web Services, Inc. or its Affiliates. Benefits • Move away from manual processes • Built-in error detection and handling • Unattended scaling and replacement of Compile Masters • Replicate across environments
  • 15. © 2020, Amazon Web Services, Inc. or its Affiliates. Demo
  • 16. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 18. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 19. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 20. © 2020, Amazon Web Services, Inc. or its Affiliates.
  • 21. © 2020, Amazon Web Services, Inc. or its Affiliates. Q&A
  • 22. © 2020, Amazon Web Services, Inc. or its Affiliates. Thank you!