Support for Sticky IP Load Balancing
Many applications still use non-persisted session-cookies to track user sessions -- default behavior in most web application servers. So it is not possible to use DNS round-robin load balancing without changing the application session management logic. This makes it more difficult to migrate to Azure.
Can you enable sticky IP load balancing for Azure VMs? You may get more application migrate to a azure without much re-engineering effort.
This can already be achieved with Load Balancer using source IP affinity or with Application Gateway and cookie based affinity.
Azure Application Gateway
As an example:
Set-AzureLoadBalancedEndpoint -ServiceName "Contoso-CS1" -LBSetName "WebGwHttpsLbSet" -Protocol tcp -LocalPort 443 –ProbeProtocolTCP -ProbePort 443 -LoadBalancerDistribution "sourceIP"
I suggest to support "application cookie controlled" sticky sessions like AWS does.
Bartek Moczulski commented
For cookie or IP based session persistence have a look at certified 3rd party WAF in Azure Gallery.
Martin Enzelsberger commented
"Custom" Load Balancing is also relevant for Cloud Services, not just Virtual Machines. There are many scenarios where Role Instance have to perform very resource intensive tasks (load huge amounts of data, perform heavy calculations, ...) whose results can be re-used for clients with similar requests.
Another application would be real-time communication services, where groups of clients should be routed to the same instance (because they access the same data, communicate with one another, etc)
Moved to the Virtual Machines forum, since the suggestion appears to be focused on the Windows Azure Virtual Machines service.