Chapter 5. General Infrastructure Services

The previous chapters described tools to provide, provision, and configure core infrastructure resources: compute, networking, and storage. These provide the basic building blocks for infrastructure as code. However, most infrastructures will need a variety of other supporting services and tools.

A comprehensive list of these services and tools would be ridiculously large and would probably go out of date before I could finish typing it. Some are needed for the infrastructure itself to function—for example, DNS and monitoring. Others, such as message queues and databases, are required for at least some applications.

The purpose of this chapter isn’t to list or explain these services and tools. Instead, it is intended to explain how they should work in the context of a dynamic infrastructure managed as code. This is the subject of the first section of this chapter.

Four key services are then used to illustrate these considerations and because they are particularly valuable in this kind of environment. The services and tools addressed are monitoring, service discovery, distributed process management, and software deployment.

Considerations for Infrastructure Services and Tools

The goals for any service or system that is involved in managing infrastructure are the same as those described for the infrastructure platform, definition tool, and server configuration tool in previous chapters.

The principles of infrastructure as code for services ...

Get Infrastructure as Code now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.