0

Azure classic Cloud Services come with a built-in load balancer that allows a fast VIP swap from production to staging, and vice versa. What equivalent is provided by Azure Resource Manager? I can use DNS, but then I have the TTL delay.

I want the fast swap because my back-end servers are stateful and cannot process the same data in both staging and production without overwriting each other. In my current system, out-of-date connections (e.g. because of HTTP keep-alive) are rejected and a reload is forced, forcing fresh connections.

I guess I might be able to do it using Azure Application Gateway, but it is not listed as one of its features.

Jason Ye
  • 13,710
  • 2
  • 16
  • 25
Oliver Bock
  • 4,829
  • 5
  • 38
  • 62
  • 1
    Use deployment slots: https://learn.microsoft.com/en-us/azure/app-service-web/web-sites-staged-publishing – Gavin Stevens Jan 04 '17 at 05:42
  • Thanks, @GavinStevens. Then I can recast my web role as a Web App and use App Service swapping. My worker role could be recast as a collection of VMs, which would be set up for (and bound to) each Web App deployment. – Oliver Bock Jan 05 '17 at 00:50
  • Base on my understanding, just classic could service is supported in the new azure portal currently. Do you want to do VIP swap with REST API, If yes. please have a try to use ASM [Swap deployment API](https://msdn.microsoft.com/en-us/library/azure/ee460814.aspx). – Tom Sun - MSFT Jan 17 '17 at 09:23

2 Answers2

1

You can do VIP swap in ARM with 2 Azure load balancers by disassociating the public IPs, then reassigning them. It's not a fast deployment slot swap like you can do with cloud services however, as can take a minute to disassociate both IP addresses (you could speed this up by doing it in parallel), and based on your question you've already looked at this approach, but documenting it here as an option. There are some notes on this approach here: https://msftstack.wordpress.com/2017/02/24/vip-swap-blue-green-deployment-in-azure-resource-manager/

sendmarsh
  • 1,046
  • 7
  • 11
0

In Azure resource manager, there are three ways, Azure Load Balancer(layer 4), Application Gateway(layer 7) and Traffic Manager(DNS level). I think you can use Load Balancer in you scenario. The following table helps understanding the difference between Load Balancer and Application Gateway: enter image description here

Jason Ye
  • 13,710
  • 2
  • 16
  • 25
  • What does that have to do with the question of using a VIP swap? Just use a deployment slot and do a swap? Unless I mis-understood the question – Gavin Stevens Jan 04 '17 at 05:43
  • @GavinStevens as far as I know, in Azure ASM module, the Cloud Service have a VIP by default, this IP NAT to the back-end servers, – Jason Ye Jan 04 '17 at 05:56
  • 1
    The question was simply: Azure classic Cloud Services come with a built-in load balancer that allows a fast VIP swap from production to staging, and vice versa. What equivalent is provided by Azure Resource Manager? I guess the question is - "in what context is the app now running if not a classic Cloud service?" Web App , Api App, etc ? The answer to that determines what options are available for VIP swapping. – Gavin Stevens Jan 04 '17 at 06:04