Free Sample
+ Collection

Extending Puppet

Alessandro Franceschi

Design, manage, and deploy your Puppet architecture with the help of real-world scenarios.
RRP $16.99
RRP $27.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781783981441
Paperback328 pages

About This Book

  • Plan, test, and execute your Puppet deployments
  • Write reusable and maintainable Puppet code
  • Handle challenges that might arise in upcoming versions of Puppet
  • Explore the Puppet ecosystem in-depth, through a hands-on, example driven approach

Who This Book Is For

This book is designed for users who already have good experience with Puppet, and will surprise experienced users with innovative topics that explore how to design, implement, adapt, and deploy a Puppet architecture. The key to extending Puppet is the development of types and providers, for which you must be familiar with Ruby.

Table of Contents

Chapter 1: Puppet Essentials
The Puppet ecosystem
Puppet components
Installation and configuration
Puppet in action
Chapter 2: Hiera
Installing and configuring Hiera
Working with the command line on a YAML backend
Using Hiera in Puppet
Additional Hiera backends
Using Hiera as an ENC
Chapter 3: PuppetDB
Installation and configuration
The PuppetDB API
Querying PuppetDB for fun and profit
The puppetdbquery module
How Puppet code may change in the future
Chapter 4: Designing Puppet Architectures
The components of Puppet architecture
The Foreman
Roles and profiles
The data and the code
Sample architectures
Chapter 5: Using and Writing Reusable Modules
The evolution of modules' layouts
The parameters dilemma
Reusability patterns
Chapter 6: Higher Abstraction Modules
Understanding the need for higher abstractions
The OpenStack example
An approach to reusable stack modules
Chapter 7: Deploying and Migrating Puppet
Examining the potential scenarios and approaches
Patterns for extending Puppet coverage
Things change
Chapter 8: Code Workflow Management
Writing the Puppet code
Git workflows
Code review
Testing the Puppet code
Deploying the Puppet code
Propagating Puppet changes
Puppet Continuous Integration tools
Chapter 9: Scaling Puppet Infrastructures
Scaling Puppet
Scaling stored configs
Measuring performance
Chapter 10: Writing Puppet Plugins
Anatomy of a Puppet run, under the hood
Custom report handlers
Custom faces
Chapter 11: Beyond the System
Puppet on a network equipment
Puppet for cloud and virtualization
Puppet on storage devices
Chapter 12: Future Puppet
Introducing the future parser
Other new features
Improved error system
Data in modules
Facter 2

What You Will Learn

  • Use Puppet to manage network, cloud, and virtualization devices
  • Become a Hiera and PuppetDB power user
  • Study the different approaches to Puppet architecture design
  • Master the art of writing and maintaining reusable modules
  • Explore strategies and patterns on how to introduce Puppet automation
  • Manage and test a Puppet code workflow
  • Design scalable Puppet infrastructures

In Detail

Puppet has changed the way we manage our systems, but Puppet itself is changing and evolving, as are the ways in which we use it.

A clear, updated, practical, and focused view of the current state of the technology and the evolution of Puppet is what we need to tackle our IT infrastructure challenges and avoid common errors when designing our architectures.

This is a detailed, practical book that covers the different components of the Puppet ecosystem and explores how to use them to deploy and manage different kinds of IT infrastructures.

Updated with the most recent trends and best practices, this book gives you a clear view on how to "connect the dots" and expands your understanding to successfully use and extend Puppet.


Read More