SlideShare a Scribd company logo
• Infrastructure-as-a-Code
• Puppet is an open source configuration management utility
• It is written in Ruby and released as free software under the GPL
• Built to be cross-platform
• A Declarative Language
• A Model Driven Architecture
A simple client-server model
Procedural Language
Puppet Language
• Talks about Resource Management when agents connect
• Handles the “How” by knowing how different platforms and OS manages certain type of
resources
• Each types has number of providers
• A Providers contains “how” of managing packages using a Package Management tool.
• When agents connect , Puppet uses a tool called “Facter”. To return the information about that
agent, including what OS is it running.
• Puppet chooses the appropriate package provider for that OS. Reports Success or Failure
• A System Inventory tool
• Returns facts about each agent(Hostname, IP address, OS and version information)
• These facts are gathered when agent runs.
• Facts are sent to the Puppet master, and automatically created as variable available to Puppet
• How to run facter?
• Facts are made available as variables that can be used in your puppet configuration
• Helps Puppet understand on how to manage particular resources in an agent.
• Resources - The core of the Puppet language is declaring resources. An Individual configuration
items
• Files – Physical files to serve to your agents
• Templates – Templates files that you can use to populate files
• Modules – Portable collection of resources. Reusable, sharable units of Puppet Code
• Classes – Modules can contain many Puppet classes. Groups of resource declarations and
conditional statements
• Manifests - Puppet code is saved in files called manifests, which are in turn stored in structured
directories called modules.
• Pre-built Puppet modules can be downloaded from the Puppet Forge, and most users will write at
least some of their own modules.
• Puppet Forge
• Searching/Installing Module
Installing Win7zip through Puppet
Installing Chrome through Puppet
• All servers that are physical with 4 CPU, deploy ESX.
• All servers that are virtual with 1 CPU and 4GB of memory, deploy
CentOS, and handoff system to puppetmaster.cse.com for
management.
• All servers that are virtual with 32GB of memory, deploy Debian,
and handoff system to puppetmaster.cse.com for management.
- A Software tool for rapid provisioning of OS and Hypervisor
~ on both physical and virtual servers
- A policy-based bare-metal provisioning lets you inventory and manage the lifecycle of your
physical machines.
- Automatically discovers bare-metal hardware, dynamically configure operating systems
and/or hypervisors, and hand nodes off to PE for workload configuration
- Two major Components:
~ The Razor Server
(Ruby, MongoDB, Node.js)
~ The Razor Microkernel
(~20MB LInux Kernel, Facter, MCollective)
• - Discovery ( Tags, Matcher Rules)
• - Models(Defining OS Templates,..)
• - Policies(Rules that apply Models to Nodes based on Discovery)
• - Broker( Configuration Management)
When a new node appears, Razor discovers its characteristics by booting it with the Razor
microkernel and inventorying its facts.
The node is tagged based on its characteristics. Tags contain a match condition — a Boolean
expression that has access to the node’s facts and determines whether the tag should be applied to
the node or not.
• Install PE in Your Virtual Environment
• Install and Configure dnsmasq DHCP/TFTP Service
• Temporarily Disable SELinux to Enable PXE Boot
• Edit the dnsmasq Configuration File to Enable PXE Boot
• Install the Razor Server
– Load iPXE Software
– Verify the Razor Server
• Install and Set Up the Razor Client
• Setup Razor Provisioning
• Include Repos
• Include Brokers
• Include Tasks
• Create Policies
• Identify and Register Nodes
- A Tag consists of a unique name and rule
- The tag matches a node if evaluating it against the tag's facts results in true.
- The syntax for rule expressions is defined in lib/razor/matcher.rb
- Policies orchestrate repos, brokers, and tasks to tell Razor what bits to install, where to get the
bits, how they should be configured, and how to communicate between a node and PE.
- Policies contain a good deal of information, it’s handy to save them in a JSON file that you run when
you create the policy
Example: It should be applied to the first 20 nodes that have no more than two processors that boot
- Create a file called policy.json and copy the following template text into it:
- Edit the options in the policy.json template with information specific to your environment.
- Apply the policy by executing: razor create-policy --json policy.json.
Step -1 – A Fresh Razor with no new node.
Step-2 – Create a new VM. It retrieves DHCP IP and loads microkernel
Step-3 - Razor API server is being contacted.
Step-4 – Razor server shows a new node registered.
Step-5- Razor Tag – Create a new tag. Let the node be tagged based on its characteristics.
Step-6 – Check the characteristic of the new tagged node. Count =1 shows that the new node is
tagged successfully.
Step-7- Verify the Razor Tag by name.
Step-8 – Creating a repo for a new VM to be deployed
Step-9 - Creating a broker ( Puppet Enterprise for Configuration Management)
Step-10 – Creating a Policy for new node
Step-11- A New Node starts loading as per the policy specified.
Step-12 - Verify the node2 policy attached through puppet master
Step-13 - The New OS comes up , shows that it has been installed through Razor.
- Deploy version 1.2.3 on my application to all 3000 systems
- Deploy version 1.2.5rc2 of my application to all 340 development systems
- Restart the Apache service on all the systems in North America zones
- What systems are online right now?
- Run puppet on all systems, ensuring that at most 10 runs are happenings at once
- Upgrade the Hadoop version from 0.1 to 1.1 on all those 2500 nodes
- A framework to build server orchestration or parallel job execution systems
- Uses a Publish Subscribe Middleware philosophy ~ real time discovery of network resources
using meta data and not hostnames
~ a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific
receivers, called subscribers. Instead, published messages are characterized into classes, without knowledge of what, if any, subscribers
there may be. Similarly, subscribers express interest in one or more classes, and only receive messages that are of interest, without
knowledge of what, if any, publishers there are. “
- Uses a broadcast paradigm for request distribution.
~ all servers get all requests at the same time, requests have filters attached and only servers matching the filter will act on requests.
There is no central asset database to go out of sync, the network is the only source of truth “
An MCollective client can send requests to any number of servers, using a security plugin to encode and sign the request
and a connector plugin to publish it.
It can also receive replies from servers, and format the response data for a user or some other system.
Example : mco command-line client
An mCollective server is a computer which can be controlled via mCollective.
Servers runs the mcollecitve daemon (mcollectived) and have any number of agent plugins installed
• An Abstract Cloud of Magic
• Clients and servers don’t communicate directly. They publish messages
to the middleware, and subscribe to messages they are interested in.
• Middleware system ~ knows how to route messages.
• External to MCollective, and everything that interacts directly with it is
pushed out into a connector plugin (which needs some limited
knowledge about the topology and configuration of the middleware).
Apache ActiveMQ
- an open-source message broker that runs on the JVM;
- Installed with a wrapper script and init script that allow it to be managed as a normal
OS service.
- MCollective talks to ActiveMQ using the Stomp protocol
- This is the main middleware recommended for use with Mcollective
- most well-tested option, its security features are powerful and flexible enough to suit
nearly all needs, and it can scale by clustering once a deployment gets too big (we
recommend ~800 nodes per ActiveMQ server as a maximum). Its main drawback is
that it can be frustrating to configure; to help mitigate that, we provide a detailed
ActiveMQ config reference in our own docs
•
RabbitMQ
• An open-source message broker written in Erlang; MCollective talks to
RabbitMQ using the Stomp protocol. Although it works well with
MCollective, it isn’t as thoroughly tested with it as ActiveMQ is, so if your
site has no preference, you should default to ActiveMQ.
• The RabbitMQ connector ships with MCollective’s core and is available by
default.
- mco – mCollective Client
~ A generic node and network inventory tool
~ Lets you define broadcast domains and configure a mcollective server to
belong to one or many of these domains.
$mco ping – communicates to all the puppet agents
- Make requests to your servers.
- Capable of interacting with any standard Remote Procedure Call (RPC) agent.
How it work?
i. Perform discovery against the network and discover 10 servers
ii. Send the request and then show a progress bar of the replies
iii. Show any results that were out of the ordinary
iv. Show some statistics
• You can request the status for a specific service
• Report of all your IBM hardware listing hostname, serial number, and product
name
Are you using the default Web Server?
Limitation of WEBrick, the default web server used to enable Puppet’s web services connectivity, is
essentially a reference implementation, and becomes unreliable as number of nodes increases.
Challenge-1 - Scaling the Transport
Possible Solution - increase the performance and potential number of possible master and agent
connections.
Challenge-2 – Scaling SSL
Possible Solution - we implement good management of the SSL certificates that secure the
connection between the master and the agent
• -
Approach
• Replacing WEBRick Ruby-based HTTP server with the Apache web server on a single Puppet master
system
• Extending the strategy to multiple Puppet master systems working behind a load balancer with Apache
Web Server/Nginx.
Running Puppet Master with Apache and Passenger
An Apache module that allows the embedding of Ruby applications, much like mod_php or mod_perl allow the
embedding of PHP and Perl applications.
For networks of one to two thousand Puppet managed nodes, a single Puppet master system running inside of
Apache with Passenger is often sufficient
Approach:
- Install Apache and Passenger
- Configure apache to handle SSL authentication and Verification of Puppet Agent
- Connect Apache to the Puppet Master
Step-1 Installing Apache Web Server
Step-2 Installing Passenger
Step-3 Configuring Apache and Passenger
Step-4 Configuring Apache Virtual Host
Front End HTTP Load Balancer
- Front-end Apache Virtual Host to authorize incoming Puppet Agent requests and handle SSL encryption
and decryption of the traffic
- It will terminate the SSL connection, be responsible for authenticating the puppet agent request and then
present this authentication information to the back-end Puppet master workers for authorization.
- All traffic between the front-end load balancer and the back-end Puppet master systems are unencrypted
and in plain text
Puppet Master Worker Configuration
• When running the Puppet master behind a load balancer, there will be multiple
Puppet master processes running on different hosts behind the load balancer.
• The load balancer will listen on the Puppet port of 8140. Incoming requests will be
dispatched to available back-end worker processes, (configures the Puppet CA and
workers all on the same host using unique TCP ports bound to the loopback
interface)
- .
Front-End Load Balancer Configuration
Single Back-end Puppet Master workers
Testing a Single Backend Puppet worker
- Synchronize the Puppet CA directory across all of the worker systems
- Make one worker system the active Puppet CA service and a second worker system the hot
standby Puppet CA service.
Demystifying puppet

More Related Content

What's hot

Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015
Chris Ciborowski
 
Load Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXLoad Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINX
NGINX, Inc.
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paas
rajdeep
 
Deep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeDeep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm Mode
Ajeet Singh Raina
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
Docker, Inc.
 
Docker 1.5
Docker 1.5Docker 1.5
Docker 1.5
rajdeep
 
Docker and stuff
Docker and stuffDocker and stuff
Docker and stuff
Varun Sharma
 
Docker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup SlidesDocker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup Slides
Docker, Inc.
 
Docker Swarm Meetup (15min lightning)
Docker Swarm Meetup (15min lightning)Docker Swarm Meetup (15min lightning)
Docker Swarm Meetup (15min lightning)
Mike Goelzer
 
Fluentd and docker monitoring
Fluentd and docker monitoringFluentd and docker monitoring
Fluentd and docker monitoring
Vinay Krishna
 
Heart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object ModelHeart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object Model
Docker, Inc.
 
Docker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&A
Docker, Inc.
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
rajdeep
 
Docker swarm workshop
Docker swarm workshopDocker swarm workshop
Docker swarm workshop
Luis Borbon
 
Comprehensive Monitoring for Docker
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
Christian Beedgen
 
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
Mike Goelzer
 
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Docker, Inc.
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
Docker Swarm for Beginner
Docker Swarm for BeginnerDocker Swarm for Beginner
Docker Swarm for Beginner
Shahzad Masud
 
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
Docker, Inc.
 

What's hot (20)

Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015Nebulaworks Docker Overview 09-22-2015
Nebulaworks Docker Overview 09-22-2015
 
Load Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXLoad Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINX
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paas
 
Deep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm ModeDeep Dive into Docker Swarm Mode
Deep Dive into Docker Swarm Mode
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Docker 1.5
Docker 1.5Docker 1.5
Docker 1.5
 
Docker and stuff
Docker and stuffDocker and stuff
Docker and stuff
 
Docker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup SlidesDocker Datacenter Overview and Production Setup Slides
Docker Datacenter Overview and Production Setup Slides
 
Docker Swarm Meetup (15min lightning)
Docker Swarm Meetup (15min lightning)Docker Swarm Meetup (15min lightning)
Docker Swarm Meetup (15min lightning)
 
Fluentd and docker monitoring
Fluentd and docker monitoringFluentd and docker monitoring
Fluentd and docker monitoring
 
Heart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object ModelHeart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object Model
 
Docker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&A
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
 
Docker swarm workshop
Docker swarm workshopDocker swarm workshop
Docker swarm workshop
 
Comprehensive Monitoring for Docker
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
 
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea LuzzardiWhat's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
What's New in Docker 1.12 (June 20, 2016) by Mike Goelzer & Andrea Luzzardi
 
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Docker Swarm for Beginner
Docker Swarm for BeginnerDocker Swarm for Beginner
Docker Swarm for Beginner
 
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
 

Viewers also liked

Puppet at Scale – Case Study of PayPal's Learnings - PuppetConf 2013
Puppet at Scale – Case Study of PayPal's Learnings - PuppetConf 2013Puppet at Scale – Case Study of PayPal's Learnings - PuppetConf 2013
Puppet at Scale – Case Study of PayPal's Learnings - PuppetConf 2013
Puppet
 
Write php deploy everywhere
Write php deploy everywhereWrite php deploy everywhere
Write php deploy everywhere
Michelangelo van Dam
 
Build your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollectiveBuild your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollective
Jonathan Weiss
 
Masterless puppet
Masterless puppetMasterless puppet
Masterless puppet
Jesus Nunez
 
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet
 
Puppet Camp DC 2014: Managing Puppet with MCollective
Puppet Camp DC 2014: Managing Puppet with MCollectivePuppet Camp DC 2014: Managing Puppet with MCollective
Puppet Camp DC 2014: Managing Puppet with MCollective
Puppet
 
Introduction to orchestration using Mcollective
Introduction to orchestration using McollectiveIntroduction to orchestration using Mcollective
Introduction to orchestration using Mcollective
Puppet
 
Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritage
Ran Levy
 
PuppetConf track overview: Modern Infrastructure
PuppetConf track overview: Modern InfrastructurePuppetConf track overview: Modern Infrastructure
PuppetConf track overview: Modern Infrastructure
Puppet
 
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 201211 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
Puppet
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
Linaro
 

Viewers also liked (11)

Puppet at Scale – Case Study of PayPal's Learnings - PuppetConf 2013
Puppet at Scale – Case Study of PayPal's Learnings - PuppetConf 2013Puppet at Scale – Case Study of PayPal's Learnings - PuppetConf 2013
Puppet at Scale – Case Study of PayPal's Learnings - PuppetConf 2013
 
Write php deploy everywhere
Write php deploy everywhereWrite php deploy everywhere
Write php deploy everywhere
 
Build your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollectiveBuild your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollective
 
Masterless puppet
Masterless puppetMasterless puppet
Masterless puppet
 
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
Puppet Camp Tokyo 2014: Why we stopped using Puppet Agent Daemon
 
Puppet Camp DC 2014: Managing Puppet with MCollective
Puppet Camp DC 2014: Managing Puppet with MCollectivePuppet Camp DC 2014: Managing Puppet with MCollective
Puppet Camp DC 2014: Managing Puppet with MCollective
 
Introduction to orchestration using Mcollective
Introduction to orchestration using McollectiveIntroduction to orchestration using Mcollective
Introduction to orchestration using Mcollective
 
Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritage
 
PuppetConf track overview: Modern Infrastructure
PuppetConf track overview: Modern InfrastructurePuppetConf track overview: Modern Infrastructure
PuppetConf track overview: Modern Infrastructure
 
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 201211 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
 

Similar to Demystifying puppet

Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
Nitesh Jadhav
 
Introduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeopleIntroduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeople
SpringPeople
 
Presentación11.pdf
Presentación11.pdfPresentación11.pdf
Presentación11.pdf
PabloCanesta
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
Peter Clapham
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
Peter Clapham
 
Birmingham-20060705
Birmingham-20060705Birmingham-20060705
Birmingham-20060705Miguel Vidal
 
[Draft] Fast Prototyping with DPDK and eBPF in Containernet
[Draft] Fast Prototyping with DPDK and eBPF in Containernet[Draft] Fast Prototyping with DPDK and eBPF in Containernet
[Draft] Fast Prototyping with DPDK and eBPF in Containernet
Andrew Wang
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling Magento
Mathew Beane
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
Murali Boyapati
 
Internship msc cs
Internship msc csInternship msc cs
Internship msc cs
Pooja Bhojwani
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
Federico Michele Facca
 
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet LabsTechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
Robb Boyd
 
Vip2p
Vip2pVip2p
Vip2p
INRIA-OAK
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Albert Suwandhi
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Vishal Biyani
 
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataMonitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
GetInData
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Belmiro Moreira
 
How kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updatedHow kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updated
Shikha Srivastava
 

Similar to Demystifying puppet (20)

Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Introduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeopleIntroduction to Puppet - SpringPeople
Introduction to Puppet - SpringPeople
 
Presentación11.pdf
Presentación11.pdfPresentación11.pdf
Presentación11.pdf
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
Birmingham-20060705
Birmingham-20060705Birmingham-20060705
Birmingham-20060705
 
[Draft] Fast Prototyping with DPDK and eBPF in Containernet
[Draft] Fast Prototyping with DPDK and eBPF in Containernet[Draft] Fast Prototyping with DPDK and eBPF in Containernet
[Draft] Fast Prototyping with DPDK and eBPF in Containernet
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling Magento
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
 
Internship msc cs
Internship msc csInternship msc cs
Internship msc cs
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
 
Wissbi osdc pdf
Wissbi osdc pdfWissbi osdc pdf
Wissbi osdc pdf
 
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet LabsTechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
 
Vip2p
Vip2pVip2p
Vip2p
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataMonitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
 
How kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updatedHow kubernetes operators can rescue dev secops in midst of a pandemic updated
How kubernetes operators can rescue dev secops in midst of a pandemic updated
 

More from Ajeet Singh Raina

Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devices
Ajeet Singh Raina
 
Delivering Container-based Apps to IoT Edge devices
Delivering Container-based Apps to IoT Edge devicesDelivering Container-based Apps to IoT Edge devices
Delivering Container-based Apps to IoT Edge devices
Ajeet Singh Raina
 
Docker Trends & Statistics - A 20 Minutes Overview
Docker Trends & Statistics -  A 20 Minutes Overview Docker Trends & Statistics -  A 20 Minutes Overview
Docker Trends & Statistics - A 20 Minutes Overview
Ajeet Singh Raina
 
Real time Object Detection and Analytics using RedisEdge and Docker
Real time Object Detection and Analytics using RedisEdge and DockerReal time Object Detection and Analytics using RedisEdge and Docker
Real time Object Detection and Analytics using RedisEdge and Docker
Ajeet Singh Raina
 
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh RainaOSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
Ajeet Singh Raina
 
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker  on the Edge | OSCONF 2020 JaipurQuantifying Your World with AI & Docker  on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
Ajeet Singh Raina
 
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 HyderabadKeynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
Ajeet Singh Raina
 
IoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
IoET Conference 2020 | Keynote Slides | Ajeet Singh RainaIoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
IoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
Ajeet Singh Raina
 
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
Ajeet Singh Raina
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Ajeet Singh Raina
 
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote SlidesOSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
Ajeet Singh Raina
 
Top 5 Helpful Tips to Grow Your Local Docker Community
Top 5 Helpful Tips to Grow Your Local Docker CommunityTop 5 Helpful Tips to Grow Your Local Docker Community
Top 5 Helpful Tips to Grow Your Local Docker Community
Ajeet Singh Raina
 
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar PradhanAwesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Ajeet Singh Raina
 
Demystifying the Nuts & Bolts of Kubernetes Architecture
Demystifying the Nuts & Bolts of Kubernetes ArchitectureDemystifying the Nuts & Bolts of Kubernetes Architecture
Demystifying the Nuts & Bolts of Kubernetes Architecture
Ajeet Singh Raina
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
Ajeet Singh Raina
 
Kubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best PracticesKubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best Practices
Ajeet Singh Raina
 
Current State of Docker Platform - Nov 2019
Current State of Docker Platform  - Nov 2019Current State of Docker Platform  - Nov 2019
Current State of Docker Platform - Nov 2019
Ajeet Singh Raina
 
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
Ajeet Singh Raina
 
Introduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate WorkshopIntroduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate Workshop
Ajeet Singh Raina
 
Simplifying Real Time Data Analytics with Docker, IoT & Cloud
Simplifying Real Time Data Analytics with Docker, IoT & CloudSimplifying Real Time Data Analytics with Docker, IoT & Cloud
Simplifying Real Time Data Analytics with Docker, IoT & Cloud
Ajeet Singh Raina
 

More from Ajeet Singh Raina (20)

Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devices
 
Delivering Container-based Apps to IoT Edge devices
Delivering Container-based Apps to IoT Edge devicesDelivering Container-based Apps to IoT Edge devices
Delivering Container-based Apps to IoT Edge devices
 
Docker Trends & Statistics - A 20 Minutes Overview
Docker Trends & Statistics -  A 20 Minutes Overview Docker Trends & Statistics -  A 20 Minutes Overview
Docker Trends & Statistics - A 20 Minutes Overview
 
Real time Object Detection and Analytics using RedisEdge and Docker
Real time Object Detection and Analytics using RedisEdge and DockerReal time Object Detection and Analytics using RedisEdge and Docker
Real time Object Detection and Analytics using RedisEdge and Docker
 
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh RainaOSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
OSCONF Jaipur 2020 | Virtual Conference | Oct 10 | Ajeet Singh Raina
 
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker  on the Edge | OSCONF 2020 JaipurQuantifying Your World with AI & Docker  on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
 
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 HyderabadKeynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
Keynote Slides | Ajeet Singh Raina | OSCONF 2020 Hyderabad
 
IoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
IoET Conference 2020 | Keynote Slides | Ajeet Singh RainaIoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
IoET Conference 2020 | Keynote Slides | Ajeet Singh Raina
 
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
OSCONF 2020 Kochi Conference | KubeZilla | 27 June 2020
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote SlidesOSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
OSCONF 2020 Bengaluru | Powered by Collabnix | Keynote Slides
 
Top 5 Helpful Tips to Grow Your Local Docker Community
Top 5 Helpful Tips to Grow Your Local Docker CommunityTop 5 Helpful Tips to Grow Your Local Docker Community
Top 5 Helpful Tips to Grow Your Local Docker Community
 
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar PradhanAwesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
 
Demystifying the Nuts & Bolts of Kubernetes Architecture
Demystifying the Nuts & Bolts of Kubernetes ArchitectureDemystifying the Nuts & Bolts of Kubernetes Architecture
Demystifying the Nuts & Bolts of Kubernetes Architecture
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Kubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best PracticesKubernetes Monitoring & Best Practices
Kubernetes Monitoring & Best Practices
 
Current State of Docker Platform - Nov 2019
Current State of Docker Platform  - Nov 2019Current State of Docker Platform  - Nov 2019
Current State of Docker Platform - Nov 2019
 
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
Collabnix Online Webinar: Integrated Log Analytics & Monitoring using Docker ...
 
Introduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate WorkshopIntroduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate Workshop
 
Simplifying Real Time Data Analytics with Docker, IoT & Cloud
Simplifying Real Time Data Analytics with Docker, IoT & CloudSimplifying Real Time Data Analytics with Docker, IoT & Cloud
Simplifying Real Time Data Analytics with Docker, IoT & Cloud
 

Recently uploaded

The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 

Recently uploaded (20)

The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 

Demystifying puppet

  • 1.
  • 2. • Infrastructure-as-a-Code • Puppet is an open source configuration management utility • It is written in Ruby and released as free software under the GPL • Built to be cross-platform • A Declarative Language • A Model Driven Architecture
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 10. • Talks about Resource Management when agents connect • Handles the “How” by knowing how different platforms and OS manages certain type of resources • Each types has number of providers • A Providers contains “how” of managing packages using a Package Management tool. • When agents connect , Puppet uses a tool called “Facter”. To return the information about that agent, including what OS is it running. • Puppet chooses the appropriate package provider for that OS. Reports Success or Failure
  • 11. • A System Inventory tool • Returns facts about each agent(Hostname, IP address, OS and version information) • These facts are gathered when agent runs. • Facts are sent to the Puppet master, and automatically created as variable available to Puppet • How to run facter? • Facts are made available as variables that can be used in your puppet configuration • Helps Puppet understand on how to manage particular resources in an agent.
  • 12.
  • 13. • Resources - The core of the Puppet language is declaring resources. An Individual configuration items • Files – Physical files to serve to your agents • Templates – Templates files that you can use to populate files • Modules – Portable collection of resources. Reusable, sharable units of Puppet Code • Classes – Modules can contain many Puppet classes. Groups of resource declarations and conditional statements • Manifests - Puppet code is saved in files called manifests, which are in turn stored in structured directories called modules. • Pre-built Puppet modules can be downloaded from the Puppet Forge, and most users will write at least some of their own modules.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. • Puppet Forge • Searching/Installing Module
  • 19.
  • 20.
  • 21. Installing Win7zip through Puppet Installing Chrome through Puppet
  • 22.
  • 23. • All servers that are physical with 4 CPU, deploy ESX. • All servers that are virtual with 1 CPU and 4GB of memory, deploy CentOS, and handoff system to puppetmaster.cse.com for management. • All servers that are virtual with 32GB of memory, deploy Debian, and handoff system to puppetmaster.cse.com for management.
  • 24. - A Software tool for rapid provisioning of OS and Hypervisor ~ on both physical and virtual servers - A policy-based bare-metal provisioning lets you inventory and manage the lifecycle of your physical machines. - Automatically discovers bare-metal hardware, dynamically configure operating systems and/or hypervisors, and hand nodes off to PE for workload configuration - Two major Components: ~ The Razor Server (Ruby, MongoDB, Node.js) ~ The Razor Microkernel (~20MB LInux Kernel, Facter, MCollective)
  • 25. • - Discovery ( Tags, Matcher Rules) • - Models(Defining OS Templates,..) • - Policies(Rules that apply Models to Nodes based on Discovery) • - Broker( Configuration Management)
  • 26. When a new node appears, Razor discovers its characteristics by booting it with the Razor microkernel and inventorying its facts. The node is tagged based on its characteristics. Tags contain a match condition — a Boolean expression that has access to the node’s facts and determines whether the tag should be applied to the node or not.
  • 27.
  • 28.
  • 29. • Install PE in Your Virtual Environment • Install and Configure dnsmasq DHCP/TFTP Service • Temporarily Disable SELinux to Enable PXE Boot • Edit the dnsmasq Configuration File to Enable PXE Boot • Install the Razor Server – Load iPXE Software – Verify the Razor Server • Install and Set Up the Razor Client • Setup Razor Provisioning • Include Repos • Include Brokers • Include Tasks • Create Policies • Identify and Register Nodes
  • 30.
  • 31. - A Tag consists of a unique name and rule - The tag matches a node if evaluating it against the tag's facts results in true. - The syntax for rule expressions is defined in lib/razor/matcher.rb
  • 32. - Policies orchestrate repos, brokers, and tasks to tell Razor what bits to install, where to get the bits, how they should be configured, and how to communicate between a node and PE. - Policies contain a good deal of information, it’s handy to save them in a JSON file that you run when you create the policy Example: It should be applied to the first 20 nodes that have no more than two processors that boot
  • 33. - Create a file called policy.json and copy the following template text into it: - Edit the options in the policy.json template with information specific to your environment. - Apply the policy by executing: razor create-policy --json policy.json.
  • 34. Step -1 – A Fresh Razor with no new node. Step-2 – Create a new VM. It retrieves DHCP IP and loads microkernel
  • 35. Step-3 - Razor API server is being contacted.
  • 36. Step-4 – Razor server shows a new node registered.
  • 37.
  • 38.
  • 39. Step-5- Razor Tag – Create a new tag. Let the node be tagged based on its characteristics.
  • 40. Step-6 – Check the characteristic of the new tagged node. Count =1 shows that the new node is tagged successfully.
  • 41. Step-7- Verify the Razor Tag by name.
  • 42. Step-8 – Creating a repo for a new VM to be deployed
  • 43. Step-9 - Creating a broker ( Puppet Enterprise for Configuration Management)
  • 44. Step-10 – Creating a Policy for new node
  • 45. Step-11- A New Node starts loading as per the policy specified.
  • 46. Step-12 - Verify the node2 policy attached through puppet master
  • 47. Step-13 - The New OS comes up , shows that it has been installed through Razor.
  • 48. - Deploy version 1.2.3 on my application to all 3000 systems - Deploy version 1.2.5rc2 of my application to all 340 development systems - Restart the Apache service on all the systems in North America zones - What systems are online right now? - Run puppet on all systems, ensuring that at most 10 runs are happenings at once - Upgrade the Hadoop version from 0.1 to 1.1 on all those 2500 nodes
  • 49. - A framework to build server orchestration or parallel job execution systems - Uses a Publish Subscribe Middleware philosophy ~ real time discovery of network resources using meta data and not hostnames ~ a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers. Instead, published messages are characterized into classes, without knowledge of what, if any, subscribers there may be. Similarly, subscribers express interest in one or more classes, and only receive messages that are of interest, without knowledge of what, if any, publishers there are. “ - Uses a broadcast paradigm for request distribution. ~ all servers get all requests at the same time, requests have filters attached and only servers matching the filter will act on requests. There is no central asset database to go out of sync, the network is the only source of truth “
  • 50. An MCollective client can send requests to any number of servers, using a security plugin to encode and sign the request and a connector plugin to publish it. It can also receive replies from servers, and format the response data for a user or some other system. Example : mco command-line client
  • 51. An mCollective server is a computer which can be controlled via mCollective. Servers runs the mcollecitve daemon (mcollectived) and have any number of agent plugins installed
  • 52.
  • 53.
  • 54. • An Abstract Cloud of Magic • Clients and servers don’t communicate directly. They publish messages to the middleware, and subscribe to messages they are interested in. • Middleware system ~ knows how to route messages. • External to MCollective, and everything that interacts directly with it is pushed out into a connector plugin (which needs some limited knowledge about the topology and configuration of the middleware).
  • 55. Apache ActiveMQ - an open-source message broker that runs on the JVM; - Installed with a wrapper script and init script that allow it to be managed as a normal OS service. - MCollective talks to ActiveMQ using the Stomp protocol - This is the main middleware recommended for use with Mcollective - most well-tested option, its security features are powerful and flexible enough to suit nearly all needs, and it can scale by clustering once a deployment gets too big (we recommend ~800 nodes per ActiveMQ server as a maximum). Its main drawback is that it can be frustrating to configure; to help mitigate that, we provide a detailed ActiveMQ config reference in our own docs •
  • 56. RabbitMQ • An open-source message broker written in Erlang; MCollective talks to RabbitMQ using the Stomp protocol. Although it works well with MCollective, it isn’t as thoroughly tested with it as ActiveMQ is, so if your site has no preference, you should default to ActiveMQ. • The RabbitMQ connector ships with MCollective’s core and is available by default.
  • 57. - mco – mCollective Client
  • 58. ~ A generic node and network inventory tool
  • 59. ~ Lets you define broadcast domains and configure a mcollective server to belong to one or many of these domains.
  • 60. $mco ping – communicates to all the puppet agents
  • 61. - Make requests to your servers. - Capable of interacting with any standard Remote Procedure Call (RPC) agent. How it work? i. Perform discovery against the network and discover 10 servers ii. Send the request and then show a progress bar of the replies iii. Show any results that were out of the ordinary iv. Show some statistics
  • 62. • You can request the status for a specific service
  • 63. • Report of all your IBM hardware listing hostname, serial number, and product name
  • 64. Are you using the default Web Server? Limitation of WEBrick, the default web server used to enable Puppet’s web services connectivity, is essentially a reference implementation, and becomes unreliable as number of nodes increases. Challenge-1 - Scaling the Transport Possible Solution - increase the performance and potential number of possible master and agent connections. Challenge-2 – Scaling SSL Possible Solution - we implement good management of the SSL certificates that secure the connection between the master and the agent • -
  • 65. Approach • Replacing WEBRick Ruby-based HTTP server with the Apache web server on a single Puppet master system • Extending the strategy to multiple Puppet master systems working behind a load balancer with Apache Web Server/Nginx.
  • 66. Running Puppet Master with Apache and Passenger An Apache module that allows the embedding of Ruby applications, much like mod_php or mod_perl allow the embedding of PHP and Perl applications. For networks of one to two thousand Puppet managed nodes, a single Puppet master system running inside of Apache with Passenger is often sufficient Approach: - Install Apache and Passenger - Configure apache to handle SSL authentication and Verification of Puppet Agent - Connect Apache to the Puppet Master
  • 67. Step-1 Installing Apache Web Server Step-2 Installing Passenger
  • 68. Step-3 Configuring Apache and Passenger
  • 70. Front End HTTP Load Balancer - Front-end Apache Virtual Host to authorize incoming Puppet Agent requests and handle SSL encryption and decryption of the traffic - It will terminate the SSL connection, be responsible for authenticating the puppet agent request and then present this authentication information to the back-end Puppet master workers for authorization. - All traffic between the front-end load balancer and the back-end Puppet master systems are unencrypted and in plain text
  • 71. Puppet Master Worker Configuration • When running the Puppet master behind a load balancer, there will be multiple Puppet master processes running on different hosts behind the load balancer. • The load balancer will listen on the Puppet port of 8140. Incoming requests will be dispatched to available back-end worker processes, (configures the Puppet CA and workers all on the same host using unique TCP ports bound to the loopback interface) - .
  • 72. Front-End Load Balancer Configuration
  • 73. Single Back-end Puppet Master workers
  • 74. Testing a Single Backend Puppet worker
  • 75. - Synchronize the Puppet CA directory across all of the worker systems - Make one worker system the active Puppet CA service and a second worker system the hot standby Puppet CA service.