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

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Recently uploaded (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Puppet conf 2013