IBM's James Thomas shows you how to deploy applications into IBM Bluemix without the end-user having to suffer any downtime. Using the "Blue Green" deployment pattern we can stage multiple versions of an application and use HTTP routing to control the version users see. IBM Bluemix makes using this deployment pattern trivial for your application.
DevOps development in Bluemix calls for frequent updates to a running website. An obvious requirement, but how is it implemented? Allan Fowler has published a software pattern that explains how it is done: BlueGreenDeployment.
Fowler writes: One of the challenges with automating deployment is the cut-over itself, taking software from the final stage of testing to live production. You usually need to do this quickly in order to minimize downtime. The blue-green deployment approach does this by ensuring you have two production environments, as identical as possible. At any time one of them, let's say blue for the example, is live. As you prepare a new release of your software you do your final stage of testing in the green environment. Once the software is working in the green environment, you switch the router so that all incoming requests go to the green environment - the blue one is now idle.
So BlueGreen deployment solves the problem of downtime, by instantly switching from the live "Blue" environmet to a new "Green" environment. But it must also be ale to handle the reverse problem of what to do if the newly deployed Green environment turns out to be buggy. And in this case we must be able to go back from the newly deployed and now live "Green" environment to the previous "Blue" environment.
Jeff Sloyer describes in his very good blogpost Zero Downtime Deployments with Bluemix how to do BlueGreenDeployment in Bluemix today.
More information on the IBM Bluemix site: Blue-Green deployments ,as well as on this link: A script is available to assist in blue-green deployments and Zero Downtime Deployments Using IBM Bluemix.
James Humble and David Farley has written an important book about Continuous Delivery
Any questions just comment on this blogpost.