When you talk about your infrastructure, you need to categorize it into layers.
At the highest level, hosts are grouped by the
An environment is a collection of hosts that provide a service for either internal customers or external customers—for example, development, staging, and production.
Location is where the hosts are running physically. Location breaks down into region and region into datacenters.
Your infrastructure dictates how these layers are defined. Environment and location can be used interchangeably.
For example, the environment might be referred to as
DC-Prod. You might also leverage all the layers and describe your infrastructure as:
- US-East-1 (region)
- US-East-1-DC-1 (datacenter)
- US-East-1-DC-1-Dev (environment)
Hosts are further categorized by function. The function also has multiple layers. At the top, it describes the general purpose of the host—for example:
- Web server
- Database server
- Cache server
As your infrastructure grows, function further breaks down into specific functions. Refer to a specific web server group as the onboarding web servers or the login portal web servers.
Creating groups and group variables in an inventory
Even within the simple inventory, it is necessary group hosts. After adding the Windows and Linux hosts to the
hosts file, you can no longer run the ping playbooks without targeting a specific host.
Grouping the hosts into Linux and Windows solves this problem. Groups are defined within an
INI inventory by placing square brackets around the group name and listing the hosts underneath.