Here are the slides from Glenn Sarti's PuppetConf 2016 presentation called How Not to Freak Out When You Start Writing Puppet Modules for Windows. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...Puppet
Here are the slides from Rob Reynold's PuppetConf 2016 presentation called Easily Manage Software on Windows with Chocolatey. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
Windows Just Got Chocolatey (Package Management) LISA15Rob Reynolds
This document summarizes a presentation given by Rob Reynolds about Chocolatey, a package manager for Windows. It describes what Chocolatey is, how it builds on the existing Windows packaging ecosystem by using NuGet and PowerShell, and its history starting as an experiment in 2011. It discusses how Chocolatey became a community project and was validated by Microsoft, who are integrating it into Windows 10. It also outlines some future enhancements including improved security and the Chocolatey for Business edition.
Chocolatey and Puppet: Managing Your Windows Software Since 2011Rob Reynolds
This document summarizes a presentation about managing Windows software using Chocolatey and Puppet. It introduces Chocolatey as a package manager for Windows similar to Yum. It describes how the Chocolatey Puppet provider allows installing and managing Chocolatey packages through Puppet. It also covers how to create Chocolatey packages and set up an internal package repository server.
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringeRob Reynolds
Chocolatey (a Windows package manager) started out very much a thought experiment and has since become very popular. Let's dive in and learn how this happened and where Chocolatey is going next. We'll also demo some *hopefully* "fringe-y" areas of Chocolatey showing how to create package and set up your own private package server.
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016Rob Reynolds
Automating software management is simple on almost every platform except Windows. Windows has many different routes to procure software with over 20 installer types and archive formats! This really makes managing software on Windows trend towards chaos. Enter Chocolatey, the package manager for Windows. Chocolatey is a single, unified interface designed to easily work with all aspects of managing Windows software using a packaging framework that understands both versioning and dependency requirements. Chocolatey packages encapsulate everything required to manage a particular piece of software into one deployment artifact by wrapping installers, executables, zips, and scripts into a compiled package file. Come learn how to let Chocolatey wrangle the chaos of Windows software management and leave you with a smile on your face!
Puppet On Windows - Puppet Camp DC 2015Rob Reynolds
Puppet on Windows from Puppet Camp DC 2015 co-located with LISA15 - https://puppetlabs.com/events/puppet-camp-intro-puppet-lisa15
Code, Demo and Lab files at https://github.com/ferventcoder/puppet-windows-presentation
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014Rob Reynolds
Are you managing Windows? Longtime Windows system admin? Do you enjoy long walks on the beach thinking about how it would be awesome to have Linux-style package management on Windows?
Well you, sir or madam, are in luck! Chocolatey will help you get jiggy with it and get your Puppet package management in much the same way that you already enjoy with other platforms. During this talk we will go over how you can be successful hooking Chocolatey into Puppet, creating your own packages, and setting up an internal package repository. Even if you've seen Chocolatey before, we have something new and Puppety we'll be showing at this talk!
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...Puppet
Here are the slides from Rob Reynold's PuppetConf 2016 presentation called Easily Manage Software on Windows with Chocolatey. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
Windows Just Got Chocolatey (Package Management) LISA15Rob Reynolds
This document summarizes a presentation given by Rob Reynolds about Chocolatey, a package manager for Windows. It describes what Chocolatey is, how it builds on the existing Windows packaging ecosystem by using NuGet and PowerShell, and its history starting as an experiment in 2011. It discusses how Chocolatey became a community project and was validated by Microsoft, who are integrating it into Windows 10. It also outlines some future enhancements including improved security and the Chocolatey for Business edition.
Chocolatey and Puppet: Managing Your Windows Software Since 2011Rob Reynolds
This document summarizes a presentation about managing Windows software using Chocolatey and Puppet. It introduces Chocolatey as a package manager for Windows similar to Yum. It describes how the Chocolatey Puppet provider allows installing and managing Chocolatey packages through Puppet. It also covers how to create Chocolatey packages and set up an internal package repository server.
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringeRob Reynolds
Chocolatey (a Windows package manager) started out very much a thought experiment and has since become very popular. Let's dive in and learn how this happened and where Chocolatey is going next. We'll also demo some *hopefully* "fringe-y" areas of Chocolatey showing how to create package and set up your own private package server.
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016Rob Reynolds
Automating software management is simple on almost every platform except Windows. Windows has many different routes to procure software with over 20 installer types and archive formats! This really makes managing software on Windows trend towards chaos. Enter Chocolatey, the package manager for Windows. Chocolatey is a single, unified interface designed to easily work with all aspects of managing Windows software using a packaging framework that understands both versioning and dependency requirements. Chocolatey packages encapsulate everything required to manage a particular piece of software into one deployment artifact by wrapping installers, executables, zips, and scripts into a compiled package file. Come learn how to let Chocolatey wrangle the chaos of Windows software management and leave you with a smile on your face!
Puppet On Windows - Puppet Camp DC 2015Rob Reynolds
Puppet on Windows from Puppet Camp DC 2015 co-located with LISA15 - https://puppetlabs.com/events/puppet-camp-intro-puppet-lisa15
Code, Demo and Lab files at https://github.com/ferventcoder/puppet-windows-presentation
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014Rob Reynolds
Are you managing Windows? Longtime Windows system admin? Do you enjoy long walks on the beach thinking about how it would be awesome to have Linux-style package management on Windows?
Well you, sir or madam, are in luck! Chocolatey will help you get jiggy with it and get your Puppet package management in much the same way that you already enjoy with other platforms. During this talk we will go over how you can be successful hooking Chocolatey into Puppet, creating your own packages, and setting up an internal package repository. Even if you've seen Chocolatey before, we have something new and Puppety we'll be showing at this talk!
Running a Successful Open Source ProjectRob Reynolds
So you are interested in having your own open source (FOSS or FLOSS) project or you are currently managing your own. You want to see more use of your project in the community and you want to see it grow. Running a successful open source project or really any community project in general takes several key ingredients. Join Rob while he teaches what he has learned from running two successful projects and working on another.
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Frank van der Linden
In the front end development world there are 3 dominant players, Angular, ReactJS and VueJs.
Every framework has a strong fan base. And of course lots of pros and cons The best way to learn more about the strengths and weaknesses of the frameworks, I have build the same application with all these frameworks. In this session I will explain my experience with each framework and try to highlight the good the bad and the ugly. Expect to see code
The demo application can be found on GitHub, https://github.com/flinden68/my-events-demo-application
PowerShell 101 - What is it and Why should YOU Care!Thomas Lee
PowerShell 101 provides an overview of PowerShell, including what it is, how it works, and why it is important for Windows administrators. PowerShell is a task automation platform and scripting language that makes Windows administration easier. It uses cmdlets, objects, and the pipeline model where cmdlets produce and consume objects that can be piped between commands. PowerShell is built into Windows and provides discoverability through commands like Get-Help and Get-Member. It offers advantages over traditional shells like being faster, more repeatable, and reducing errors.
The document discusses the modern frontend toolchain for developing complex client-side JavaScript applications. It recommends using command line tools like Homebrew, NPM, RubyGems to manage dependencies. Source code management with Git and feature branching workflow is also emphasized. Node.js and package managers like NPM and Bower are introduced to help manage third-party libraries. Task automation with Grunt is presented as a way to automate common development tasks like testing, preprocessing, and building.
The document summarizes an event called UKLUG 2012 that was held from September 2-4, 2012 at Cardiff University in Wales. It focused on XPages topics beyond the basics. The agenda included sessions on JavaScript/CSS aggregation, enabling pre-load for XPages, Java design elements, JAR design elements, Faces-config design elements, themes, and the XPages Extension Library.
Setting up your development environmentRobert Deutz
This presentation is a snapshot how I have setup my development environment. I am constantly evaluating, so this presentation is constantly changing. It gives developers and people that are planning to start with development practical tips, I am presenting in some way best practicals. Because it is my view and what I have found it is also questionable. I am talking about coding styles, Editors, IDE, build tools like phing, git and all that stuff.
This document provides an agenda and information for a class on databases, debugging, forms, and APIs. It includes exercises to set up debugging in VS Code and create a page that allows querying a database table. Key topics covered are debugging, generators, bundling, HTTP requests, parsing request bodies, asynchronous JavaScript, JSON, and RESTful APIs. Students are also instructed on requirements for their upcoming Project 3 presentations and Homework 11 assignment.
This document provides an overview of using Hudson/Jenkins for continuous integration. It discusses how Hudson/Jenkins are tools that automatically build, test, and validate code commits. It also summarizes how to set up Hudson/Jenkins, including installing the server, configuring nodes and jobs, integrating source control and build tools, running tests, and configuring notifications.
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationDevelopment Seed
Presentation to the IBM Drupal Users Group on improving configuration management in Drupal using the Features module and exportables. This is becoming a best practice for configuration management.
The document discusses the convergence of system administrators and developers as programming has become more integral to system administration work. It notes that system administrators now write code using languages like Ruby, Python, and Bash just as developers do. It argues that system administrators who do not program have become merely domain experts. The document also discusses challenges around sharing system administration tools and modules, as well as testing infrastructure using approaches from software development like Cucumber testing.
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
In diesem Talk beschreibe ich die Continuous Integartion Pipeline von punkt.de und deren Entstehen. Es wird motiviert, warum es sich lohnt, eine solche Pipeline zu implementieren und welche Tools wir dafür verwendet haben. Neben der Beschreibung von Git, Jenkins, Chef, Vagrant, Behat und Surf geht es auch um Integration der einzelnen Tools in eine Deployment Kette.
This document provides an agenda and overview for a class on using Git, GitHub, and VSCode. It introduces command line basics, files and directories, terminal commands, text editors, GitHub, Git basics, and a homework assignment to create a GitHub repository and JavaScript program. Key topics covered include the Git workflow, essential Git commands, using GitHub Pages to host websites, and an introduction to JavaScript programming.
James Turnbull, VP of Tech Operations at Puppetlabs, started off the day with a very interesting and informative talk about the past, current and future of Puppet. He showed they have a strong link to their community and plan to keep it that way. He explained that they grew from very small to 70+ people over the last year, and that brings some issues with it. They are very dedicated to fixing those issues though, and hope to improve things moving towards the future.
This document summarizes an Ansible meetup presentation about what Ansible is, why it is useful, and how it works. Ansible is an open source automation tool that configures systems and deploys applications using human-readable YAML files called playbooks. It is agentless, using SSH to connect to servers. Playbooks define tasks to run on hosts in parallel using modules. Roles help organize tasks by server function. The presentation showed how Ansible simplified deployments by pulling code, installing dependencies, and restarting services across environments in an automated, consistent way.
This document provides an overview of Hudson, an open source continuous integration tool. It discusses how Hudson can be used to automate tasks like running tests and deployments. Key points include that Hudson works by configuring "jobs" which can be triggered by changes in source control or on a schedule. Jobs contain "build steps" like running tests or deploying code. Notifications can be sent upon job completion. Hudson can integrate with various version control systems and platforms.
Improving Engineering Processes using Hudson - Spark IT 2010Arun Gupta
Hudson is an open-source continuous integration (CI) server that automates the build, test, and deployment of code. It monitors code repositories for changes, compiles code, runs tests, and notifies developers of failures. Hudson emphasizes ease of use and extensibility through plugins. It allows teams to spend less time on manual tasks and more time developing code through automation of the engineering process.
Continuous integration is a practice where developers integrate code changes frequently from the main code repository. This allows for multiple integrations per day. An automated build is run on each check-in, including running tests to detect errors early. Hudson is a free continuous integration tool written in Java that runs builds, tests, and reports issues. It integrates with source control and build tools via plugins. Eclipse plugins can also be built with Hudson and Buckminster to automate their creation and publication.
Stackato presentation done at the Nordic Perl Workshop 2012 in Stockholm, Sweden
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
This presentation is an introduction to the Joomla!Platform, what is the platform, what are the ideas behind it, why we have this separation between CMS and platform. I am speaking about the pro and cons, briefly ;-) A big part are real live examples how I or others have used the platform, when it makes sense to use the platform and when it doesn't makes sense. I do explain how to contribute to the platform and to the project at all. PHP knowledge is not necessary.
The document provides an overview of a talk given by Stephen Wallace on using Puppet for system administrators. The talk introduces Puppet as a tool to help system administrators achieve goals like availability, scalability, predictability and reducing workload. It addresses common concerns that system administrators have with Puppet, such as the need to learn programming. The talk demonstrates how Puppet can be used in a simple way and provides references for further learning.
Puppet is a configuration management tool which allows easy deployment and configuration ranging from 1 to 1 thousand servers (and even more). Even though its common knowledge for devops, puppet is still a strange piece of software for developers. How does it work and what can it do for you as a developer?
Running a Successful Open Source ProjectRob Reynolds
So you are interested in having your own open source (FOSS or FLOSS) project or you are currently managing your own. You want to see more use of your project in the community and you want to see it grow. Running a successful open source project or really any community project in general takes several key ingredients. Join Rob while he teaches what he has learned from running two successful projects and working on another.
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Frank van der Linden
In the front end development world there are 3 dominant players, Angular, ReactJS and VueJs.
Every framework has a strong fan base. And of course lots of pros and cons The best way to learn more about the strengths and weaknesses of the frameworks, I have build the same application with all these frameworks. In this session I will explain my experience with each framework and try to highlight the good the bad and the ugly. Expect to see code
The demo application can be found on GitHub, https://github.com/flinden68/my-events-demo-application
PowerShell 101 - What is it and Why should YOU Care!Thomas Lee
PowerShell 101 provides an overview of PowerShell, including what it is, how it works, and why it is important for Windows administrators. PowerShell is a task automation platform and scripting language that makes Windows administration easier. It uses cmdlets, objects, and the pipeline model where cmdlets produce and consume objects that can be piped between commands. PowerShell is built into Windows and provides discoverability through commands like Get-Help and Get-Member. It offers advantages over traditional shells like being faster, more repeatable, and reducing errors.
The document discusses the modern frontend toolchain for developing complex client-side JavaScript applications. It recommends using command line tools like Homebrew, NPM, RubyGems to manage dependencies. Source code management with Git and feature branching workflow is also emphasized. Node.js and package managers like NPM and Bower are introduced to help manage third-party libraries. Task automation with Grunt is presented as a way to automate common development tasks like testing, preprocessing, and building.
The document summarizes an event called UKLUG 2012 that was held from September 2-4, 2012 at Cardiff University in Wales. It focused on XPages topics beyond the basics. The agenda included sessions on JavaScript/CSS aggregation, enabling pre-load for XPages, Java design elements, JAR design elements, Faces-config design elements, themes, and the XPages Extension Library.
Setting up your development environmentRobert Deutz
This presentation is a snapshot how I have setup my development environment. I am constantly evaluating, so this presentation is constantly changing. It gives developers and people that are planning to start with development practical tips, I am presenting in some way best practicals. Because it is my view and what I have found it is also questionable. I am talking about coding styles, Editors, IDE, build tools like phing, git and all that stuff.
This document provides an agenda and information for a class on databases, debugging, forms, and APIs. It includes exercises to set up debugging in VS Code and create a page that allows querying a database table. Key topics covered are debugging, generators, bundling, HTTP requests, parsing request bodies, asynchronous JavaScript, JSON, and RESTful APIs. Students are also instructed on requirements for their upcoming Project 3 presentations and Homework 11 assignment.
This document provides an overview of using Hudson/Jenkins for continuous integration. It discusses how Hudson/Jenkins are tools that automatically build, test, and validate code commits. It also summarizes how to set up Hudson/Jenkins, including installing the server, configuring nodes and jobs, integrating source control and build tools, running tests, and configuring notifications.
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationDevelopment Seed
Presentation to the IBM Drupal Users Group on improving configuration management in Drupal using the Features module and exportables. This is becoming a best practice for configuration management.
The document discusses the convergence of system administrators and developers as programming has become more integral to system administration work. It notes that system administrators now write code using languages like Ruby, Python, and Bash just as developers do. It argues that system administrators who do not program have become merely domain experts. The document also discusses challenges around sharing system administration tools and modules, as well as testing infrastructure using approaches from software development like Cucumber testing.
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
In diesem Talk beschreibe ich die Continuous Integartion Pipeline von punkt.de und deren Entstehen. Es wird motiviert, warum es sich lohnt, eine solche Pipeline zu implementieren und welche Tools wir dafür verwendet haben. Neben der Beschreibung von Git, Jenkins, Chef, Vagrant, Behat und Surf geht es auch um Integration der einzelnen Tools in eine Deployment Kette.
This document provides an agenda and overview for a class on using Git, GitHub, and VSCode. It introduces command line basics, files and directories, terminal commands, text editors, GitHub, Git basics, and a homework assignment to create a GitHub repository and JavaScript program. Key topics covered include the Git workflow, essential Git commands, using GitHub Pages to host websites, and an introduction to JavaScript programming.
James Turnbull, VP of Tech Operations at Puppetlabs, started off the day with a very interesting and informative talk about the past, current and future of Puppet. He showed they have a strong link to their community and plan to keep it that way. He explained that they grew from very small to 70+ people over the last year, and that brings some issues with it. They are very dedicated to fixing those issues though, and hope to improve things moving towards the future.
This document summarizes an Ansible meetup presentation about what Ansible is, why it is useful, and how it works. Ansible is an open source automation tool that configures systems and deploys applications using human-readable YAML files called playbooks. It is agentless, using SSH to connect to servers. Playbooks define tasks to run on hosts in parallel using modules. Roles help organize tasks by server function. The presentation showed how Ansible simplified deployments by pulling code, installing dependencies, and restarting services across environments in an automated, consistent way.
This document provides an overview of Hudson, an open source continuous integration tool. It discusses how Hudson can be used to automate tasks like running tests and deployments. Key points include that Hudson works by configuring "jobs" which can be triggered by changes in source control or on a schedule. Jobs contain "build steps" like running tests or deploying code. Notifications can be sent upon job completion. Hudson can integrate with various version control systems and platforms.
Improving Engineering Processes using Hudson - Spark IT 2010Arun Gupta
Hudson is an open-source continuous integration (CI) server that automates the build, test, and deployment of code. It monitors code repositories for changes, compiles code, runs tests, and notifies developers of failures. Hudson emphasizes ease of use and extensibility through plugins. It allows teams to spend less time on manual tasks and more time developing code through automation of the engineering process.
Continuous integration is a practice where developers integrate code changes frequently from the main code repository. This allows for multiple integrations per day. An automated build is run on each check-in, including running tests to detect errors early. Hudson is a free continuous integration tool written in Java that runs builds, tests, and reports issues. It integrates with source control and build tools via plugins. Eclipse plugins can also be built with Hudson and Buckminster to automate their creation and publication.
Stackato presentation done at the Nordic Perl Workshop 2012 in Stockholm, Sweden
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
This presentation is an introduction to the Joomla!Platform, what is the platform, what are the ideas behind it, why we have this separation between CMS and platform. I am speaking about the pro and cons, briefly ;-) A big part are real live examples how I or others have used the platform, when it makes sense to use the platform and when it doesn't makes sense. I do explain how to contribute to the platform and to the project at all. PHP knowledge is not necessary.
The document provides an overview of a talk given by Stephen Wallace on using Puppet for system administrators. The talk introduces Puppet as a tool to help system administrators achieve goals like availability, scalability, predictability and reducing workload. It addresses common concerns that system administrators have with Puppet, such as the need to learn programming. The talk demonstrates how Puppet can be used in a simple way and provides references for further learning.
Puppet is a configuration management tool which allows easy deployment and configuration ranging from 1 to 1 thousand servers (and even more). Even though its common knowledge for devops, puppet is still a strange piece of software for developers. How does it work and what can it do for you as a developer?
"Building Reusable Puppet Modules" by Jon Topper at Puppet Camp London 2013. Find a Puppet Camp near you: https://puppetlabs.com/community/puppet-camp/
The document provides an overview and quick start guide for learning Puppet. It discusses what Puppet is, how to install a Puppet master and agent, Puppet modules and templates, and looping elements in templates. The guide outlines three sessions: 1) configuring a master and agent, 2) using modules and templates, and 3) looping in templates. It provides configuration examples and explains how to generate files on the agent from templates using Puppet runs.
Getting Started with Puppet - PuppetConf 2014Puppet
This document is a presentation on getting started with Puppet. It introduces Puppet as a tool for consistency and time savings. It recommends starting with high value, low cost automation tasks rather than focusing on building a full automation system. It provides resources for learning Puppet and suggests driving value up the automation stack over time. It advises automating to support business goals and avoiding becoming a single point of failure. It warns to watch out for potential issues when getting started with Puppet.
From Puppet templates to troubleshooting, writing custom types and getting up and running quickly— you'll learn about it at PuppetConf 2016 in San Diego. Learn more and register at https://puppet.com/puppetconf/.
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppet
Here are the slides from Nicolas Corrarello's PuppetConf 2016 presentation called Puppet on Windows. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
This C# script controls player movement by getting input, applying gravity, and moving the character controller based on input, gravity, and speed limits. It gets the character controller component, sets player rotation to match the camera, calculates a movement vector based on horizontal and vertical axis input, applies gravity over time, and moves the character controller based on this modified movement vector each frame.
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...Puppet
Here are the slides from Matt Stone's PuppetConf 2016 presentation called A Tale of Two Hierarchies: Group Policy & Puppet . Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
PuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, PuppetPuppet
This document discusses testing Puppet code. It begins by explaining why testing Puppet is important due to the large amount of Puppet code and its use across many platforms. It then provides an overview of existing Puppet testing tools like puppet-lint, rspec-puppet, and beaker-rspec. It notes different types of Puppet users have varying needs and experiences with testing. Key challenges discussed are improving the getting started experience, adopting acceptance testing more widely, providing consistent interfaces, and addressing the Ruby dependency of many tools. The document concludes that the community has powerful tools but needs more consistent user experiences and workflows to help beginners test Puppet code.
The Milton Special Education Parent Advisory Council (Milton SEPAC) is a nonprofit organization run by parents in Milton, Massachusetts that is dedicated to supporting families with children who have special needs. The SEPAC aims to advise the school district, provide information to parents and educators, and promote inclusion of students with special needs. For the 2014-2015 school year, the SEPAC's goals are to strengthen its infrastructure, improve communication, increase membership, and increase its advocacy and advisory role with the school district on issues like the achievement gap in special education.
PuppetConf 2016: Nice and Secure: Good OpSec Hygiene With Puppet! – Peter Sou...Puppet
Here are the slides from Peter Souter's PuppetConf 2016 presentation called Nice and Secure: Good OpSec Hygiene With Puppet!. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...Puppet
This document summarizes the University of Saskatchewan's experience implementing Puppet for infrastructure automation. It outlines how they established an architecture team and ramped up Puppet use over time. They moved to using Git for code management and established workflows for development, testing, and production. The document also discusses lessons learned around custom facts, long-lived branches, and working with different teams. It concludes by noting areas still needing improvement and potential future uses of Puppet for things like dynamic environments and compliance.
Building self-service on demand infrastructure with Puppet and VMwarePuppet
"Building self-service infrastructure with Puppet and VMware: An intro to vSphere automation" by Cody Herriges of Puppet Labs at Puppet Camp London 2013. Find a Puppet Camp near you: https://puppetlabs.com/community/puppet-camp/
PuppetConf 2016: Implementing Puppet within a Complex Enterprise – Jerry Caup...Puppet
Here are the slides fromJerry Caupain's PuppetConf 2016 presentation called Implementing Puppet within a Complex Enterprise. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells FargoPuppet
Here are the slides from Thomas Uphill's presentation called Puppet Troubleshooting. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...Puppet
Here are the slides from Chris Barker and David Soper's PuppetConf 2016 presentation called Policy-Based Management All the Way Down. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
Puppet Enterprise allows you to more effectively integrate OS patch management into a unified platform management approach. It ties together proven Microsoft technologies like WSUS and DSC to define OS update policies, manage patches as part of overall system configuration, and continuously enforce patching policies. The demo shows managing the WSUS client, packages with Chocolatey, and configuration with PowerShell using Puppet's unified approach.
This document discusses continuous integration in a PHP context. Continuous integration is a software development practice where developers regularly merge their code changes into a central repository. This allows the integration of code changes to be tested and identified early if issues arise. The benefits are less time spent fixing bugs and integration issues. Tools mentioned that can help with continuous integration for PHP projects include PHPUnit, Selenium, PHPMD, PDepend, PHP_CodeSniffer, phpUnderControl, Xinc, Hudson and Bamboo. Regular integration and testing of all code changes is important for reducing project risks.
Slides from the talk "CI doesn’t start with Jenkins" from DevOps Stage 2018 (12-13 October 2018, Kyiv, Ukraine)
CI is not only a tool. You cannot simply install and configure Jenkins or whatever system and say that you have CICD pipeline. Here I'm trying to cover different aspects and dependencies of the CICD process based on Preply Inc experience.
External Links:
[2] CatOps Telegram channel: https://t.me/catops
[2] HashiCorp User Group Kyiv: https://www.meetup.com/Kyiv-HashiCorp-User-Group/
[12-24 ]https://www.endpoint.com/blog/2014/05/02/git-workflows-that-work
[49-50]: https://nvie.com/posts/a-successful-git-branching-model/
[51-56]: https://www.toptal.com/software/trunk-based-development-git-flow
[64] Django Anonymizer: https://github.com/knowledge-point/dj_anonymizer
This document provides advice and encouragement for developers to implement testing for their code. It notes that hardware is now faster and cheaper for running tests. Testing frameworks exist for many languages to make writing tests easier. Both unit and integration tests are recommended to start, and to remember that some testing is better than no testing. Resources like Unity's test tools can help test games even for non-programmers. Implementing automated tests will improve workflow and relationships with coworkers and testers.
Have you heard of TDD? Are you interested or familiar with this practice but have never been able to understand it?
Join this session to see the benefits of Test-Driven Development (TDD), understand how it works and its benefits. In a more detailed approach, we will see this way of developing software, where our code is always built guided by tests.
We will go over some history about TDD, which is the main process we must follow when we work with this mechanic and the rules that surround it. We will also list the main advantages and disadvantages that most developers who practice TDD find and whether the arguments in favour add up to more than those that subtract. Finally, we will review some good habits and practices when applying TDD and see how to do it step by step with an example of a "live" coding session with Java.
At the end of the session, I hope that you will have a wider understanding of what TDD is, what advantages it brings, why it is interesting to master it and also that you will take with you some tricks and good practices to be able to apply them in your day-to-day life when writing code
===
Presentation (revisited & updated) shared at JDD 2022:
https://jdd.org.pl/lecture_2022/#id=78434
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)ssusercaf6c1
Have you heard of TDD? Are you interested or familiar with this practice but have never been able to understand it?
Join this session to see the benefits of Test-Driven Development (TDD), understand how it works and its benefits. In a more detailed approach, we will see this way of developing software, where our code is always built guided by tests.
We will go over some history about TDD, which is the main process we must follow when we work with this mechanic and the rules that surround it. We will also list the main advantages and disadvantages that most developers who practice TDD find and whether the arguments in favour add up to more than those that subtract. Finally, we will review some good habits and practices when applying TDD and see how to do it step by step with an example of a "live" coding session with Java.
At the end of the session, I hope that you will have a wider understanding of what TDD is, what advantages it brings, why it is interesting to master it and also that you will take with you some tricks and good practices to be able to apply them in your day-to-day life when writing code
---
Presentation shared at Trójmiasto Java User Group
Public group 17th of May '23
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)Nacho Cougil
Have you heard of TDD? Are you interested or familiar with this practice but have never been able to understand it?
Join this session to see the benefits of Test-Driven Development (TDD), understand how it works and its benefits. In a more detailed approach, we will see this way of developing software, where our code is always built guided by tests.
We will go over some history about TDD, which is the main process we must follow when we work with this mechanic and the rules that surround it. We will also list the main advantages and disadvantages that most developers who practice TDD find and whether the arguments in favour add up to more than those that subtract. Finally, we will review some good habits and practices when applying TDD and see how to do it step by step with an example of a "live" coding session with Java.
At the end of the session, I hope that you will have a wider understanding of what TDD is, what advantages it brings, why it is interesting to master it and also that you will take with you some tricks and good practices to be able to apply them in your day-to-day life when writing code
---
Presentation shared at Trójmiasto Java User Group (17th May '23)
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014datafundamentals
This document discusses two approaches to ETL jobs in Hadoop: a manual "special snowflake" approach and an automated approach. The manual approach involves a team spending a year copying and pasting code for 15 jobs. This leads to spaghetti code and is not sustainable. The automated approach involves designing reusable templates and rules to automate the ETL process. This frees up the developer Brent to focus on design rather than manual work. It results in code that is clean, consistent, easy to maintain and passes the "10 minute test" of being idempotent. The document demonstrates generating ETL code from metadata and deploying the automated jobs to Hadoop.
Join this session to see the benefits of Test-Driven Development (TDD), and understand how it works and its benefits. In a more detailed approach, we will see this way of developing software, where our code is always built guided by tests. We will go over some history about TDD and list the main advantages and disadvantages that most developers who practice it find and whether the arguments in favour add up to more than those that subtract. Finally, we will review some good habits and practices when applying TDD by seeing how to do it step by step with an example of a "live" coding session with Java. At the end of the session, you will have a wider understanding of TDD and why it's interesting to master it. Also, you will take with you some tricks and good practices to be able to apply them in your day-to-day life when writing code.
---
Presentation shared at Bucharest Tech Week '23
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...Ortus Solutions, Corp
The document provides an overview of unit testing, including:
- Unit testing validates that each software unit performs as designed and improves development and code quality.
- Guidelines for unit tests include making them fast, isolated, independent, robust, maintainable, purposeful, and automated.
- Test-driven development (TDD) uses the "red-green-refactor" process to write tests before code. Behavior-driven development (BDD) focuses on user requirements over implementation.
- The TestBox framework supports BDD-style testing in ColdFusion with constructs like describe, given, when, then. MockBox enables mocking dependencies.
How to cover your web pages with easy tests in Python using easy wrapper over selenium of Selenide style. What are the styles of test coverage? How to start automation on your project? Which tool to choose?
This is a presentation to correspondent workshop (in russian) happened to have place in Kiev, during "Black Tea Testing #8" testing event, organized by Cogniance (cogniance.com) and IT Labs (itlabs.net.ua).
See video (in russian) at https://youtu.be/m1lopvj4nNg
See code src at https://github.com/yashaka/easy-web-tests-python/
Driving application development through behavior driven developmentEinar Ingebrigtsen
This document discusses Behavior Driven Development (BDD) and how it can be used to drive application development. It introduces BDD, focusing on behaviors of the system rather than tests. It discusses key aspects of BDD like Gherkin, units, test doubles, writing testable code, frameworks like SpecFlow and recommended reading. The overall message is that BDD changes the way software is developed by shifting the focus to behaviors and improving collaboration.
Learn about the benefits of writing unit tests. You will spend less time fixing bugs and you will get a better design for your software. Some of the questions answered are:
Why should I, as a developer, write tests?
How can I improve the software design by writing tests?
How can I save time, by spending time writing tests?
When should I write unit tests and when should I write system tests?
This document introduces automated testing and provides guidance on how to implement it. It discusses:
1) The benefits of unit tests such as finding bugs quickly, preventing regressions, and improving design.
2) The different types of automated tests including unit, system, and performance tests. Unit tests are fast and robust while system tests test entire systems.
3) How to set up an automated testing environment including tools for different languages, integrating tests into development workflows, and using build servers to run tests on commits.
Join us for this interactive event and get your hands dirty with some WildFly 9 hacking!
Our host Kabir Khan will explain how you can contribute to the WildFly project at many different levels, from properly reporting bugs in the forums and issue tracker, to actually being able to submit a pull request.
During this interactive event you will have a chance to play with WildFly 9 and try some of the following:
• Find a JIRA you want to work on.
• See how to check-out the code and setup your IDE.
• Build WildFly
• Code walkthrough - code organisation, jboss-modules etc.
• Debug something from a stack trace in a JIRA issue to nail down the problem.
• Try the testsuite
• And more!
The Cowardly Test-o-Phobe's Guide To TestingTim Duckett
The document discusses testing iOS applications. It begins by addressing why testing can be scary and introduces test-driven development as an approach to make testing less scary. It then covers different tools for testing iOS apps, including frameworks for unit testing and UI testing. It emphasizes the importance of mocking and stubbing dependencies to isolate parts of the code for testing. The document also discusses approaches for testing network requests, such as using a tool called OHHTTPStubs to stub network responses from files. It concludes by encouraging testing user interfaces in code and using mocking/stubbing to handle dependencies.
This document summarizes Neil Bowers' process for reviewing CPAN modules. He begins reviews by searching for existing modules on a topic and writing sections comparing the modules. He aims to submit fixes and improvements, get involved in maintenance, and publish reviews iteratively. The reviews have led Neil to make contributions to CPAN and improve his own practices, like benchmarking and reducing dependencies. He encourages others to search CPAN before writing new modules and to improve documentation.
With the ever-increasing availability of good open source modules, puppet development within an organization can transition to the building of roles and profiles to glue together the modules developed externally, and patches or pull requests to update the modules to meet your needs. However, it is still sometimes necessary to create a module from scratch, and there are different considerations when the module is going to be shared publicly than when developing modules strictly for internal use. If the module is going to be used by people outside your organization you need to consider flexibility, appropriate scoping, and ease of use of the module. This talk will address finding and evaluating existing modules, module development with open sourcing in mind, and effective use of roles and profiles.
Does Git make you angry inside? In this workshop you will get a gentle introduction to working efficiently as a Web developer in small teams, or as a solo developer. We'll focus on real world examples you can actually use to make your work faster and more efficient. Windows? OSX? Linux? No problem, we'll get you up and running with Git, no matter what your system. Yes, this is an introductory session. This is for people who feel shame that they don't know how to "clone my github project", wish they too could "get the gist", and get mad when people say "just diff me a patch" as if it's something as easy as making a mai thai even though you have no rum. No, you don't have to have git installed to attend. You don't even need to know where the command line is on your computer.
Similar to PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules for Windows – Glenn Sarti, Puppet (20)
Puppet camp2021 testing modules and controlrepoPuppet
This document discusses testing Puppet code when using modules versus a control repository. It recommends starting with simple syntax and unit tests using PDK or rspec-puppet for modules, and using OnceOver for testing control repositories, as it is specially designed for this purpose. OnceOver allows defining classes, nodes, and a test matrix to run syntax, unit, and acceptance tests across different configurations. Moving from simple to more complex testing approaches like acceptance tests is suggested. PDK and OnceOver both have limitations for testing across operating systems that may require customizing spec tests. Infrastructure for running acceptance tests in VMs or containers is also discussed.
This document appears to be for a PuppetCamp 2021 presentation by Corey Osman of NWOPS, LLC. It includes information about Corey Osman and NWOPS, as well as sections on efficient development, presentation content, demo main points, Git strategies including single branch and environment branch strategies, and workflow improvements. Contact information is provided at the bottom.
The document discusses operational verification and how Puppet is working on a new module to provide more confidence in infrastructure health. It introduces the concept of adding check resources to catalogs to validate configurations and service health directly during Puppet runs. Examples are provided of how this could detect issues earlier than current methods. Next steps outlined include integrating checks into more resource types, fixing reporting, integrating into modules, and gathering feedback. This allows testing and monitoring to converge by embedding checks within configurations.
This document provides tips and tricks for using Puppet with VS Code, including links to settings examples and recommended extensions to install like Gitlens, Remote Development Pack, Puppet Extension, Ruby, YAML Extension, and PowerShell Extension. It also mentions there will be a demo.
- The document discusses various patterns and techniques the author has found useful when working with Puppet modules over 10+ years, including some that may be considered unorthodox or anti-patterns by some.
- Key topics covered include optimization of reusable modules, custom data types, Bolt tasks and plans, external facts, Hiera classification, ensuring resources for presence/absence, application abstraction with Tiny Puppet, and class-based noop management.
- The author argues that some established patterns like roles and profiles can evolve to be more flexible, and that running production nodes in noop mode with controls may be preferable to fully enforcing on all nodes.
Applying Roles and Profiles method to compliance codePuppet
This document discusses adapting the roles and profiles design pattern to writing compliance code in Puppet modules. It begins by noting the challenges of writing compliance code, such as it touching many parts of nodes and leading to sprawling code. It then provides an overview of the roles and profiles pattern, which uses simple "front-end" roles/interfaces and more complex "back-end" profiles/implementations. The rest of the document discusses how to apply this pattern when authoring Puppet modules for compliance - including creating interface and implementation classes, using Hiera for configuration, and tools for reducing boilerplate code. It aims to provide a maintainable structure and simplify adapting to new compliance frameworks or requirements.
This document discusses Kinney Group's Puppet compliance framework for automating STIG compliance and reporting. It notes that customers often implement compliance Puppet code poorly or lack appropriate Puppet knowledge. The framework aims to standardize compliance modules that are data-driven and customizable. It addresses challenges like conflicting modules and keeping compliance current after implementation. The framework generates automated STIG checklists and plans future integration with Puppet Enterprise and Splunk for continued compliance reporting. Kinney Group cites practical experience implementing the framework for various military and government customers.
Enforce compliance policy with model-driven automationPuppet
This document discusses model-driven automation for enforcing compliance. It begins with an overview of compliance benchmarks and the CIS benchmarks. It then discusses implementing benchmarks, common challenges around configuration drift and lack of visibility, and how to define compliance policy as code. The key points are that automation is essential for compliance at scale; a model-driven approach defines how a system should be configured and uses desired-state enforcement to keep systems compliant; and defining compliance policy as code, managing it with source control, and automating it with CI/CD helps achieve continuous compliance.
This document discusses how organizations can move from a reactive approach to compliance to a proactive approach using automation. It notes that over 50% of CIOs cite security and compliance as a barrier to IT modernization. Puppet offers an end-to-end compliance solution that allows organizations to automatically eliminate configuration drift, enforce compliance at scale across operating systems and environments, and define policy as code. The solution helps organizations improve compliance from 50% to over 90% compliant. The document argues that taking a proactive automation approach to compliance can turn it into a competitive advantage by improving speed and innovation.
Automating it management with Puppet + ServiceNowPuppet
As the leading IT Service Management and IT Operations Management platform in the marketplace, ServiceNow is used by many organizations to address everything from self service IT requests to Change, Incident and Problem Management. The strength of the platform is in the workflows and processes that are built around the shared data model, represented in the CMDB. This provides the ‘single source of truth’ for the organization.
Puppet Enterprise is a leading automation platform focused on the IT Configuration Management and Compliance space. Puppet Enterprise has a unique perspective on the state of systems being managed, constantly being updated and kept accurate as part of the regular Puppet operation. Puppet Enterprise is the automation engine ensuring that the environment stays consistent and in compliance.
In this webinar, we will explore how to maximize the value of both solutions, with Puppet Enterprise automating the actions required to drive a change, and ServiceNow governing the process around that change, from definition to approval. We will introduce and demonstrate several published integration points between the two solutions, in the areas of Self-Service Infrastructure, Enriched Change Management and Automated Incident Registration.
This document promotes Puppet as a tool for hardening Windows environments. It states that Puppet can be used to harden Windows with one line of code, detect drift from desired configurations, report on missing or changing requirements, reverse engineer existing configurations, secure IIS, and export configurations to the cloud. Benefits of Puppet mentioned include hardening Windows environments, finding drift for investigation, easily passing audits, compliance reporting, easy exceptions, and exporting configurations. It also directs users to Puppet Forge modules for securing Windows and IIS.
Simplified Patch Management with Puppet - Oct. 2020Puppet
Does your company struggle with patching systems? If so, you’re not alone — most organizations have attempted to solve this issue by cobbling together multiple tools, processes, and different teams, which can make an already complicated issue worse.
Puppet helps keep hosts healthy, secure and compliant by replacing time-consuming and error prone patching processes with Puppet’s automated patching solution.
Join this webinar to learn how to do the following with Puppet:
Eliminate manual patching processes with pre-built patching automation for Windows and Linux systems.
Gain visibility into patching status across your estate regardless of OS with new patching solution from the PE console.
Ensure your systems are compliant and patched in a healthy state
How Puppet Enterprise makes patch management easy across your Windows and Linux operating systems.
Presented by: Margaret Lee, Product Manager, Puppet, and Ajay Sridhar, Sr. Sales Engineer, Puppet.
The document discusses how Puppet can be used to accelerate adoption of Microsoft Azure. It describes lift and shift migration of on-premises workloads to Azure virtual machines. It also covers infrastructure as code using Puppet and Terraform for provisioning, configuration management using Puppet Bolt, and implementing immutable infrastructure patterns on Azure. Integrations with Azure services like Key Vault, Blob Storage and metadata service are presented. Patch management and inventory of Azure resources with Puppet are also summarized.
This document discusses using Puppet Catalog Diff to analyze the impact of changes between Puppet environments or catalogs. It provides the command line usage and options for Puppet Catalog Diff. It also discusses how to integrate Puppet Catalog Diff into CI/CD pipelines for automated impact analysis when merging code changes. Additional resources like GitHub projects and Dev.to posts are provided for learning more about diffing Puppet environments and catalogs.
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
ServiceNow and Puppet can be integrated in four key areas: 1) Self-service infrastructure allows non-Puppet experts to control infrastructure through a ServiceNow interface; 2) Enriched change management automatically generates ServiceNow change requests from Puppet changes and populates them with impact details; 3) Automated incident registration forwards details of configuration drift corrections in Puppet to ServiceNow to create incidents; and 4) Up-to-date asset management would periodically upload Puppet inventory data to ServiceNow to keep the CMDB accurate without disruptive discovery runs.
This document discusses how Puppet Relay uses Tekton pipelines to orchestrate containerized workflows. It provides an overview of how Tekton fits into the Relay architecture, with Tekton controllers managing taskrun pods to execute workflow steps defined in YAML. Triggers can initiate workflows based on events, with reusable and composable steps for tasks like provisioning infrastructure or clearing resources. Relay also includes features for parameters, secrets, outputs, and approvals to customize workflows. An ecosystem of open source integrations provides sample workflows and steps for common use cases.
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
This document discusses deploying legacy software into the AWS cloud using Puppet. It proposes modeling AWS resources like security groups, autoscaling groups, and launch configurations as Puppet resources. This would allow Puppet to provision the underlying AWS infrastructure and configure servers launched in autoscaling groups. It acknowledges challenges around server reboots but suggests they can be addressed. In summary, it argues custom Puppet resources can easily model AWS resources and using Puppet to configure autoscaling servers is possible despite some challenges around rebooting servers during deployment.
This document discusses a partnership between Republic Polytechnic's School of Infocomm and Puppet to promote DevOps practices. It introduces several people involved with the partnership and outlines their mission to prepare more IT companies and individuals for jobs in the DevOps field through training courses. The document describes some short courses offered on DevOps topics and using the Puppet and Microsoft Azure platforms. It provides an example of how Republic Polytechnic has automated infrastructure configuration using Puppet to save time and reduce errors. There is a request at the end for readers to register their interest in DevOps by completing a survey.
This document discusses continuous compliance and DevSecOps best practices followed by financial services organizations.
Continuous compliance is defined as an ongoing process of proactive risk management that delivers predictable, transparent, and cost-effective compliance results. It involves continuously monitoring compliance controls, providing real-time alerts for failures and remediation recommendations, and maintaining up-to-date policies. Best practices for continuous compliance discussed include defining CIS controls and benchmarks, achieving transparent compliance dashboards and automated fixes for breaches.
DevSecOps is introduced as bringing security earlier in the application development lifecycle to minimize vulnerabilities. It aims to make everyone accountable for security. Challenges discussed include security teams struggling to keep up with DevOps pace and
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
The document discusses using Puppet and Vault together to dynamically manage SSL certificates. Puppet can use the vault_cert resource to request signed certificates from Vault and configure services to use the certificates. On Windows, some additional logic is needed to retrieve certificates' thumbprints and bind services to certificates using those thumbprints. This approach provides automated certificate renewal and distribution across platforms.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
"What does it really mean for your system to be available, or how to define w...Fwdays
We will talk about system monitoring from a few different angles. We will start by covering the basics, then discuss SLOs, how to define them, and why understanding the business well is crucial for success in this exercise.
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Ukraine
Під час доповіді відповімо на питання, навіщо потрібно підвищувати продуктивність аплікації і які є найефективніші способи для цього. А також поговоримо про те, що таке кеш, які його види бувають та, основне — як знайти performance bottleneck?
Відео та деталі заходу: https://bit.ly/45tILxj
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
What is an RPA CoE? Session 2 – CoE RolesDianaGray10
In this session, we will review the players involved in the CoE and how each role impacts opportunities.
Topics covered:
• What roles are essential?
• What place in the automation journey does each role play?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
This talk will cover ScyllaDB Architecture from the cluster-level view and zoom in on data distribution and internal node architecture. In the process, we will learn the secret sauce used to get ScyllaDB's high availability and superior performance. We will also touch on the upcoming changes to ScyllaDB architecture, moving to strongly consistent metadata and tablets.
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
In our second session, we shall learn all about the main features and fundamentals of UiPath Studio that enable us to use the building blocks for any automation project.
📕 Detailed agenda:
Variables and Datatypes
Workflow Layouts
Arguments
Control Flows and Loops
Conditional Statements
💻 Extra training through UiPath Academy:
Variables, Constants, and Arguments in Studio
Control Flow in Studio
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
Introducing BoxLang : A new JVM language for productivity and modularity!Ortus Solutions, Corp
Just like life, our code must adapt to the ever changing world we live in. From one day coding for the web, to the next for our tablets or APIs or for running serverless applications. Multi-runtime development is the future of coding, the future is to be dynamic. Let us introduce you to BoxLang.
Dynamic. Modular. Productive.
BoxLang redefines development with its dynamic nature, empowering developers to craft expressive and functional code effortlessly. Its modular architecture prioritizes flexibility, allowing for seamless integration into existing ecosystems.
Interoperability at its Core
With 100% interoperability with Java, BoxLang seamlessly bridges the gap between traditional and modern development paradigms, unlocking new possibilities for innovation and collaboration.
Multi-Runtime
From the tiny 2m operating system binary to running on our pure Java web server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, Web Assembly, Android and more. BoxLang has been designed to enhance and adapt according to it's runnable runtime.
The Fusion of Modernity and Tradition
Experience the fusion of modern features inspired by CFML, Node, Ruby, Kotlin, Java, and Clojure, combined with the familiarity of Java bytecode compilation, making BoxLang a language of choice for forward-thinking developers.
Empowering Transition with Transpiler Support
Transitioning from CFML to BoxLang is seamless with our JIT transpiler, facilitating smooth migration and preserving existing code investments.
Unlocking Creativity with IDE Tools
Unleash your creativity with powerful IDE tools tailored for BoxLang, providing an intuitive development experience and streamlining your workflow. Join us as we embark on a journey to redefine JVM development. Welcome to the era of BoxLang.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
3. Me
• Senior Software Engineer at Puppet
Specialising in Windows
• 15 years in Desktop Engineering and IT
Navy, Government, Mining, Finance, Corporate
• DevOps advocate
9. What do we need?
• Setting up a development environment
• Create a Puppet module
• Debugging tools
10. What do we need?
• Testing tools
• Publish the module
• Next steps
11. • Setup environment
• Create module
• Debug tools
• Test tools
• Publish module
• Next steps
12. • Setup environment
• Create module
• Debug tools
• Test tools
• Publish module
• Next steps
13. Tools you probably already have
• Windows computer
• Text editor
• Puppet Agent
Tools you probably need to install
• Source Control
• Ruby and Ruby Dev Kit
14. Why Source Control?
• Made a change and realised it was a mistake and wanted to revert back?
• Lost a modules or had a backup that was too old?
• Wanted to see the difference between two (or more) versions of your
modules?
• Wanted to prove that a change broke or fixed a piece of modules?
• Wanted to review the history of a modules?
• Wanted to submit a change to someone else's modules?
• Wanted to share your modules, or let other people work on your modules?
• Wanted to see how much work is being done, and where, when and by
whom?
• Wanted to quickly experiment something new without breaking anything?
…
16. Why Source Control?
Prefer git for Puppet Module work
• Lightweight
• Doesn’t require a central server
• Very common
But, choose something that’s appropriate for you …
51. Links
Publishing
• puppet-blacksmith
https://github.com/voxpupuli/puppet-blacksmith
• Publishing modules on the forge
https://docs.puppet.com/puppet/4.7/reference/modules_publishing.html
• The metadata.json file
https://docs.puppet.com/puppet/4.7/reference/modules_metadata.html
Other
• Puppet REPL
A REPL for the puppet language
https://github.com/nwops/puppet-repl
• Puppet Skeleton Module Generator
https://github.com/garethr/puppet-module-skeleton
• Puppet Strings
The next generation Puppet documentation
extraction and presentation tool
https://github.com/puppetlabs/puppet-strings
Editor's Notes
Scenario
1. Starting out with Puppet using modules from the Forge
2. There's something you want to do but no module for it, so you resort to Exec's!
3. Then you need a Fact or some custom function and everything gets a little hard!
4. You start to investigate …
Find all these terms in your searches…beaker, pry, bye-bug, uru, pik ….
All this stuff just so you can create a module??!?!?!
And then you … (freak out)
BOOM you freak out….
Smoke coming out of your ears and yours are bugging out….. and all you just want to do is write a puppet module….
…
Today we’re going to go through creating a Puppet module for windows…that doesn’t involve you freaking out…..
So the first thing we need to do is……Take a breath and walk through the things we need to do….
Firstly, we need to setup or desktop/laptop with the tools we require….
We can then create a Puppet module, hopefully from a template of some kind, or from another example
We know we’ll make errors so we need a way to debug out module
We should have some tests….Tests are good
Once we’ve got a working module, what do we do with it? Publish it
What next?
Not enough time in this session to go over ALL the reasons but here are some reasons
Bottom line
You will see the value of source control when you make a mistake
Be kind to your future self. In 6 months (or 6 days in my case) time, you may forget WHY wrote that piece of code. This helps alot
Do your developers already use git, or svn or mercurial, may be good to use that
Do your friends, colleagues use something other than git. It’s good to have people you can ask for help
Why should we be using ruby at all?
Because Puppet is written in ruby and Puppet modules, testing etc. are all in ruby.
Using ruby that’s installed as part of puppet-agent is ok, only if you never have any bugs and you don’t need to debug
We need to install some ruby gems with native extensions which requires the ruby-devkit. which is not available in the puppet-agent ruby installation
I’ll be using VS Code with the ruby and puppet plugins for this demo.
Why VS Code – xplat support, great multi-lang support (Powershell, batch, ruby, puppet)
LF is more commonly used but it’s up to you
BOMs break things
Manual installs – they work initially but …
Chocolatey is a package manager for windows which makes installing these tools much easier. Come to Rob Reynolds talk about Chocolatey after lunch if you want to learn more about it
Choco commands to install it all
No demo for this as it’s not very exciting….
Should probably read these two documents from Puppet first. The direct links for these are at the end of the presentation. Even if you don’t fully understand everything the first time you read them, it will come in useful later when you actually start writing the module.
e.g. what’s the template directory for, oh yeah I saw that in the beginner’s guide or where do I put facts
Puppet module generate will create the beginnings of a module for us
Rake is build automation tool. This is installed by default. It makes it easy to execute common tasks which we’ll use later.
The gitignore file is used so that temporary files don’t show up when you’re using source control, in this case git.
Demo create
There are some IDEs that do offer debugging (Jetbrains Rubymine) but not everyone uses those instead we use a console driven debugger
Pry -
Pry is the main debugging tool which provides an interactive debug session during a ruby session, for example when you run puppet. You can view source code, inspect variables, modify variables inline and a bunch of useful things
Pry-byebug
Pry-byebug is a plugin for pry which adds step-by-step debugging and call stack navigation. Which we’ll show a bit alter
Pry-stack_explorer
pry-stack_explorer is a plugin for the Pry REPL that enables the user to navigate the call-stack. From the point a Pry session is started, the user can move up the stack through parent frames, examine state, and even evaluate code. Inside ruby a function calls a function calls a function calls a function etc. And the stack explorer can show each of those function calls so we can see exactly how we’re traversing our ruby code. Which we’ll show a bit later.
How do we install these tools?
Modify the gemfile, bundle install
Inside our source code we add “require pry; binding.pry” to enter a debug session at that point
Demo debug
Firstly, I will not be able to do this subject justice in the time I have. There are a LOT of resources about testing, and testing infrastructure as code, but here are my top 3 reasons why you should test your puppet module…
The un-happy path
------
We all test the Happy path when we’re writing a module, where everything works, but what about the un-happy path?
What happens to our module if the user puts in bad data? A string instead of a number? How do we handle errors?
Documentation of intent
---
The tests actually serve as documentation. E.g. Most tests are written as
“Given these inputs it should do this behaviour”
This is a good way to document our module and the intent of how it should be behave
Avoid regression
----
When you find an issue, write a test for it. From then on you can be sure it won’t happen again
‘
There are MANY types of tests and to help not us not freak out, I’ll go through three types.
Unit tests exercise a single component of a Puppet Module, typically that’s a function or a single fact. These are normally very quick. In our code example, we would write unit tests for the dotnet_version fact
Integration tests exercise how components interact. In the case of a Puppet Module, a complex one like the Powershell Module, we have multiple complex functions so we test how they interact with each other. Or it may require interacting with operating system e.g. In Puppet we test our user resources by creating a temporary user account in Windows and then querying it using our functions.. These are typically a little slower than unit tests and as I said may require a specific operating system.
Acceptance or End to End tests are the most time consuming. In these tests we would create a Puppet Master and Agent, put manifests on the Master and test that they have the intended behaviour.
They are normally laid out in a pyramid because you normally want many unit tests, then less integration and then less acceptance. The higher up the pyramid, the more costly and time consuming the tests are and the slower you’ll get feedback on errors.
Start with creating unit and integration tests. Manual acceptance tests are ok to start off with, but remember they take a lot of time are prone to error.
Just remember “Your code is always tested, just differs by who. You the module writer or in production”
Rspec (ruby spec)
---
The standard testing tool for ruby and forms the basis for all testing
Mocha
---
Mocking support for rspec. This allows us to fake out responses during unit tests. For example, in out dotnetversion fact we can mock that dotnet is installed/not installed/ or gives a really weird response (unhappy path)
Rspec-puppet
----
Adds extensions to rspec for puppet specific tasks, particularly useful for testing manifest based modules. E.g. checking resource compilation, mocking facts (without mocha)
All of these tools are set in your gemfile via puppet generate so we already have these tools installed. Also as they’re all still ruby, you can use your debugging tools inside the tests.
Beaker
---
Is Puppet’s acceptance test harness. It helps coordinate creating Virtual Machines (or docker containers!) for masters and agents
Beaker-rspec (optional)
---
Like rspec-puppet, it adds helpers into rpsec to help with beaker operations e.g. Apply this puppet manifest on this host, or run this command on the node.
Demo testing
So we’ve got our working and tested module, now what!
If we want to create a puppet module we can distribute either to the Forge or your own module repositories, we can use the ‘rake build’ task. This will create a tarball for us
Puppet-blacksmith is a ruby gem that can help with automating the deployment to the Forge (no humans required)!
Demo PMT
Summarise what we went through
Read up on testing as that will give you biggest reward for the effort.
Add automated acceptance tests when you’re comfortable
Read up on testing as that will give you biggest reward for the effort.
Add automated acceptance tests when you’re comfortable
If you’re in a mixed environment, test your Windows modules on Linux. Both our experience in Puppet and customers too, some Windows only modules behave a little odd when they’re run under linux. Also test out Linux modules in Windows!