.netazurecloudazure-web-rolesazure-configuration

Windows Azure, addressing instances and sticky sessions


For a proof of concept paper, I collected facts about Windows Azure. There are 2 topics remaining I could not find a definitive answer for.

  1. Sticky sessions/sticky load balancing is not possible, am I right? Maybe there is a possibility with the help of Azure traffic Manager (WATM)?

  2. Can single instances of a deployment be addressed, or are they all behind this non-transparent wall of Azure? Or at least, can an instance at runtime determine its own id or something like that in order to write it into a log?


Solution

  • Please find the answers bellow:

    1. Sticky sessions/sticky load balancing is not possible, am I right? Maybe there is a possibility with the help of Azure traffic Manager (WATM)?

    You are correct. There no sticky sessions with Windows Azure. And no, you cannot use Traffic Manager to help you about stickiness. Traffic Manager will only help you distribute load across Roles, not instances. Please do make a difference between Role and Instance. Take a look at this question for more info on Roles and Instances.

    2. Can single instances of a deployment be addressed, or are they all behind this non-transparent wall of Azure? Or at least, can an instance at runtime determine its own id or something like that in order to write it into a log?

    You cannot address a specific instance. All are behind Windows Azure Load Balancers and FireWall. But you can discover, from the code, which is your current role instance. Use the CurrentRoleInstance property of RoleEnvironment class. This will be an object of type RoleInstance, which has an ID property.