Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: moving ALB #144

Open
katcipis opened this issue Aug 2, 2017 · 3 comments
Open

feature: moving ALB #144

katcipis opened this issue Aug 2, 2017 · 3 comments

Comments

@katcipis
Copy link
Contributor

katcipis commented Aug 2, 2017

I was thinking about how to perform blue/green updates that works well with two scenarios that I know we have:

  • the entire old resource group will be removed after update
  • the same resource group will be used, with the old and new cluster inside

So, I thought on something like this:

azure_alb_move(src_resgroup, albname, dst_resgroup, vms_pattern)

The high level steps is:

  • Collect all vms that are currently on the alb
  • Add all vms from $dst_resgroup that matches the given $vms_pattern
  • Remove old vms from alb
  • If $src_resgroup != $dst_resgroup, move alb from src to dst, otherwise do nothing

This way it seems like a good building block for blue/green updates (nothing will be actually removed).

Performing a transition:

azure_alb_move("sourcegroup", "myalb", "destinygroup", "newvms*")

Ooops something went wrong, going back:

azure_alb_move("destinygroup", "myalb", "sourcegroup", "oldvms*")

When using the same resource group it is important to be able to differentiate between different clusters of VMs using a pattern (disambiguation)

@lborguetti
Copy link
Contributor

What do you think about keep ALB in another resource group?

This way is more easy, you need remove the backendpool from VMs in old resource group and add to VM's in new resource group.

Example:

Deploy your green resource:

https://www.trendmicro.com/azure/wp-content/uploads/2016/11/Picture-2-1.png

Destroy your blue resource:

https://www.trendmicro.com/azure/wp-content/uploads/2016/11/Picture-3.png

@katcipis
Copy link
Contributor Author

katcipis commented Aug 2, 2017

I would have a resgroup just for the ALB and instead of just one resgroup per env we would have always two. People are usually working that way on Azure ?

@tiago4orion @vitorarins what u guys think ?

@vitorarins
Copy link
Contributor

Collect all vms that are currently on the alb
Add all vms from $dst_resgroup that matches the given $vms_pattern

I am not sure I understand. If we are going to collect all the vms that are in the ALB why do we need the vms pattern?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants