Target Roles for Microservices across multiple environments


I am trying to plan out my target roles for a microservice based application. So that would be 50+ services each with dedicated database and application across 5+ environments on Azure.

  • Production.Web.AppService
  • Production.Sql.Database
  • Staging.Web.SameAppService
  • Staging.Sql.SameDatabase
    and so on.

Each one is managed through a dedicated repository on BitBucket, built through TeamCity and will have a dedicated Octopus project because I need to be able to deploy them independently of each other.

So roles such a web-server and database-server won’t work because in creating a release it will try and release to multiple targets but I am reluctant to end up with something like {AppName}.{Environment}.{Web} if you get my meaning, it feels like duplication.

I have been reading through the documentation and community but kind piece together a valid outcome. Any guidance would be gratefully received.

Kind regards,

HI Lee,

Thanks for getting in touch! I believe the method you have proposed is essentially how we would suggest doing this.

The use of the {Environment} tag may not be needed here though. You should be able to achieve this by using {AppName}.{Web}.

If you have any questions about this, or run into any issues, please don’t hesitate to let me know.

Best regards,

Hi Daniel,

Thanks for the reply, I get why the environment is not needed now, it was a great steer.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.