Otter Documentation

Server Roles

Server Roles help define common configuration between Servers. They model the real-world overlap of servers, and provide the visualization necessary to easily understand your infrastructure. Server roles facilitate the flexibility needed to address the complexities that modern infrastructure automation poses.

For example, you may have an iis-server role that ensures IIS is configured in a particular way, as well as an hdar-api-host role that ensures a particular web application is configured properly. Both roles can be applied to the same server so that hdar-api-host is configured on an IIS server.

Configuration plans that are associated with a server role are run before any plans for individual servers within that role.

Configuration & Drift

Just as an individual server can become Drifted, so can server roles. If any the servers in the role have configuration that differ from the desired configurations then the entire server role is considered drifted.

Server role drift is remediated in the same manner as configuration drift: either automatically, or by creating a Configuration job that targets the role and, optionally, an Environment.

When remediating server role drift, only that server role's configuration plan is executed; this gives fine-grain control over which sets of configuration you want to deploy, and when.

Multiple Server Roles Example

Let's say you have a complex, multi-tier system called HDars that's designed to scale and run across multiple servers.

  • HDars-Cloud could describe the configuration of the middle-tier, cloud-data processing components
  • HDars-Web might describe how HDars is configured in IIS for end users to use
  • IIS-server would actually ensure that IIS is installed and configured in a manner appropriate for your organization
  • HDars-database would configure the database and make sure it's running and configured to backup properly
  • Loupe-Loging would ensure that a third-party error management agent is installed

You can mix and match server roles as needed.

Server Roles in Otter

More on this topic: