From this article:
- keep two copies of your production environment (blue and green)
- Route all traffic to a blue environment by matching production URLs
- Deploy and test any changes to the application in a green environment.
- flip the switch by matching the URLs to green and unchecking them from blue.
In fact, it is not so difficult if you have the equipment and a good deployment process. If you set up your security mechanisms so that the user does not need to start a new session in a blue environment, the pain is almost entirely related to providing and ensures that the blue environment is in perfect condition as you want it to be. After that, you just need to go into the load balancing configuration and flip the settings to indicate the blue environment.
But once you have green and blue, you can flip back and forth. Ideally, as soon as blue is checked, immediately refresh the green color. Also, make sure that you are using database operations between two environments, so green can also be backup for blue if blue is not working.
Of course, my experience of planning and assisting with this was at Hadoop, where you often have a formal pipe for receiving data that can be easily configured to feed all new data into two completely separate environments.
source share