As more and more consumers turn to the Internet to browse and make purchases, the availability of e-commerce sites have been as important as ever. Spanning across many geographies, an hour that an e-commerce site is unavailable for maintenance or updates equates to hundreds or even thousands of dollars of potentially lost revenue. E-commerce sites powered by WebSphere Commerce already have an automated way of applying maintenance with minimal downtime using the roll out update. However, this method may not necessarily meet the requirements for all the WebSphere Commerce environments.
This article describes an alternative, albeit, manual way of achieving minimal downtime. This method also provides more control over what happens to the cluster during the update. Administrators looking for the above should refer to the rest of this article as a guide. We will apply a fix pack on a WebSphere Commerce cluster with three nodes as an example.
- Ensure your WebSphere Commerce application is correctly federated and clustered on two or more nodes.
- Test the method described on a test environment that reasonably emulates your production environment.
- Ensure your customizations are properly deployed. Improper deployment can result in loss of data.
- Ensure no other EAR update operations are running during the procedure and disable any scheduled jobs that perform EAR update operations.
For illustration purposes, assume that you have the application server cluster topology shown in Figure 1. If you have more nodes than illustrated, you can group multiple nodes together to conform to the diagram. In general, database updates occur before the cluster is updated. However, this highly depends on the interdependencies between the database and application updates. To cover transient states that the cluster experiences, perform testing to uncover any issues when the database update is present in the cluster while the application update is not and vice versa.
Tip: If you are trying to perform an update within a specific maintenance window, you can apply WebSphere Commerce fix packages to the WebSphere Commerce product before the update. Updates to the WebSphere Commerce product do not affect the WebSphere Commerce application.
Figure 1. Sample cluster to update
To proceed with the update, perform the following steps:
- Shut down the node agent on N2. The servers on N2 will continue to serve the application.
- Shut down the servers on N1 and N3 so that they stop receiving traffic.
- Perform the fix package update on N1, the node with WebSphere Commerce, in preparation of updating the Deployment Manager.
- Deploy the updates to the Deployment Manager following the usual update methodology. In the case of WebSphere Commerce fix packages, this is through the use of the Update installer from where WebSphere Commerce is installed.
- Perform a file synchronization from the Deployment Manager to the servers on N1 and N3.
- Shut down the servers on N2 to ensure it stops receiving traffic.
- Start the servers on N1 and N3 to start serving traffic with the update.
- Start the node agent on N2.
- Perform a file synchronization to the servers on N2.
- Start the servers on N2 to also start serving traffic with the update.
Note: Instead of shutting down the node agent on N2, you can disable the automatic file synchronization from the Deployment Manager instead.
The use of LoadBalanceWeight="0" in the
plugin-cfg.xml can help to drain traffic from specific servers as they are
being stopped. For other methods, see Tip: Minimizing outages when deploying code customization to
clustered WebSphere Commerce V7 instances.
This article outlined a method to update a multi-node cluster with minimal downtime by manipulating the node agents and controlling them when the file synchronization occurs. Depending on your environment and requirements, this is one of several methods of updating your clustered WebSphere Commerce application.
The author would like to thank Jitendra Gupta, David Yuan, and Andres Voldman for their help and comments with this article. Thanks to Chuan Jie Zheng for setting up a cluster and testing the steps described in this article.
Learn
-
WebSphere Commerce Information Center: Using the roll out update
process for installing interim fixes
-
Tip: Minimizing outages when deploying code customization to
clustered WebSphere Commerce V7 instances
-
WebSphere Commerce V7 Information Center
-
developerWorks WebSphere Commerce zone
Discuss

Keith Chan is a Software Developer and the Team Lead of the Install team for WebSphere Commerce at the IBM Toronto Lab, Canada. He oversees and contributes to the installation of WebSphere Commerce as well as the application of fix packages. His work in the deployment of fixes and updates has provided him with insight on ways customers can minimize their downtime while updating their WebSphere Commerce applications.




