This document summarizes Martin Alfke's presentation on developing sysadmin skills and sysadmining developers using Puppet. The presentation covered topics like environments, modules, templates, Augeas, multi-master Puppet configurations, running Puppet without a master, using ENC and Hiera for node and data classification, PuppetDB for storing configurations and exported resources, and dashboards for infrastructure management and monitoring.
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.
This document discusses Puppet modules and Example42's approach. It outlines how Example42 develops Puppet modules following best practices for reusability, standardization, and interoperability. Their next generation modules provide features like automatic monitoring, firewalling, and Puppi integration while allowing high levels of customization through parameters.
This document discusses Puppet modules and provides examples of how to structure modules to allow for customization and reuse. It outlines 10 design rules for Example42 modules, including separating configuration data from module logic, providing choices for configuration file supply, configuring with defaults but allowing customization, and allowing management of general module behavior. The document provides code examples demonstrating how to implement these rules in Puppet modules.
This document discusses ZF2 modules and dependency injection. It defines what ZF2 modules are, how they are structured and registered. Modules allow for reusable code blocks. The document contrasts ZF2 modules with ZF1 modules, noting improvements in decoupling and reusability. It provides examples of optional module components like getConfig(), init(), and onBootstrap(). It also discusses dependency management, module distribution, and the Zend\ServiceManager for dependency injection using factories. The service manager creates objects and handles dependencies through factories that can be classes or closures.
This document provides an overview of using JavaBeans in JSP pages. It discusses the benefits of beans, creating and accessing bean properties, and sharing beans across pages and servlets. Key points covered include using the jsp:useBean, jsp:setProperty and jsp:getProperty tags to work with beans without explicit Java code. It also discusses setting bean properties from request parameters and different scopes for sharing beans in multiple contexts.
The document discusses using APC (Alternative PHP Cache) and Memcached together for high performance caching. It provides an overview of APC for opcode and user caching and how it can accelerate PHP script performance. Memcached is presented as an alternative for user caching that offers a distributed caching system accessible from PHP through an object-oriented interface. Examples are given for basic usage of storing, retrieving, and deleting from the caches. Features like multi-server environments, data segmentation, and delayed data retrieval with Memcached are also covered.
PuppetCamp SEA 1 - Puppet Deployment at OnAppWalter Heck
Ā
Wai Keen Woon, CTO CDN Division OnApp Malaysia, gave an interesting overview of what the Puppet architecture at OnApp looks like. The CDN division at OnApp is a large provider of CDN services, and as such makes a very interesting candidate for a case study.
Puppi is a Puppet modules that drives Puppet's knowledge of the Systems to a command line tool that you can use to check services availability, gather info on the system and deploy application with a single command.
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.
This document discusses Puppet modules and Example42's approach. It outlines how Example42 develops Puppet modules following best practices for reusability, standardization, and interoperability. Their next generation modules provide features like automatic monitoring, firewalling, and Puppi integration while allowing high levels of customization through parameters.
This document discusses Puppet modules and provides examples of how to structure modules to allow for customization and reuse. It outlines 10 design rules for Example42 modules, including separating configuration data from module logic, providing choices for configuration file supply, configuring with defaults but allowing customization, and allowing management of general module behavior. The document provides code examples demonstrating how to implement these rules in Puppet modules.
This document discusses ZF2 modules and dependency injection. It defines what ZF2 modules are, how they are structured and registered. Modules allow for reusable code blocks. The document contrasts ZF2 modules with ZF1 modules, noting improvements in decoupling and reusability. It provides examples of optional module components like getConfig(), init(), and onBootstrap(). It also discusses dependency management, module distribution, and the Zend\ServiceManager for dependency injection using factories. The service manager creates objects and handles dependencies through factories that can be classes or closures.
This document provides an overview of using JavaBeans in JSP pages. It discusses the benefits of beans, creating and accessing bean properties, and sharing beans across pages and servlets. Key points covered include using the jsp:useBean, jsp:setProperty and jsp:getProperty tags to work with beans without explicit Java code. It also discusses setting bean properties from request parameters and different scopes for sharing beans in multiple contexts.
The document discusses using APC (Alternative PHP Cache) and Memcached together for high performance caching. It provides an overview of APC for opcode and user caching and how it can accelerate PHP script performance. Memcached is presented as an alternative for user caching that offers a distributed caching system accessible from PHP through an object-oriented interface. Examples are given for basic usage of storing, retrieving, and deleting from the caches. Features like multi-server environments, data segmentation, and delayed data retrieval with Memcached are also covered.
PuppetCamp SEA 1 - Puppet Deployment at OnAppWalter Heck
Ā
Wai Keen Woon, CTO CDN Division OnApp Malaysia, gave an interesting overview of what the Puppet architecture at OnApp looks like. The CDN division at OnApp is a large provider of CDN services, and as such makes a very interesting candidate for a case study.
Puppi is a Puppet modules that drives Puppet's knowledge of the Systems to a command line tool that you can use to check services availability, gather info on the system and deploy application with a single command.
Presentation on how Puppet has been introduced in Seat Pagine Gialle to automate system administration tasks and easy the cooperation between Ops and Others.
Drupal is an open source content management framework and content management system that allows users to build and manage websites and applications. At its core, Drupal provides a framework and common functions that power its modules, themes, forms, user management, and other features. This document outlines Drupal's architecture including its module and theme systems, forms API, security features, and how it uses hooks to enable extensibility.
Discusses the networking community and how they approach automation - current challenges/opportunities Learn about the "Netdev" Puppet module initiative; a "standard library" of resource types for networking equipment - current and future ideas.
Speaker
Jeremy Schulman
Global Solutions Architect, Infrastructure Automation, Juniper Networks
Jeremy is a 20 year veteran in the networking industry and has been with Juniper Networks for over five year. He holds a BSCS from Georgia Tech and began his career as an embedded software engineer building network infrastructure. After 12 years in software, Jeremy transitioned into a technical sales role as a network solutions architect. In 2012 Jeremy's focus turned exclusively to Infrastructure Automation. Jeremy now directs field awareness and DevOp initiatives integrating Junos with IT automation frameworks. He was responsible for the initial development of Puppet for Junos, and he is the maintainer of the Ruby NETCONF gem.
PuppetCamp London fall 2014
Martin Alfke - Can you upgrade to Puppet 4.x?
My talk at PuppetCamp London 2014 taking care on best practices and bad examples and an outlook to Puppet 4.
A reusable Puppet module should provide options and flexibility for configuration through parameters rather than being overly prescriptive. This allows users to customize the module for their specific needs. Parameters can control things like file management, package/service options, additional resources, and application configuration. Using patterns like default parameters, options hashes, and templates helps keep modules reusable and configurable.
This document discusses decoupled libraries and frameworks in PHP. It provides background on libraries, frameworks and components. Key principles of decoupled library packages are that they have no dependencies on other packages, encapsulate tests and assets, and are set up for dependency injection rather than static calls. Examples are given of how individual Aura library packages follow these principles, including the Router and Web packages. Limits to full decoupling are noted, as well as the direction of dependencies between packages.
Webinar: Zend framework Getting to grips (ZF1)Ryan Mauger
Ā
This document discusses getting started with the Zend Framework. It introduces Ryan Mauger, a Zend Framework contributor and expert. It recommends understanding the request lifecycle as the first thing to tackle when learning Zend Framework. Specifically, it suggests understanding the bootstrap process, routing, dispatching, and the lifecycle from preDispatch to postDispatch. It also covers autoloading, plugins, and using constructor options in Zend Framework.
Zend Framework appears to be a gargantuan beast to the outsider looking in. Finding where to start and picking up the basic principals can be a real headache and a time consuming business for those new to the framework.
I'm going to break down that learning curve, with a few simple principals to get you started knowing where to look, so you can progress under your own steam with greater ease.
Alessandro Franceschi presents Tiny Puppet, a Puppet module that allows simplified management of packages, services, files, and directories for applications on any operating system. Tiny Puppet handles dependencies and standardizes resource naming, allowing users to focus on configuration. It also enables integration testing of applications and includes acceptance tests that can test applications on multiple operating systems. Tiny Puppet is designed to manage applications simply where complex module development is not needed.
One of the first issues a developer runs into when dealing with ZF2 modules is how to arrange assets between modules. This presentation covers such issue.
More can be found on this blog post: http://www.mvassociati.it/en/gems/php/asset-management-zend-framework-2
The document provides instructions for setting up a Java and Flex application to connect to a MySQL database using Hibernate. It describes downloading required software, creating the database structure, writing the Java and Flex code, and configuring Hibernate and the Flex data services to enable bidirectional data binding between the front-end Flex UI and backend Java/database.
The document discusses the Features module in Drupal, which allows site configuration to be exported from the database into code. Features separates site configuration from content and allows functionality to be packaged and reused across multiple sites. It also enables version control and easier deployment. The document provides examples of how to create, export, import, update, and revert features using the module and Drush commands. It discusses some common usage cases and debugging strategies for overridden features.
The document summarizes 50 new features of Java EE 7 presented by Arun Gupta in 50 minutes. It provides short descriptions and code examples for features in specifications like CDI, Bean Validation, Interceptors, Concurrency Utilities, JPA, JTA, EJB, JMS and others. The features include things like default enabling of CDI, method validation in Bean Validation, interceptors for constructors, managed executors for concurrency, schema generation in JPA, transaction scoping in CDI and JTA, disabling passivation of stateful sessions in EJB, and a simplified JMSContext API.
13th Sep, Drupal 7 advanced training by TCS DrupalMumbai
Ā
This document provides an overview and introduction to Drupal module development. It discusses Drupal hooks like hook_menu(), hook_permission(), hook_form(), and the Entity API. It also covers creating modules, forms, variables, blocks, and interacting with the database. The event is for a Drupal Global Training Day in Mumbai, India hosted by Drupal Mumbai and Tata Consultancy Services.
Java EE 6 = Less Code + More Power (Tutorial) [5th IndicThreads Conference O...IndicThreads
Ā
Session Presented at 5th IndicThreads.com Conference On Java held on 10-11 December 2010 in Pune, India
WEB: http://J10.IndicThreads.com
------------
Java Platform, Enterprise Edition 6 (JavaEE 6) provides new capabilities that make it easier to develop and deploy enterprise and Web applications. It provides a simplified developer experience and improves on the developer productivity features introduced in JavaEE 5. It breaks the āone size fits allā approach in previous releases with Profiles and offers a comprehensive Web profile for lightweight, standards-based modern Web applications.The Web profile allows developers to build web applications quickly and prevents proliferation of custom web stacks for easier maintainability.
The platform enables extensibility by embracing open source libraries and frameworks such that they are treated as first class citizens of the platform. Several specifications like Contexts & Dependency Injection, Java Server Faces 2, Java API for RESTful Services, Java Persistence API 2, and Servlets 3 make the platform more powerful. All these specifications are implemented in GlassFish Open Source Edition 3 ā a modular (OSGi based) light-weight, embeddable, extensible, and the open source reference implementation for Java EE 6. NetBeans, Eclipse, and IntelliJ provide extensive tooling for Java EE 6 and GlassFish Open Source Edition.
This tutorial session will help the attendees learn the latest APIs and develop a complete Java EE 6 application using NetBeans IDE. The attendees will understand the different tips & tricks such as code completion, templates, and wizards for a rapid application deployment. The techniques like session preservation and deploy-on-save are demonstrated to reduce the development lifecycle.
The document discusses Puppet modules and describes a holistic approach to module development. It outlines the history of developing Puppet modules at Lab42 since 2007 and describes key mantras for module development, including data separation, reusability, standardization, and interoperability. It also discusses Example42 next generation modules which aim to have a coherent, standardized structure and allow for customization, extension, and integration with tools like Puppi.
Oracle Solaris 11 - Best for Enterprise Applicationsglynnfoster
Ā
The document discusses Oracle Solaris 11 and its key technologies for deploying enterprise applications, including the Image Packaging System (IPS) and Service Management Facility (SMF). IPS provides integrated package and patch management through network repositories, while SMF enables automatic service restart and dependency management. The document provides examples of using tools like pkgsend and svcbundle to create and manage IPS packages and SMF manifests.
The document discusses Puppet modules, including what they are, best practices for structuring modules, parameters, dependencies, testing modules, and documenting modules. It provides examples of module directory structure, class structure within modules, using parameters and dynamic data, module inheritance, ordering and anchoring classes, and the Modulefile.
This document discusses how to create a Maven-like project structure on top of Gradle builds. It describes the POM and build files used by Maven and Gradle, and how plugins can be used to configure Gradle builds to mimic the standard, two-level, and multi-level project structures supported by Maven. Specific plugins are demonstrated that allow setting the file structure, applying default behaviors from a "Gradle Super POM", and defining a project DSL to configure build properties.
Drupal module development training delhiunitedwebsoft
Ā
This document provides an 11-point syllabus for an advanced Drupal module development training course. The syllabus covers: 1) Creating basic modules, 2) Using Drupal hooks, 3) Understanding entities and content types, 4) The Drupal API including menus, forms, file uploads, and database queries, 5) Debugging techniques, and 6) Building a custom ads management module from scratch. The training aims to teach real-world module development skills to intermediate Drupal developers.
Presentation on how Puppet has been introduced in Seat Pagine Gialle to automate system administration tasks and easy the cooperation between Ops and Others.
Drupal is an open source content management framework and content management system that allows users to build and manage websites and applications. At its core, Drupal provides a framework and common functions that power its modules, themes, forms, user management, and other features. This document outlines Drupal's architecture including its module and theme systems, forms API, security features, and how it uses hooks to enable extensibility.
Discusses the networking community and how they approach automation - current challenges/opportunities Learn about the "Netdev" Puppet module initiative; a "standard library" of resource types for networking equipment - current and future ideas.
Speaker
Jeremy Schulman
Global Solutions Architect, Infrastructure Automation, Juniper Networks
Jeremy is a 20 year veteran in the networking industry and has been with Juniper Networks for over five year. He holds a BSCS from Georgia Tech and began his career as an embedded software engineer building network infrastructure. After 12 years in software, Jeremy transitioned into a technical sales role as a network solutions architect. In 2012 Jeremy's focus turned exclusively to Infrastructure Automation. Jeremy now directs field awareness and DevOp initiatives integrating Junos with IT automation frameworks. He was responsible for the initial development of Puppet for Junos, and he is the maintainer of the Ruby NETCONF gem.
PuppetCamp London fall 2014
Martin Alfke - Can you upgrade to Puppet 4.x?
My talk at PuppetCamp London 2014 taking care on best practices and bad examples and an outlook to Puppet 4.
A reusable Puppet module should provide options and flexibility for configuration through parameters rather than being overly prescriptive. This allows users to customize the module for their specific needs. Parameters can control things like file management, package/service options, additional resources, and application configuration. Using patterns like default parameters, options hashes, and templates helps keep modules reusable and configurable.
This document discusses decoupled libraries and frameworks in PHP. It provides background on libraries, frameworks and components. Key principles of decoupled library packages are that they have no dependencies on other packages, encapsulate tests and assets, and are set up for dependency injection rather than static calls. Examples are given of how individual Aura library packages follow these principles, including the Router and Web packages. Limits to full decoupling are noted, as well as the direction of dependencies between packages.
Webinar: Zend framework Getting to grips (ZF1)Ryan Mauger
Ā
This document discusses getting started with the Zend Framework. It introduces Ryan Mauger, a Zend Framework contributor and expert. It recommends understanding the request lifecycle as the first thing to tackle when learning Zend Framework. Specifically, it suggests understanding the bootstrap process, routing, dispatching, and the lifecycle from preDispatch to postDispatch. It also covers autoloading, plugins, and using constructor options in Zend Framework.
Zend Framework appears to be a gargantuan beast to the outsider looking in. Finding where to start and picking up the basic principals can be a real headache and a time consuming business for those new to the framework.
I'm going to break down that learning curve, with a few simple principals to get you started knowing where to look, so you can progress under your own steam with greater ease.
Alessandro Franceschi presents Tiny Puppet, a Puppet module that allows simplified management of packages, services, files, and directories for applications on any operating system. Tiny Puppet handles dependencies and standardizes resource naming, allowing users to focus on configuration. It also enables integration testing of applications and includes acceptance tests that can test applications on multiple operating systems. Tiny Puppet is designed to manage applications simply where complex module development is not needed.
One of the first issues a developer runs into when dealing with ZF2 modules is how to arrange assets between modules. This presentation covers such issue.
More can be found on this blog post: http://www.mvassociati.it/en/gems/php/asset-management-zend-framework-2
The document provides instructions for setting up a Java and Flex application to connect to a MySQL database using Hibernate. It describes downloading required software, creating the database structure, writing the Java and Flex code, and configuring Hibernate and the Flex data services to enable bidirectional data binding between the front-end Flex UI and backend Java/database.
The document discusses the Features module in Drupal, which allows site configuration to be exported from the database into code. Features separates site configuration from content and allows functionality to be packaged and reused across multiple sites. It also enables version control and easier deployment. The document provides examples of how to create, export, import, update, and revert features using the module and Drush commands. It discusses some common usage cases and debugging strategies for overridden features.
The document summarizes 50 new features of Java EE 7 presented by Arun Gupta in 50 minutes. It provides short descriptions and code examples for features in specifications like CDI, Bean Validation, Interceptors, Concurrency Utilities, JPA, JTA, EJB, JMS and others. The features include things like default enabling of CDI, method validation in Bean Validation, interceptors for constructors, managed executors for concurrency, schema generation in JPA, transaction scoping in CDI and JTA, disabling passivation of stateful sessions in EJB, and a simplified JMSContext API.
13th Sep, Drupal 7 advanced training by TCS DrupalMumbai
Ā
This document provides an overview and introduction to Drupal module development. It discusses Drupal hooks like hook_menu(), hook_permission(), hook_form(), and the Entity API. It also covers creating modules, forms, variables, blocks, and interacting with the database. The event is for a Drupal Global Training Day in Mumbai, India hosted by Drupal Mumbai and Tata Consultancy Services.
Java EE 6 = Less Code + More Power (Tutorial) [5th IndicThreads Conference O...IndicThreads
Ā
Session Presented at 5th IndicThreads.com Conference On Java held on 10-11 December 2010 in Pune, India
WEB: http://J10.IndicThreads.com
------------
Java Platform, Enterprise Edition 6 (JavaEE 6) provides new capabilities that make it easier to develop and deploy enterprise and Web applications. It provides a simplified developer experience and improves on the developer productivity features introduced in JavaEE 5. It breaks the āone size fits allā approach in previous releases with Profiles and offers a comprehensive Web profile for lightweight, standards-based modern Web applications.The Web profile allows developers to build web applications quickly and prevents proliferation of custom web stacks for easier maintainability.
The platform enables extensibility by embracing open source libraries and frameworks such that they are treated as first class citizens of the platform. Several specifications like Contexts & Dependency Injection, Java Server Faces 2, Java API for RESTful Services, Java Persistence API 2, and Servlets 3 make the platform more powerful. All these specifications are implemented in GlassFish Open Source Edition 3 ā a modular (OSGi based) light-weight, embeddable, extensible, and the open source reference implementation for Java EE 6. NetBeans, Eclipse, and IntelliJ provide extensive tooling for Java EE 6 and GlassFish Open Source Edition.
This tutorial session will help the attendees learn the latest APIs and develop a complete Java EE 6 application using NetBeans IDE. The attendees will understand the different tips & tricks such as code completion, templates, and wizards for a rapid application deployment. The techniques like session preservation and deploy-on-save are demonstrated to reduce the development lifecycle.
The document discusses Puppet modules and describes a holistic approach to module development. It outlines the history of developing Puppet modules at Lab42 since 2007 and describes key mantras for module development, including data separation, reusability, standardization, and interoperability. It also discusses Example42 next generation modules which aim to have a coherent, standardized structure and allow for customization, extension, and integration with tools like Puppi.
Oracle Solaris 11 - Best for Enterprise Applicationsglynnfoster
Ā
The document discusses Oracle Solaris 11 and its key technologies for deploying enterprise applications, including the Image Packaging System (IPS) and Service Management Facility (SMF). IPS provides integrated package and patch management through network repositories, while SMF enables automatic service restart and dependency management. The document provides examples of using tools like pkgsend and svcbundle to create and manage IPS packages and SMF manifests.
The document discusses Puppet modules, including what they are, best practices for structuring modules, parameters, dependencies, testing modules, and documenting modules. It provides examples of module directory structure, class structure within modules, using parameters and dynamic data, module inheritance, ordering and anchoring classes, and the Modulefile.
This document discusses how to create a Maven-like project structure on top of Gradle builds. It describes the POM and build files used by Maven and Gradle, and how plugins can be used to configure Gradle builds to mimic the standard, two-level, and multi-level project structures supported by Maven. Specific plugins are demonstrated that allow setting the file structure, applying default behaviors from a "Gradle Super POM", and defining a project DSL to configure build properties.
Drupal module development training delhiunitedwebsoft
Ā
This document provides an 11-point syllabus for an advanced Drupal module development training course. The syllabus covers: 1) Creating basic modules, 2) Using Drupal hooks, 3) Understanding entities and content types, 4) The Drupal API including menus, forms, file uploads, and database queries, 5) Debugging techniques, and 6) Building a custom ads management module from scratch. The training aims to teach real-world module development skills to intermediate Drupal developers.
The Amazing and Elegant PL/SQL Function Result CacheSteven Feuerstein
Ā
The Function Result Cache, introduced in Oracle Database 11g, offers a very elegant way to cache cross-session data and make it available via PL/SQL functions. It can have a dramatic performance impact on fetching static data (even static for just a period of time) - and it's managed automatically by Oracle Database for you!
This document summarizes the key options and methods for managing files using Puppet, including:
1. The file resource type which can specify a file's source location or content template.
2. The concat module which concatenates file fragments in a defined order.
3. The file_line resource which manages single lines in files.
4. The inifile module for managing ini-style configuration files.
5. The Augeas tool for advanced parsing and editing of complex configuration files.
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...Phase2
Ā
This document discusses best practices for development, deployment, and distributions of Drupal sites. It recommends defining different environments like development, staging, and production. It also recommends automating deployments using tools like Git, Drush, and continuous integration services. Distributions and installation profiles are discussed as a way to define dependencies and export configurations. Various development tools are also mentioned like virtual machines and Vagrant to help match local environments to production.
This document discusses how to create custom Ansible modules to extend its functionality. It provides examples of Ansible and Puppet built-in modules, and describes how to write a custom module using Python. Key steps include choosing a language, setting up the module file structure and boilerplate code, handling arguments and exceptions, and returning JSON output. The document demonstrates a simple module to look up AWS EC2 instances by tags and return their IDs.
This document provides tips and tricks for writing Ansible roles, including:
1. It recommends using 'ansible-galaxy init' to automatically generate the directory structure for a role, rather than manually creating files and folders.
2. It describes how to specify role dependencies in the metadata file and how tags and conditionals also apply to dependent roles.
3. It discusses best practices for creating cross-platform roles by using conditionals, includes, and set_facts to target tasks and variables depending on operating system.
This is the material for Tampere workshop on 14th May 2018.
How to combine modern technologies such as Java 10, Spring Boot 2, Docker, to create more lightweight and modern microservices - or any services you like.
Watch video: https://www.youtube.com/watch?v=SgmmoRCmIa4&list=PLIuWze7quVLDSxJKDj3pRSqvmHAzQ_9vd&index=6
Here is the summary of what you'll learn:
00:02:00 Welcome
00:03:32 Meet Chafik, CEO of Brainboard.co
00:05:00 Our goal at Brainboard
00:06:00 Terraform modules definition
00:20:00 Build your own modules
00:21:00 Azure
00:48:00 AWS
00:52:00 Best practices
00:56:00 Review some of the most used community modules
00:56:43 Lambda
01:00:30 AKS
01:04:00 Where to host your modules?
01:06:04 Challenges of maintaining modules within a team
01:09:00 Build your own modulesā catalog
This document provides an overview of Apache Maven, including what it is, its project lifecycle, how to configure and install it, the project object model (POM) file and its contents, dependencies, plugins, and how to create executable JAR files. Maven is a build automation tool primarily used for Java projects that describes how software is built and its dependencies. It has a default lifecycle of phases like compile, test, package. The POM file describes the project using XML.
PuppetCamp SEA 1 - Puppet Deployment at OnAppOlinData
Ā
Wai Keen Woon, CTO CDN Division OnApp Malaysia, gave an interesting overview of what the Puppet architecture at OnApp looks like. The CDN division at OnApp is a large provider of CDN services, and as such makes a very interesting candidate for a case study.
Puppet is integral to OnApp's infrastructure deployment and management. It is used to reliably configure over 200 VMs and 100+ edge servers across different environments and data centers. Key aspects include:
- Using Puppet modules and manifests to automate the installation and configuration of core utilities, services, monitoring agents, and other components.
- Integrating Puppet with tools like Jenkins, Nagios, and a MySQL database to manage packages, monitor systems, and store configuration facts.
- Employing different Puppet environments, branches, and an external node classifier to customize configurations for different deployment stages and server types.
- Organizing Puppet code, modules, and environments using a Git-based
Java 9 ships in July, are you ready for Java 9 modules? Java 9 modules (aka Project Jigsaw) is the biggest fundamental change to the Java runtime. Code that use Oracle/Sun private APIs will break. This session will cover the basics of Java 9 modules and also the current state of tooling. The ramifications to existing and legacy applications will be covered along with the steps youāll need to take to harness the power of modules and write more maintainable systems.
This document discusses strategies for managing a Drupal project across multiple environments like development, testing, and production. It recommends using source control to manage code changes, taking database snapshots to migrate data between environments, and programmatically applying administrative changes through custom modules to keep all environments in sync. This systematic approach helps ensure seamless code integration, efficient database changes, and minimal downtime when updating production.
The document discusses technical tools and organizational hints for Drupal development. It recommends setting up a LAMP stack with Apache, MySQL, PHP 5.3+, and modules like xdebug. Development tools mentioned include debugging with xdebug, using arrays and the devel module. Version control systems like Git and IDEs like NetBeans or Eclipse are suggested. Coding standards and Doxygen comments are important for the Drupal ecosystem.
Learning Puppet is hard.
But: You can use Puppet by using YAML only.
In this talk I am going to explain the YAML/Hiera based node classification and the possibility to manage systems by using YAML only.
HashiTalksDACH-Terraform-Managing training instances in the CloudMartin Alfke
Ā
Cloud automation is important. When we have a need for a training instance, we use terraform for VM provisioning.
But: each setup has slight differences (SW Versions, Number of VMs needed, ...)
We decided to build the terraform code as abstract as possible and use a per setup data based approach to provide information on numbers of VMs and deployment order.
All data are then used in combination with terraform and Puppet Bolt.
PuppetCamp2021-Testing Modules and ControlRepo.pdfMartin Alfke
Ā
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 designed specifically 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, and considerations for testing across different operating systems are discussed.
ADDO 2019 DevOps in a containerized worldMartin Alfke
Ā
"We don't do DevOps anymore, we do containers"
Are containers the death to DevOps?
Why do we still need DevOps when doing containers?
DevOps KATA ((K)Culture, Automation, Transparency, Agility)
āDocker, Docker, Docker, Docker,ā¦ā developers really love Docker. Usually one sees the no longer need for configuration management, the easy way to spin up a platform on a laptop, the low resource footprint. But how do you deploy laptops in data centers?
This talk will give you an insight how we (more Ops then Dev) started to learn (and love) containers, the issues we saw when running them in larger scale and how Ops people should start dealing with Container technologies.
PuppetConf 2016 Moving from Exec to Types and ProvidesMartin Alfke
Ā
"We want to automate this application rollout and configuration by using Puppet DSL." The task is clear, the tool is clear. But how to proceed? Installation is delivered as tarball, configuration is done by running cli commands. This talk will give an overview on how we started using commands within exec resources, the difficulties and problems that rose up, and the process of moving to Types and Providers.
The document discusses new features and changes in Puppet 4, including Puppet Server running on JVM, packaging improvements, environment configuration options, language features like lambdas and HEREDOC support, type validation, and deprecations like node inheritance and hyphens in names. It highlights four key powers of Puppet 4: performance, scalability, measurability, and flexibility in dealing with complex data types natively. Upgrading to Puppet 4 requires changes to comply with deprecations and testing to ensure compatibility.
The document discusses best practices for writing Puppet modules, including contributing to existing modules rather than working alone. It recommends starting with a public code repository, keeping modules generic through parameters, and being an active maintainer through documentation, testing, and reviewing contributions. The goal is to work smarter through open collaboration rather than reinventing solutions individually.
OpenNebula is a tool for managing virtualization servers and network interfaces to deploy and manage virtual machines (VMs) on private and public clouds. It supports various virtualization (KVM, VMware, Xen), storage (local, NFS, iSCSI, Ceph) and image (LVM, qcow2, Ceph blocks) backends. OpenNebula consists of a management node with the OpenNebula software and optional Sunstone GUI, and compute servers where VMs are deployed and run. It provides a command line interface and workflow to create networks, images, VM templates, and deploy VMs, applying contextualization and hooks.
Puppet User Group Berlin Q1 meetup:
Introduction to the new, experimental puppet parser
http://www.meetup.com/Puppet-User-Group-Berlin/events/145643562/
GlusterFS is a distributed replicated parallel file system that allows files to be striped, replicated, and distributed across servers for high performance and high availability. It has a fully distributed architecture without a metadata server and uses FUSE for mounting volumes. GlusterFS distributes data across multiple servers and can replicate files on different servers for redundancy. It uses configurable translators for storage, protocols, clustering, encryption and other features.
This document provides an overview and agenda for a Puppet workshop. Puppet is an automated system configuration management tool. The workshop agenda includes installing and initializing Puppet, creating modules for user management and Apache site configuration, using templates, and setting up reporting and a dashboard. The document explains Puppet concepts like manifests, modules, templates, and functions. It also provides examples of Puppet configuration language and directory structures for modules.