Algorithm for performing a rollout
The algorithm for performing a rollout to a new edition has operational implications on your environment. The installation and distribution of an application edition is separate from its activation.
Two basic patterns exist for interruption-free replacement: group rollout or atomic rollout. The steps that occur to perform a rollout to a new edition vary depending on which of these options you choose.
Group rollout
When you choose to perform a group rollout, the rollout occurs across the clusters in groups of servers. The following steps occur for each server:
- Quiesce work to the server.
- Stop the application or stop the server.
- Update the server configuration.
- Restart the application or the server.
- The server is ready with the new edition.
Atomic rollout
Before you perform an atomic rollout, determine the load capability of the target server cluster. Performing an atomic rollout activates the new edition on half of the cluster first, but requests are not routed to the half with the new edition until the full update is complete. During the update of the first half, requests continue to flow to the second half on the original edition. During the update on the second half, requests are queued or delayed until the update is complete. While the first half of the cluster is taken offline and updated, application requests are routed to the second half of the cluster. Verify that half the cluster can handle the entire load during the rollout period.
When you choose to perform an atomic rollout, the following steps occur:
- Quiesce work to half of the servers.
- Stop the applications or servers in the first half of the cluster.
- Update the server configurations.
- Start the applications or servers in the first half of the cluster, but they remain offline until rollout completes.
- Quiesce work to the second half of the cluster.
- Queue or delay requests until the rollout is complete.
- On the second half of the cluster, stop the applications or servers, update the server configurations, and start the applications or servers.
- Rollout is complete and the cluster is brought back online.
Default rollout settings
- Group rollout:
- rollout strategy = group, group size = 1
- reset strategy = application
- drainage interval = 30 seconds
- Atomic rollout:
- rollout strategy = atomic
- reset strategy = application
- drainage interval = 30 seconds
Scripting interface rollout options
- Rollout strategy: Specifies the rollout method, either
groups of nodes updated serially or the divide-and-swap atomic strategy.
- Group: Specifies that the target cluster is divided into groups for rollout. Group rollout is most effective when your cluster is large. You can specify the group size with a sub-option. The group size gives the number of nodes to process at a time. The default is 1.
- Atomic: Specifies that only one edition of the application can serve requests during the rollout period. This specification takes half of the application server cluster offline as it is updated, and then the second half is also taken offline as it is updated. Application requests that arrive while both halves of the cluster are offline are queued or delayed by the on demand router (ODR).
- Reset strategy: Specifies whether to recycle, for example,
stop and restart, the application or the entire application server.
- Application: Activates the new edition in each application server by recycling the application. The application server continues to run.
- Server: Activates the new edition in each application server by recycling the server itself. This option is necessary if you need to refresh connectors, native libraries, or reset the Java™ virtual machine.
- Drainage interval: Specifies the amount of time to wait for processing requests to complete before the application or application server is stopped. The default is 30 seconds.