SlideShare a Scribd company logo
1 of 51
Download to read offline
CONTINUOUSLY INTEGRATED PUPPET IN A DYNAMIC ENVIRONMENT
SAM BASHTON, BASHTON LTD
CONTINUOUSLY INTEGRATED PUPPET IN A DYNAMIC ENVIRONMENT
MASTERLESS PUPPET: WHY AND HOW
SAM BASHTON, BASHTON LTD
ABOUT ME
Linux guy since Slackware, floppy disks and root + boot
Using Puppet since 2007
Run a company in Manchester, North West England
We provide outsourced ops for other companies
OUR FULLY MANAGED ENVIRONMENTS
Primarily transactional websites (e­commerce)
Majority (70%+) on Amazon Web Services (AWS)
Majority using CentOS
HOW WE WORK
Simple is better than complex
Complexity is worth adding only if it provides obvious functional benefits
Re­usability
Resilience
WHY DID WE PICK AWS?
Featureset and toolset massively in advance of any other cloud provider, public or private
#1 customer reason for switching to AWS? The ability to scale on demand
TOOLS WE USE FOR BUILDING AND MANAGING
Do one thing and do it well
CloudFormation ­ Amazon tool to manage infrastructure
Puppet ­ Manage system configuration
Pulp ­ centralised repository, manages package revisions
Jenkins
HOW WE USE PUPPET
No Puppetmaster
Puppet manifests, hieradata and modules distributed to all machines via RPM
All machines boot with a common, blank image and get configured at first boot
WHAT'S WRONG WITH MASTER BASED PUPPET?
Pets vs Cattle
Puppet designed for a world of servers as pets
We do not live in that world
PUPPET DESIGNED FOR PETS
Many assumptions in Puppet presume that your servers are pets
Some of these work against us when managing a herd
MANUAL CERTIFICATE SIGNING
Clearly unsuitable when machines are automatically provisioned
POTENTIAL WORKAROUNDS:
Autosign
Use/write another automated certificate generation mechanism
Possibly tied in with autoscaling
NO MECHANISM FOR CLEANING OLD HOSTS
Likely to have host­names reused, causing machines to fail to configure
Puppetmaster will fill with certificates for machines that ran for a few hours and went away again
POTENTIAL WORKAROUNDS:
Use UUID certificates
Agree not to look in the certificate directory
Write mechanism for cleaning up old certificates
HOSTS CONFIGURED BASED ON HOSTNAME
Our machines have names like ip­172­26­5­123
How does Puppet know what type of machine this is?
POTENTIAL WORKAROUNDS
Use an external node classifier
Use some mechanism for giving a better hostname, eg web­172­26­5­123 and use regex for node
names
PUPPETMASTER IS A SINGLE POINT OF FAILURE
If the Puppetmaster fails, we can no longer autoscale up
In particular, this could be a problem if there is availability zone failure
POTENTIAL WORKAROUNDS
Clustered Puppetmasters
WORKAROUND RECAP
Use/write alternative certificate management software
Write an external node classifier / mechanism for setting hostname appropriately
Cluster multiple Puppetmasters
WHAT WE DID INSTEAD
Decided using a Puppetmaster was trying to fit a square peg into a round hole
Instead, decided to run Puppet without a master
APPLYING LOCAL PUPPET MANIFESTS
puppet apply --modulepath=/etc/puppet/modules example.pp
DISTRIBUTING MANIFESTS
Use RPM
Distribute full set of manifests/modules to each machine
Apply only the manifest relevant to that machine
PACKING PUPPET MANIFESTS IN RPM
Build an RPM containing everything under /etc/puppet
Make files readable only by root
APPLY PUPPET MANIFESTS
Have an RPM %postinst command apply the Puppet config
This isn't as straightforward as running the puppet apply from %postinst
Puppet needs to install packages via yum, but yum is running installing the Puppet package
Instead, we work around with a dirty hack: have the %postinst create an at script which
checks if yum has finished and then runs the puppet apply
RPM INSTALLATION AND MANAGEMENT
How do we get these RPMs on our machines?
PULP
We were already using Pulp
Provides yum repository management
Used for managing security updates and deploying application code
http://pulpproject.org/
WHAT IS PULP
Repository manager
Allows us to easily audit what packages and versions are installed where
Allows us to push package installations
Uses qpid message queue
Has concept of 'content distrubtion servers' for easy replication and clustering
HOW WE USE PULP
Puppet contains details of what packages should be installed
Pulp manages which version of the package should be installed
Pulp allows us to clone repos and copy packages between them for easy qa­>stage­>live environment
management
DEPLOYING CONFIGURATION AS CODE
Allows us to reuse our existing code deployment infrastructure
Manage configuration deployment from Jenkins
HOW WE DEPLOY CODE
Everything managed via the Jenkins continuous integration server
Jenkins uses Pulp to install code on remote machines
DETAILS ON HOW WE DEPLOY CODE
Jenkins fetches code from source control (git)
An RPM is built
Tests are run
If tests pass, the RPM is added to the relevant Pulp repository RPM installed on the target machine(s)
DEPLOYMENT LIFE­CYCLE
Jenkins also manages deployment life­cycle
RPMs are installed on staging
Promoted Builds plugin then used to install the same RPMs on live once testing is complete
PUPPET DEPLOYMENT PROCESS
Puppet manifests are checked into git
Lint tests via 
Jenkins pulls in modules with librarian­puppet, then builds an RPM
Deployment to test environments, functional tests for wider code­base run
Jenkins Warnings plugin
PUTTING IT INTO PRODUCTION
Once suitable tests (automated and manual) have been carried out, we promote Puppet config into
production
We use the Jenkins 'Promoted Builds' plugin for this
JENKINS: PROMOTION
EXCEPT..
How does a machine get from a bare image to the state where we can push packages to it from Pulp?
How does a machine know what type of machine it is?
How do we find other resources, eg database hostname?
CLOUDFORMATION
Amazon tool for specifying infrastructure
Everything* we provision inside AWS is provisioned via CloudFormation
JSON templates
* Everything except for the things Amazon doesn't expose via CloudFormation..
CLOUD­INIT
Works with multiple cloud types
Sorts out things like SSH keys, allows us to configure host names
Also allows us to provide a bash script to run on startup
PROVISIONING A BARE INSTANCE
cloud­init automatically manually adds the pulp repo which contains Pulp, Puppet and our Puppet
manifests/modules
Installs appropriate RPMs
Puppet runs, subscribing the machine to the relevant Pulp repos, and installing packages in the usual
Puppet way
HOW DOES IT KNOW WHAT TYPE OF MACHINE IT IS?
We tell it!
Use an environmental variable $HOSTTYPE
Simply run
puppet apply 
--modulepath=/etc/puppet/modules ${HOSTTYPE}.pp
EXTRA FACTS
Custom facter facts
Also specified in an environmental variable
Data comes from within the CloudFormation template
On our list of things to look at: 
FACTER_HOSTENVIRONMENT=live
FACTER_STACKNAME=customer-web-live
https://github.com/fanduel/hiera­cloudformation
OTHER RESOURCES
We either:
Provide details as a facter fact
`FACTER_DBHOST=xyz
Also use this approach to limit distribution of secure details, eg DB passwords
Discover via the EC2 API
Eg Varnish servers discover web backends by calling API and finding hosts tagged
appropriately
FREE WINS!
FREE WINS!
Greater control over the timing of Puppet runs
Improved visibility ­ for ops and devs
Configuration changes now have to be deployed to testing/staging first
MORE FREE WINS!
Puppet configs now have a version
Easy to find config version on the machine itself
Config changelogs accessible on every machine
(Git changelog added to RPM)
THE DOWNSIDES
Puppet manifests and modules on all machines
Potentially a security issue?
Mitigated by CloudFormation holding most sensitive data
ALTERNATIVE IMPLEMENTATIONS
Don't want to use Pulp?
Could do basically the same thing with yum s3 plugin 
Use mcollective to push package updates
https://github.com/jbraeuer/yum­s3­plugin
FUTURE IMPROVEMENTS
Build AMIs using Packer instead of configuring at boot time
Decrease time to autoscale
Would probably still need to run Puppet at first boot to configure machine specific settings
QUESTIONS? COMMENTS?
Sam Bashton
Twitter: 
(Psst..   )
sam@bashton.com
@bashtoni
http://www.bashton.com/jobs/

More Related Content

Similar to Puppet conf 2013

GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...Amazon Web Services
 
Agile Transformation as a Catalyst for Cloud Adoption AWS Summit SG 2017
Agile Transformation as a Catalyst for Cloud Adoption AWS Summit SG 2017Agile Transformation as a Catalyst for Cloud Adoption AWS Summit SG 2017
Agile Transformation as a Catalyst for Cloud Adoption AWS Summit SG 2017Amazon Web Services
 
Herding cats in the Cloud
Herding cats in the CloudHerding cats in the Cloud
Herding cats in the CloudDewey Sasser
 
MySQL HA Presentation
MySQL HA PresentationMySQL HA Presentation
MySQL HA Presentationpapablues
 
Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2Puppet
 
Find out what's new at Puppet - products, programs, and more!
Find out what's new at Puppet - products, programs, and more!Find out what's new at Puppet - products, programs, and more!
Find out what's new at Puppet - products, programs, and more!Puppet
 
GPSWKS301_Comprehensive Big Data Architecture Made Easy
GPSWKS301_Comprehensive Big Data Architecture Made EasyGPSWKS301_Comprehensive Big Data Architecture Made Easy
GPSWKS301_Comprehensive Big Data Architecture Made EasyAmazon Web Services
 
Comprehensive Big Data Analytics Architecture Made Easy - The AWS Marketplace...
Comprehensive Big Data Analytics Architecture Made Easy - The AWS Marketplace...Comprehensive Big Data Analytics Architecture Made Easy - The AWS Marketplace...
Comprehensive Big Data Analytics Architecture Made Easy - The AWS Marketplace...Amazon Web Services
 
Control-with-Ansible-Tower
Control-with-Ansible-TowerControl-with-Ansible-Tower
Control-with-Ansible-TowerMark Costin
 
Tempo’s Journey Into the Cloud
Tempo’s Journey Into the CloudTempo’s Journey Into the Cloud
Tempo’s Journey Into the CloudAtlassian
 
Scalable Distributed System Architecture
Scalable Distributed System ArchitectureScalable Distributed System Architecture
Scalable Distributed System ArchitectureNicholas van de Walle
 
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017Amazon Web Services
 
DevOps at VAST
DevOps at VASTDevOps at VAST
DevOps at VASTupasanip
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring ServicesAndrew Shafer
 
Join Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN CloudJoin Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN CloudAmazon Web Services
 
Harnessing the Power of Apache Hadoop
Harnessing the Power of Apache Hadoop Harnessing the Power of Apache Hadoop
Harnessing the Power of Apache Hadoop Cloudera, Inc.
 
Clickability Puppet Case Study
Clickability Puppet Case StudyClickability Puppet Case Study
Clickability Puppet Case StudyPuppet
 

Similar to Puppet conf 2013 (20)

GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
 
Agile Transformation as a Catalyst for Cloud Adoption AWS Summit SG 2017
Agile Transformation as a Catalyst for Cloud Adoption AWS Summit SG 2017Agile Transformation as a Catalyst for Cloud Adoption AWS Summit SG 2017
Agile Transformation as a Catalyst for Cloud Adoption AWS Summit SG 2017
 
Cloud Adoption
Cloud AdoptionCloud Adoption
Cloud Adoption
 
Herding cats in the Cloud
Herding cats in the CloudHerding cats in the Cloud
Herding cats in the Cloud
 
MySQL HA Presentation
MySQL HA PresentationMySQL HA Presentation
MySQL HA Presentation
 
Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2
 
Ansible Case Studies
Ansible Case StudiesAnsible Case Studies
Ansible Case Studies
 
Find out what's new at Puppet - products, programs, and more!
Find out what's new at Puppet - products, programs, and more!Find out what's new at Puppet - products, programs, and more!
Find out what's new at Puppet - products, programs, and more!
 
From Mainframe to Microservices
From Mainframe to MicroservicesFrom Mainframe to Microservices
From Mainframe to Microservices
 
GPSWKS301_Comprehensive Big Data Architecture Made Easy
GPSWKS301_Comprehensive Big Data Architecture Made EasyGPSWKS301_Comprehensive Big Data Architecture Made Easy
GPSWKS301_Comprehensive Big Data Architecture Made Easy
 
Comprehensive Big Data Analytics Architecture Made Easy - The AWS Marketplace...
Comprehensive Big Data Analytics Architecture Made Easy - The AWS Marketplace...Comprehensive Big Data Analytics Architecture Made Easy - The AWS Marketplace...
Comprehensive Big Data Analytics Architecture Made Easy - The AWS Marketplace...
 
Control-with-Ansible-Tower
Control-with-Ansible-TowerControl-with-Ansible-Tower
Control-with-Ansible-Tower
 
Tempo’s Journey Into the Cloud
Tempo’s Journey Into the CloudTempo’s Journey Into the Cloud
Tempo’s Journey Into the Cloud
 
Scalable Distributed System Architecture
Scalable Distributed System ArchitectureScalable Distributed System Architecture
Scalable Distributed System Architecture
 
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
 
DevOps at VAST
DevOps at VASTDevOps at VAST
DevOps at VAST
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring Services
 
Join Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN CloudJoin Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN Cloud
 
Harnessing the Power of Apache Hadoop
Harnessing the Power of Apache Hadoop Harnessing the Power of Apache Hadoop
Harnessing the Power of Apache Hadoop
 
Clickability Puppet Case Study
Clickability Puppet Case StudyClickability Puppet Case Study
Clickability Puppet Case Study
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Puppet conf 2013