Wayne
Wayne

Reputation: 59

Azure Detect Staging vs Production

Is there a way to detect if a worker role is in staging or production.

I want to do this to supress functionality in the staged environment until it is swapped to production and then suppress the same functionality in the "de-productioned" version.

The stagged environemnt only exists so that the new version can be pre uploaded to ensure that the swap over is ontime and with zero downtime, the previous version is then stopped while additional QA is performened and then deleted.

Thanks

Wayne

Upvotes: 5

Views: 4208

Answers (2)

Marcus Pope
Marcus Pope

Reputation: 2293

The windows azure sdk for node will give you the information you are looking for - https://github.com/WindowsAzure/azure-sdk-for-node

Specifically - azure.RoleEnvironment.getCurrentRoleInstance or azure.RoleEnvironment.getRoles should give you the information necessary to trigger functionality.

And in case anyone needs to distinguish between Azure Cloud / Azure Emulator, the emulator configures an EMULATED environment variable accessible from process.env when run under the azure emulator. Which is also helpful if you are trying to distinguish between the emulator and the built-in node server.

Upvotes: 0

Gaurav Mantri
Gaurav Mantri

Reputation: 136196

You can do so by using Service Management REST API calls. What you can do is get the properties of the hosted service (http://msdn.microsoft.com/en-us/library/ee460806.aspx) with embed-details=true query parameter. This will give you details about the hosted service deployments. What you're interested in is "" node under deployment which will give you your deployment id. You can compare this with the deployment id you get from RoleEnvironment class (http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment_members.aspx) and using both of them you can find out if your deployment is running in staging or production slot.

Hope this helps.

Upvotes: 2

Related Questions