Automate IT and infrastructure, manage complex workflows, and mitigate risk at scale.
Try the full-featured Puppet Enterprise for free on 10 nodes.
Find and prevent compliance failures
Continuous Delivery for Puppet Enterprise
Build, test, and deploy infrastructure as code faster and easier
Compliance Enforcement Modules
Remediate to stay in compliance
Content & Modules
Pre-built scripts to automate common tasks
Get Puppet Enterprise
First 10 nodes are free!
Try it now
Request a demo
Find thousands of component modules built by the community and guidance on using them in your own infrastructure.
Visit Puppet Forge >>
Open Source Puppet
Perfect for individuals and small infrastructure
Automate tasks in orchestration workflows
See all open source projects >>
Contribute to open source projects >>
Get a complete overview of configuration management, including:
Configuration management helps organizations remain in a desired state without needing to manually track every change made. It helps organizations configure, maintain, correct, and ensure that computer systems and hardware remain in a desired state — without needing to track every change manually.
Once the desired state is determined, a configuration management tool can monitor for changes, detect deviations, and correct those deviations (either automatically or after alerting the IT team). It ensures that the environment remains stable and prevents changes from going unnoticed and then becoming a bigger problem.
You want your environment to keep running in a desired state. Configuration management helps you do that.
The configuration management process can take many forms. It can be as simple as a build checklist or document for administrators to follow, or a highly automated process that integrates provisioning, change management, reporting, and other control processes.
While very small businesses may be able to use a manual process, larger organizations and enterprises usually require an automated approach.
An automated configuration management process can include:
Configuration management is essential for software development because it creates a consistent and predictable development environment.
It ensures that software development and infrastructure deployment control processes follow required compliance frameworks, enforce consistency and stability throughout on-premise and cloud-native environments, and reinforce security through application of self-healing infrastructure as code.
In short, configuration management ensures that misconfigurations don’t go unnoticed and prevents them from creating problems across the environment.
At a broader level, it enables automation that supports continuous compliance. It empowers IT teams to determine the ideal configuration across the environment, prevents unauthorized changes, catches deviations, and corrects the system back to desired state (often with self-healing capabilities, depending on the configuration management tool).
Without configuration management, environments can fall into chaos and disorder, with variant configurations on different computer systems. Consistency matters, especially across enterprises, so that changes can be made efficiently at scale. Configuration management enables organizations to facilitate continuous delivery, streamline updates and upgrades, and improve stability across environments.
Configuration management starts with defining the desired state of your environment. Once you understand and codify the components that make up the computer systems in your organization, configuration management can help you establish and maintain that desired state across environments.
The best configuration management processes result in systems that share as much commonality as possible, require as little bespoke work as feasible, and comply with all applicable internal and external compliance requirements.
As mentioned, manually handling configuration management processes isn’t realistic for larger organizations. A configuration management tool, like Puppet Enterprise, makes this an automated process that frees IT to focus on other priorities. No more 2 a.m. alerts!
There are several factors to consider when selecting a configuration management tool. Provisioning, monitoring, cataloging, continuous delivery, and reporting are all IT infrastructure lifecycle components that should integrate with configuration management.
The tools should also offer the flexibility to both manage systems on an ongoing basis and perform ad hoc administrative actions when required. They should also allow systems to be self-healing to enable continuous compliance.
A configuration management tool should enable you to:
Here’s how to get started with configuration management:
Puppet offers several ways to get started with configuration management. The Puppet Forge has more than 7,000 ready-to-use modules to help install software, maintain websites, run databases, manage operating system parameters, and thousands of other tasks.
Puppet also offers free training options including instructor-led classes, web-based labs, and self-contained virtual environments to safely explore how Puppet can help you move from configuration management to configuration excellence.
START MY TRIAL