SlideShare a Scribd company logo
Raising the Bar
Me Myself and I 
Email : bert.hajee@vermont24-7.com 
Twitter : @bhajee 
Blog : http://hajee.github.io
Voorstellen: bla….
What bar?
How high?
Declarative?
Difficult to read
Noisy puppet output
Powerfull
Keeps DSL
Steep learning curve
EasyType to the rescue
Less Puppet Knowledge
Mostly Object knowledge
Fast to build
Let’s create a type!
Overview
Install EasyType
Create a module
Create the Type
Property
Parameter
Generate
Get resource index
Raw_resources
The command?
And the first result
Create the Resource
on_create
And the version….
What about yum…
And a step closer…
Destroy resource
on_destroy
Working…
Where are we?
Custom types 
Installation 
Middleware 
settings & 
services 
Yes including 
RAC 
Yes 
38 custom types 
including 
application 
deployment 
9 custom types
Your turn?! 
https://forge.puppetlabs.com/hajee/easy_type 
https://forge.puppetlabs.com/hajee/oracle 
https://forge.puppetlabs.com/hajee/partition 
https://forge.puppetlabs.com/hajee/ora_rac 
https://forge.puppetlabs.com/biemond/orawls
QUESTIONS??

More Related Content

What's hot

Blogging basics
Blogging basicsBlogging basics
Blogging basics
Jason Griffey
 
A Beginner's Guide to WordPress - Podcamp Toronto 2012
A Beginner's Guide to WordPress - Podcamp Toronto 2012A Beginner's Guide to WordPress - Podcamp Toronto 2012
A Beginner's Guide to WordPress - Podcamp Toronto 2012
Kathryn Presner
 
WordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPressWordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPress
Jonny Allbut
 
Help Me Help You: The art and science of getting good WordPress support - Wor...
Help Me Help You: The art and science of getting good WordPress support - Wor...Help Me Help You: The art and science of getting good WordPress support - Wor...
Help Me Help You: The art and science of getting good WordPress support - Wor...
Kathryn Presner
 
A Beginner's Guide to WordPress - WordCamp Montreal 2012
A Beginner's Guide to WordPress - WordCamp Montreal 2012A Beginner's Guide to WordPress - WordCamp Montreal 2012
A Beginner's Guide to WordPress - WordCamp Montreal 2012
Kathryn Presner
 
Developing Joomla! 1.5 Extensions, Explained
Developing Joomla! 1.5 Extensions, ExplainedDeveloping Joomla! 1.5 Extensions, Explained
Developing Joomla! 1.5 Extensions, Explained
Mitch Pirtle
 
WordPress for Girl Geeks 2009-11-24
WordPress for Girl Geeks 2009-11-24WordPress for Girl Geeks 2009-11-24
WordPress for Girl Geeks 2009-11-24
Shannon Smith
 
Passionate About Plugins - WordCamp Montreal 2012
Passionate About Plugins - WordCamp Montreal 2012Passionate About Plugins - WordCamp Montreal 2012
Passionate About Plugins - WordCamp Montreal 2012
Kathryn Presner
 
WordPress for Beginners - YES Montreal
WordPress for Beginners - YES MontrealWordPress for Beginners - YES Montreal
WordPress for Beginners - YES Montreal
Kathryn Presner
 
A Beginner's Guide to WordPress - WordCamp Toronto 2012
A Beginner's Guide to WordPress - WordCamp Toronto 2012A Beginner's Guide to WordPress - WordCamp Toronto 2012
A Beginner's Guide to WordPress - WordCamp Toronto 2012
Kathryn Presner
 
Empowering Non-Profits with WordPress
Empowering Non-Profits with WordPressEmpowering Non-Profits with WordPress
Empowering Non-Profits with WordPress
Cliff Seal
 
WordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow PresentationWordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow Presentation
Jonny Allbut
 
BSidesLondon | Your Money, Your Media - A DRMtastic Android (reverse|re
BSidesLondon | Your Money, Your Media - A DRMtastic Android (reverse|reBSidesLondon | Your Money, Your Media - A DRMtastic Android (reverse|re
BSidesLondon | Your Money, Your Media - A DRMtastic Android (reverse|re
Chandra Pratap
 
WordPress for Beginners - West Island Women's Centre
WordPress for Beginners - West Island Women's CentreWordPress for Beginners - West Island Women's Centre
WordPress for Beginners - West Island Women's Centre
Kathryn Presner
 
WordPress Essentials for Beginners - YES Montreal December 2014
WordPress Essentials for Beginners - YES Montreal December 2014WordPress Essentials for Beginners - YES Montreal December 2014
WordPress Essentials for Beginners - YES Montreal December 2014
Kathryn Presner
 
Help Me Help You: The Art and Science of Getting Good WordPress Support
Help Me Help You: The Art and Science of Getting Good WordPress SupportHelp Me Help You: The Art and Science of Getting Good WordPress Support
Help Me Help You: The Art and Science of Getting Good WordPress Support
Kathryn Presner
 
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Jonny Allbut
 
How To Pass A Ruby Code Test
How To Pass A Ruby Code TestHow To Pass A Ruby Code Test
How To Pass A Ruby Code Test
Robert Postill
 
ChessFidget - You call that chess?
ChessFidget - You call that chess?ChessFidget - You call that chess?
ChessFidget - You call that chess?
snoozer
 
CSI: WordPress -- Getting Into the Guts
CSI: WordPress -- Getting Into the GutsCSI: WordPress -- Getting Into the Guts
CSI: WordPress -- Getting Into the Guts
Dougal Campbell
 

What's hot (20)

Blogging basics
Blogging basicsBlogging basics
Blogging basics
 
A Beginner's Guide to WordPress - Podcamp Toronto 2012
A Beginner's Guide to WordPress - Podcamp Toronto 2012A Beginner's Guide to WordPress - Podcamp Toronto 2012
A Beginner's Guide to WordPress - Podcamp Toronto 2012
 
WordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPressWordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPress
 
Help Me Help You: The art and science of getting good WordPress support - Wor...
Help Me Help You: The art and science of getting good WordPress support - Wor...Help Me Help You: The art and science of getting good WordPress support - Wor...
Help Me Help You: The art and science of getting good WordPress support - Wor...
 
A Beginner's Guide to WordPress - WordCamp Montreal 2012
A Beginner's Guide to WordPress - WordCamp Montreal 2012A Beginner's Guide to WordPress - WordCamp Montreal 2012
A Beginner's Guide to WordPress - WordCamp Montreal 2012
 
Developing Joomla! 1.5 Extensions, Explained
Developing Joomla! 1.5 Extensions, ExplainedDeveloping Joomla! 1.5 Extensions, Explained
Developing Joomla! 1.5 Extensions, Explained
 
WordPress for Girl Geeks 2009-11-24
WordPress for Girl Geeks 2009-11-24WordPress for Girl Geeks 2009-11-24
WordPress for Girl Geeks 2009-11-24
 
Passionate About Plugins - WordCamp Montreal 2012
Passionate About Plugins - WordCamp Montreal 2012Passionate About Plugins - WordCamp Montreal 2012
Passionate About Plugins - WordCamp Montreal 2012
 
WordPress for Beginners - YES Montreal
WordPress for Beginners - YES MontrealWordPress for Beginners - YES Montreal
WordPress for Beginners - YES Montreal
 
A Beginner's Guide to WordPress - WordCamp Toronto 2012
A Beginner's Guide to WordPress - WordCamp Toronto 2012A Beginner's Guide to WordPress - WordCamp Toronto 2012
A Beginner's Guide to WordPress - WordCamp Toronto 2012
 
Empowering Non-Profits with WordPress
Empowering Non-Profits with WordPressEmpowering Non-Profits with WordPress
Empowering Non-Profits with WordPress
 
WordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow PresentationWordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow Presentation
 
BSidesLondon | Your Money, Your Media - A DRMtastic Android (reverse|re
BSidesLondon | Your Money, Your Media - A DRMtastic Android (reverse|reBSidesLondon | Your Money, Your Media - A DRMtastic Android (reverse|re
BSidesLondon | Your Money, Your Media - A DRMtastic Android (reverse|re
 
WordPress for Beginners - West Island Women's Centre
WordPress for Beginners - West Island Women's CentreWordPress for Beginners - West Island Women's Centre
WordPress for Beginners - West Island Women's Centre
 
WordPress Essentials for Beginners - YES Montreal December 2014
WordPress Essentials for Beginners - YES Montreal December 2014WordPress Essentials for Beginners - YES Montreal December 2014
WordPress Essentials for Beginners - YES Montreal December 2014
 
Help Me Help You: The Art and Science of Getting Good WordPress Support
Help Me Help You: The Art and Science of Getting Good WordPress SupportHelp Me Help You: The Art and Science of Getting Good WordPress Support
Help Me Help You: The Art and Science of Getting Good WordPress Support
 
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
 
How To Pass A Ruby Code Test
How To Pass A Ruby Code TestHow To Pass A Ruby Code Test
How To Pass A Ruby Code Test
 
ChessFidget - You call that chess?
ChessFidget - You call that chess?ChessFidget - You call that chess?
ChessFidget - You call that chess?
 
CSI: WordPress -- Getting Into the Guts
CSI: WordPress -- Getting Into the GutsCSI: WordPress -- Getting Into the Guts
CSI: WordPress -- Getting Into the Guts
 

Similar to Raising the bar 2, Using Puppet to install enterprise middleware applications

Puppet Camp Amsterdam 2015: Raising the Bar (Intermediate)
Puppet Camp Amsterdam 2015:  Raising the Bar (Intermediate)Puppet Camp Amsterdam 2015:  Raising the Bar (Intermediate)
Puppet Camp Amsterdam 2015: Raising the Bar (Intermediate)
Puppet
 
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) - Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
Puppet
 
LVPHP.org
LVPHP.orgLVPHP.org
LVPHP.org
Joshua Copeland
 
Github github-github
Github github-githubGithub github-github
Github github-github
fusion2011
 
The Junior Developer Survival Guide - GDI Ann Arbor 2/10/15
The Junior Developer Survival Guide -  GDI Ann Arbor 2/10/15The Junior Developer Survival Guide -  GDI Ann Arbor 2/10/15
The Junior Developer Survival Guide - GDI Ann Arbor 2/10/15
James York
 
Creating Custom Dojo Widgets Using WTP
Creating Custom Dojo Widgets Using WTPCreating Custom Dojo Widgets Using WTP
Creating Custom Dojo Widgets Using WTP
nsandonato
 
Yahoo for the Masses
Yahoo for the MassesYahoo for the Masses
Yahoo for the Masses
Christian Heilmann
 
Le Tour de xUnit
Le Tour de xUnitLe Tour de xUnit
Le Tour de xUnit
Abdelmonaim Remani
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
Tom Johnson
 
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
nvpuppet
 
How to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringHow to get started with Site Reliability Engineering
How to get started with Site Reliability Engineering
Andrew Kirkpatrick
 
The Web Application Hackers Toolchain
The Web Application Hackers ToolchainThe Web Application Hackers Toolchain
The Web Application Hackers Toolchain
jasonhaddix
 
Jr devsurvivalguide
Jr devsurvivalguideJr devsurvivalguide
Jr devsurvivalguide
James York
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
Jorge López-Lago
 
Ed. Technology Council Open Source Presentation
Ed. Technology Council Open Source PresentationEd. Technology Council Open Source Presentation
Ed. Technology Council Open Source Presentation
Hillside Community School
 
Beginners' Guide to WordPress
Beginners' Guide to WordPressBeginners' Guide to WordPress
Beginners' Guide to WordPress
Shannon Smith
 
Fletcher saylor digital education conference 2013
Fletcher saylor digital education conference 2013Fletcher saylor digital education conference 2013
Fletcher saylor digital education conference 2013
kathi-fletcher
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
Lorna Mitchell
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
Christian Heilmann
 
Walter api
Walter apiWalter api
Walter api
Nicholas Schiller
 

Similar to Raising the bar 2, Using Puppet to install enterprise middleware applications (20)

Puppet Camp Amsterdam 2015: Raising the Bar (Intermediate)
Puppet Camp Amsterdam 2015:  Raising the Bar (Intermediate)Puppet Camp Amsterdam 2015:  Raising the Bar (Intermediate)
Puppet Camp Amsterdam 2015: Raising the Bar (Intermediate)
 
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) - Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
 
LVPHP.org
LVPHP.orgLVPHP.org
LVPHP.org
 
Github github-github
Github github-githubGithub github-github
Github github-github
 
The Junior Developer Survival Guide - GDI Ann Arbor 2/10/15
The Junior Developer Survival Guide -  GDI Ann Arbor 2/10/15The Junior Developer Survival Guide -  GDI Ann Arbor 2/10/15
The Junior Developer Survival Guide - GDI Ann Arbor 2/10/15
 
Creating Custom Dojo Widgets Using WTP
Creating Custom Dojo Widgets Using WTPCreating Custom Dojo Widgets Using WTP
Creating Custom Dojo Widgets Using WTP
 
Yahoo for the Masses
Yahoo for the MassesYahoo for the Masses
Yahoo for the Masses
 
Le Tour de xUnit
Le Tour de xUnitLe Tour de xUnit
Le Tour de xUnit
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014rake puppetexpert:create - Puppet Camp Silicon Valley 2014
rake puppetexpert:create - Puppet Camp Silicon Valley 2014
 
How to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringHow to get started with Site Reliability Engineering
How to get started with Site Reliability Engineering
 
The Web Application Hackers Toolchain
The Web Application Hackers ToolchainThe Web Application Hackers Toolchain
The Web Application Hackers Toolchain
 
Jr devsurvivalguide
Jr devsurvivalguideJr devsurvivalguide
Jr devsurvivalguide
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
Ed. Technology Council Open Source Presentation
Ed. Technology Council Open Source PresentationEd. Technology Council Open Source Presentation
Ed. Technology Council Open Source Presentation
 
Beginners' Guide to WordPress
Beginners' Guide to WordPressBeginners' Guide to WordPress
Beginners' Guide to WordPress
 
Fletcher saylor digital education conference 2013
Fletcher saylor digital education conference 2013Fletcher saylor digital education conference 2013
Fletcher saylor digital education conference 2013
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
Walter api
Walter apiWalter api
Walter api
 

Recently uploaded

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
maazsz111
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 

Recently uploaded (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 

Raising the bar 2, Using Puppet to install enterprise middleware applications

Editor's Notes

  1. Intro Bert
  2. Hoeveel mensen hier maken gebruik van Puppet in hun acceptatie en/of productieomgeving? Hoeveel daarvan gebruiken Puppet ook om middleware te installeren en te configureren? En hoeveel daarvan gebruiken puppet ook om de applicatie instellingen en installatie ta managen.
  3. Robert keek naar de planning. Eigenlijk zou hij blij moeten zijn. Waar vroeger het inrichten van de systemen een belangrijk stuk van de planning kostte, was dat nu een non-issue. Sinds ze Puppet gebruikte voor het inspoelen en inrichten van de systemen, was dat in een vloek en een zucht gedaan. En het was niet alleen snel, het was ook nog eens kwalitatief veel beter dan voorheen. Nee, het probleem was wat daarna kwam. Het installeren en inrichten van de middleware en de applicaties. Dat duurde nog steeds weken voordat dat klaar was . Het leek wel of ze daar nog in de middeleeuwen waren. Alles werd met het handje gedaan. Er waren lange draaiboeken, overigens ook nog vaak met veel fouten erin.
  4. Zou het niet mooi zijn als wat ze geleerd hadden met de inrichting van systemen, ook door konden trekken naar middleware en applicaties. Zou het niet mooi zijn als ze puppet konden gebruiken om ook dit onderdelen op de systemen te zetten en op de juiste manier te configureren. Dan zouden ze heel snel van van niets een draaiende applicatie neer kunnen zetten.
  5. Hoe meer Robert er over na dacht, hoe meer hij het idee opvatte om de lat hoger te leggen. De lat hoger had in dit geval een dubbele betekenis. Naast de gangbare betekenis van de uitdaging aangaan, zag Robert de uitspraak ook als een metafoor voor de inzet van Puppet. Waar Puppet meestal ingezet werd voor OS en direct daarna gerelateerde zaken, ging hij kijken hoe hij de toepassing van Puppet kon uitbreiden naar hoger gelegen lagen van de stack.
  6. Wat kon Robert bedenken om ook middleware en applicaties te installeren met behulp van Puppet.
  7. Als eerste dacht Robert natuurlijk aan Exec’s en define’s. Alles wat hij kon doen met shell scriptjes, kon hij natuurlijk ook binnen Puppet uit laten voeren door een serie van Exec declaraties. Eigenlijk heel er triviaal. Maar toen Robert hiermee begon, kwam hij er al snel achter dat hier ook wel wat nadelen aan kleefde
  8. Hij merkte dat hij al snel een set van statements aan elkaar aan het linken was. Eigenlijk was hij procedureel aan programmeren in Puppet. Dit terwijl Puppet juist gemaakt was om declaratief vast te leggen hoe je systeem er uit moest zien.
  9. Deze mismatch tussen procedureel en declaraties, zorgde er ook al snel voor dat zijn manifests moeilijk leesbaar en moeilijk onderhoudbaar werden. Ook bevatte de manifests eigenlijk veel boilerplate code. Veel requires en before’s waren nodig om de samenhang tussen de verschillende Exec’s te regelen.
  10. Door alle exec’s wordt ook de output van een puppet-run erg ‘lawaai’. Er komen veel regels in de output en het is moeilijk te achterhalen wat er allemaal gebeurt. Laat staan of het goed gaat of fout gaat.
  11. Puppet heeft ook een mogelijkheid om zelf types te ontwikkelen. Dit worden ook wel custom types genoemd
  12. Custom types zijn erg krachtig. Je kunt de puppet DSL er mee uitbreiden. De custom types zijn geprogrammeerd in Ruby. Je kunt er eigenlijk alles mee doen wat je wil. Puppet heeft allerlei voorzieningen om met je host systeem te interacteren.
  13. Een van de grote voordelen die Robert zag, was dat je de DSL aanpak van Puppet bleef gebruiken. Zoals al gezegd, Dat betekende dat je heel goed in staat bleef om je systeem te beschrijvenderwijs vast te leggen in plaats van procedureel.
  14. Maar niet alles was rozengeur en maneschijn. Er bleek erg weinig documentatie over hoe je een custom type moest programmeren. Ook waren er erg specifieke flow’s door de types heen die lastig te doorgronden waren. Al met al bleek de leercurve erg stijl.
  15. Toen Robertwat verder rondsnuffelde op de Forge, vond hij easy_type. Dat zag er interessant uit
  16. Met easy_type werd een gedeelte van de specifieke puppetkennis weggehouden. Zo hoefde Robert niet meer te weten hoe de specifieke puppet flow er uitzag. Easy_type regelde dat voor een belangrijk gedeelte voor je
  17. Door easy_type te gebruiken, kon hij zich focussen op de kennis van het te beheren object. Hoe haal ik de informatie op van het systeem, hoe maak ik het object aan, hoe wijzig ik het object en hoe haal ik het weer weg.
  18. Na wat knutselen, was Robert in staat al snel een custom type te maken.
  19. Zullen we eens gaan kijken hoe hij dat deed?
  20. Zullen we eens gaan kijken hoe hij dat deed?
  21. Voordat Robert met Easy_type aan de slag kon, moest hij het eerst installeren. Easy_type is zelf ook een module en daardoor kun je de reguliere puppet tools gebruiken om het te installeren.
  22. Elk custom type is onderdeel van een module. Dus om een custom type te maken, meost Robert eerst een module aanmaken. Om dit te doen maakte robert gebruik van de Puppet module generator. Deze generator maakte alle benodigde directoeries aan en zorgde ook voor de files die de noodzakelijke meta informatie van de module bevatte.
  23. Ok. Nu was alles klaar om te starten met de custom type. In de documentatie zag Robert dat easy_type een paar generatoren had waarmee je de basis zaken kon genereren. Eerst maar eens een scaffold doen. De scaffolf maakte de noodzakelijek directories aan. Ook maakte de scaffolfd een definitie aan van een type met daarin een parameter, namelijk de naam. Ook zorgde de scaffolfd voor een standaard provider, namelijk de simple.rb provider.
  24. Allereerst de basis structuur van een custom type. Dit is niet specifieke voor easy_type, maar geldt voor alle custom types. Types kennen parameters en proporties.
  25. Een property is een waarde van een object, waarbij een wijziging betekent, dat je ook op het systeem iets moet veranderen. Als je bijvoorbeeld de home directory van een gebruiker veranderd in de manifest, dan wil je ook graag dat het custom type daadwerkelijk een verandering aanbrengt op het systeem. Dit soort eigenschappen van objecten noemen we properties.
  26. Waar een wijziging van de waarde van een property leidt tot een wijziging op het systeem, geldt dat voor een parameter niet Een parameter kent geen state. Ook wordt de naam parameter gebruikt om een object op een systeem uniek te identificeren. Het naam attribute is al aangemaakt door de scaffolder en deze hoeven we niet meer apart aan te maken.
  27. Easy_type heeft ook generatoren voor het aanmaken van parameter en properties Hiermee hebben we de basis gelegd voor ons eigen custom_package type.
  28. Met alleen deze akties, heeft Robert puppet al in staat gesteld om een basisoverzicht te creeeren van de resources die er op het systeem aanwezig zijn.