Book Image

Puppet 4.10 Beginner's Guide - Second Edition

By : John Arundel
Book Image

Puppet 4.10 Beginner's Guide - Second Edition

By: John Arundel

Overview of this book

Puppet 4.10 Beginner’s Guide, Second Edition, gets you up and running with the very latest features of Puppet 4.10, including Docker containers, Hiera data, and Amazon AWS cloud orchestration. Go from beginner to confident Puppet user with a series of clear, practical examples to help you manage every aspect of your server setup. Whether you’re a developer, a system administrator, or you are simply curious about Puppet, you’ll learn Puppet skills that you can put into practice right away. With practical steps giving you the key concepts you need, this book teaches you how to install packages and config files, create users, set up scheduled jobs, provision cloud instances, build containers, and so much more. Every example in this book deals with something real and practical that you’re likely to need in your work, and you’ll see the complete Puppet code that makes it happen, along with step-by-step instructions for what to type and what output you’ll see. All the examples are available in a GitHub repo for you to download and adapt for your own server setup.
Table of Contents (20 chapters)
Puppet 4.10 Beginner's Guide Second Edition
About the Author
About the Reviewer
Customer Feedback

Understanding containers

Although the technology behind containers is at least 30 years old, it's only in the last few years that containers have really taken off (to mix a metaphor). This is largely thanks to the rise of Docker, a software platform which makes it easier to create and manage containers.

The deployment problem

The problem that Docker solves is principally one of software deployment; that is, making it possible to install and run your software in a wide variety of environments with minimal effort. Let's take a typical PHP web application, for example. To run the application, you need at least the following to be present on a node:

  • PHP source code

  • PHP interpreter

  • PHP's associated dependencies and libraries

  • PHP modules required by your application

  • Compiler and build tools for building native binaries for PHP modules

  • Web server (for example, Apache)

  • Module for serving PHP apps (for example, mod_php)

  • Config files for your application

  • User to run the application

  • Directories for things such...