SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
© 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!

Mais conteúdo relacionado

Mais procurados

Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0
Cherie Williams
 
BlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automationBlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automation
sinfomicien
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration Management
James Turnbull
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Simplilearn
 

Mais procurados (20)

Zero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformZero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and Terraform
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0
 
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
 
Building kubectl plugins with Quarkus | DevNation Tech Talk
Building kubectl plugins with Quarkus | DevNation Tech TalkBuilding kubectl plugins with Quarkus | DevNation Tech Talk
Building kubectl plugins with Quarkus | DevNation Tech Talk
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
devops@cineca
devops@cinecadevops@cineca
devops@cineca
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
 
Lessons Learned: Using Concourse In Production
Lessons Learned: Using Concourse In ProductionLessons Learned: Using Concourse In Production
Lessons Learned: Using Concourse In Production
 
Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0
 
The evolution of Dell EMC PowerEdge server systems management - Infographic
The evolution of Dell EMC PowerEdge server systems management - InfographicThe evolution of Dell EMC PowerEdge server systems management - Infographic
The evolution of Dell EMC PowerEdge server systems management - Infographic
 
BlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automationBlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automation
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
 
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and BeyondTectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration Management
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 

Semelhante a Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWS

Semelhante a Configuring Highly Scalable Compile Masters, Vasco Cardoso, AWS (20)

Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWSAWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
AWS Community Day - Piyali Kamra - Conversational AI Ecosystem on AWS
 
Load balancer in mule
Load balancer in muleLoad balancer in mule
Load balancer in mule
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트
AWS Builders Online Series | 컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트
 
(DEV202) Under the Desk to the AWS Cloud with Windows PowerShell
(DEV202) Under the Desk to the AWS Cloud with Windows PowerShell(DEV202) Under the Desk to the AWS Cloud with Windows PowerShell
(DEV202) Under the Desk to the AWS Cloud with Windows PowerShell
 
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
 
From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWS
 
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
 
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
 
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...
 
Infrastructure is code with the AWS cloud development kit
Infrastructure is code with the AWS cloud development kitInfrastructure is code with the AWS cloud development kit
Infrastructure is code with the AWS cloud development kit
 
AWS_SAP-C02_May_2023-v1.2.pdf
AWS_SAP-C02_May_2023-v1.2.pdfAWS_SAP-C02_May_2023-v1.2.pdf
AWS_SAP-C02_May_2023-v1.2.pdf
 
Running kubernetes with amazon eks
Running kubernetes with amazon eksRunning kubernetes with amazon eks
Running kubernetes with amazon eks
 
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트) Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
saa3_wk5.pdf
saa3_wk5.pdfsaa3_wk5.pdf
saa3_wk5.pdf
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017
 
Exciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKSExciting world of Amazon container services with AWS Fargate and Amazon EKS
Exciting world of Amazon container services with AWS Fargate and Amazon EKS
 

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

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
 
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
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

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!