Wednesday, April 02, 2014

Puppet Enterprise

Richard McCluskey – devOps at Millennial Media

Millennial Media are using Puppet to manage their ad serving Platform.

Enterprise is better for managing large numbers of nodes. You can also vary variables across different data centers.

Kick start give a machine name and it phones home to puppet master. Theater sends modules based on server name and location.

Self registration with host certificates.

Puppet is used for any software that requires configuration.

Use mcollective to do bulk changes using Regex based on host name.

Mcollective is an orchestration solution.

Ansible is used to create an ordered state. Puppet doesn’t allow an easy ordered sequencing of configuration.

Use spacewalk to deploy modules that don’t require configuration. Eg. Rpm’s, JDK.

Puppet’s declarative language makes for standardized code. Ie. Not subject to developer scripting styles. This is a good thing when you have staff turnover – which is not unusual in the devOps environment.

Greg Kitson – puppet labs engineer

How do we take servers from being pets to become disposable. That is what Puppet does.

Puppet natively internalizes service ordering.

Node wakes and compile facts about themselves.

Request from puppet master

Gets a catalog for configuration

Generates a report to send back to master of config changes.

Puppet master provides reporting, security, workflows, GUI and the core content.

Puppet also has a marketplace to use pre-configured content.

Puppet is Ruby based and uses PostgreSQL.

Enterprise provides:
-GUI console
- remote control
- resource browsing
- cloud provisioning and VMware support

Puppet is open source and has a free community version.

Puppet is modular.
Functionality can be easily added.

Modules are reusable.

Facter is for setting and managing variables

Hiera stores configuration data separately from puppet code. Eg. Your yaml file

Easier to promote code between environments with cleaner code.

razor is new for bare metal provisioning. Making them as easy to configure as vm’s.

Puppet forge is the marketplace for modules.

Modules are available to manage devices eg. F5, switches, load balancers.

Everything communicating with puppet master is built on OpenSSL so traffic is secured and encrypted.

Puppet Enterprise can be downloaded and tested from the puppet labs web site.

via WordPress