Managing application services in multiple environments

What’s the recommended way of managing services across multiple environments?

We have several cloud environments that act with a high degree of isolation.

We also have different expectations regarding what’s acceptable, with standards getting stricter when getting closer to Production environment.

As usual we have application services deployed to many of these environment following a promotion mechanism.

In the past we created services using a template to as to be able to easily identify which environment we are looking at, e.g.: “Production - Notification Service”.

As the number of services and environments grow the list grows unwieldy fast.

Since there seems to be no first-class mechanism to separating environments, are there any recommendations or guidelines regarding how to be able to reason about environments?

Hi Javier,

As you deploy more specialized services to accommodate the increasing complexity of your applications, an approach you can take is to organize your technical services in a grid of Business Services that resembles your actual infrastructure (see Service Dependencies). This way it becomes easier to assess the impact of a particular service on your different environment stacks.

Sending Change Events about deploys, build completion, and configuration updates, among others, to PagerDuty can also be useful when triaging incidents and establishing a correlation between components of your stack that may not be evidently related at a first glance.

Finally, be sure to set your Service Standards to ensure that each service is operational and complies with your configuration criteria.

I hope this helps.

Cheers,

Luke S.
Technical Support Specialist
PagerDuty Support Team