Server profiles and other DevOps concepts are also invaluable in a pets service model. For example, the step of using the manage-profile generate-profile subcommand to generate a server profile from a production server creates an easily consumable representation of the server’s configuration. In nearly every scenario, the generation of a profile from an existing server is simpler than the piecing together manually of schemas, extensions, and other configuration information to create an image of that server. Additionally, generated profiles can be backed up or checked in to source control to maintain a consistent picture of an active server’s configuration.

Another valuable use of server profiles involves setting up servers in a test environment that is separate from production. For example, a profile that matches the profile of a production server can be generated and used to install a fresh test server that matches the production server. Further, variable substitution allows environmental changes, such as local host name or instance name, without requiring a separate profile. Because the server’s original configuration matches the running production server, adjustments can be tested easily. This approach provides more consistency when you validate changes before moving them to production.

If a new pet server has been set up with a server profile, manage-profile replace-profile can be used to apply changes to the profile. Rather than using scripts or a manual process to apply individual changes, replace-profile provides a consistent, repeatable method of moving to a new server profile. This strategy automates more easily and is less prone to human error.

For more information about the manage-profile tool, see About the manage-profile tool.