Infrastructure Management Software in your Data Center
The last few years have seen a big change sweep through data centers across the country. The emergence of infrastructure management software like Chef, SaltStack, Puppet, and Ansible have transformed how data centers are managed. Activities that were previously time-intensive, such as boostrapping servers, configuring applications, and managing security, have become easily-automatable activities. This change means that the modern data center can be more flexible and responsive to changing requirements than data centers of the past, unlocking even more of the hardware’s value.
How does infrastructure management software work? To understand what these tools are and why they are valuable, let’s consider the example of Chef managing a data center with ten servers:
- Each individual server will need to have a copy of the Chef client. This client will need root permissions, as it will in theory need to be able to modify anything on the server.
- There will be a central server which serves as the single source of truth for your Chef code, and which will also keep track of and communicate with the ten client servers.
- Finally, you or your system administrator will have their own workstation, where they will interact with the central server to manage the entire data center.
Chef is based on the concept of a “recipe,” which is a file defining a sequence of “resources” (files to be created, services to be started, packages to be installed, etc). A recipe defines a “state of affairs” that you want your servers to be brought into. The central chef server will distribute these recipes (often organized into “cookbooks”) to the ten servers in your data center, at which point the chef clients installed on each server will run the recipes to bring the server into the correct state.
The key insight of these products is that infrastructure can — and perhaps should — be defined as code. Firewall settings, web server configurations, users and passwords and so on, can all be kept as code, which Chef (or a similar product) will then use to bring the server into the correct state. This code can be shared, versioned, and distributed just like any other code, making infrastructure management a much more predictable, reliable, and collaborative part of any technology enterprise.
If your data center is still being administered manually, you should strongly consider exploring what these products can do for you. They are quickly becoming standard tools among software developers, giving developers and administrators greater visibility and control, easing data center management and software development in general.
Comments are closed