Rolling upgrades pose varying degrees of difficulty depending on the magnitude of changes between the two application versions.
If the changes are superficial, for example, changes to static text and images, the two versions of the application are compatible and can both run at once in the same cluster.
Compatible applications must:
Use the same session information
Use compatible database schemas
Have generally compatible application-level business logic
Use the same physical data source
You can perform a rolling upgrade of a compatible application in either a single cluster or multiple clusters. For more information, see Upgrading In a Single Cluster.
If the two versions of an application do not meet all the above criteria, then the applications are considered incompatible. Executing incompatible versions of an application in one cluster can corrupt application data and cause session failover to not function correctly. The problems depend on the type and extent of the incompatibility. It is good practice to upgrade an incompatible application by creating a “shadow cluster” to which to deploy the new version and slowly quiesce the old cluster and application. For more information, see Upgrading Incompatible Applications.
The application developer and administrator are the best people to determine whether application versions are compatible. If in doubt, assume that the versions are incompatible, since this is the safest approach.