Friday, May 28, 2010

Side By Side Deployment for Applications

Why do we need "Side By Side Deployment" ?
In the past there has to be a downtime when a application needs to be deployed or a new version of the same application needs to be deployed.

Today application downtime has become zero. Zero downtime can be achieved in various ways. Oracle Weblogic Server provides a neat mechanism of deploying the new version of application without affecting the existing version of application and existing user sessions. At the same time it makes sure that once all the user sessions end (or after a specified timeout period) old version of application is retired automatically.

Once new version of application is deployed using "Side By Side Deployment" mechanism, all new user requests will be served by the new version of the application.

Prerequisite to deploy the application using "Side By Side Deployment" mechanism is that the previously deployed application has to be versioned. If previously deployed application is not versioned then the new application cannot be deployed using "Side By Side Deployment" mechanism. If attempted, it will throw weblogic.management.ManagementException: [Deployer:149081]You cannot deploy application, '[Your-App-Name]', with version '[App-Version]'. The application was previously deployed without version.

To version an application, the attribute "Weblogic-Application-Version: x.xx" should be present in manifest file.

Once the new version of application is deployed successfully and all user sessions requesting old version of application is closed, the old version of application will go into "Retired" state automatically. An application which is in "Retired" state can be made "Active" by clicking the "Start - Serving All Requests". If old version of application is made active, the new version of application will go into "Retired" state, provided all the user sessions requesting new application is closed.

Applications in "Retired" state has to be manually undeployed.

No comments: