1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/deployments-n1-compatibility.adoc
Max Bridges b5fc467d1f add content types to untagged modules
OSDOCS-16694
2025-10-31 21:02:28 -04:00

28 lines
1.2 KiB
Plaintext

// Module included in the following assemblies:
//
// * applications/deployments/route-based-deployment-strategies.adoc
:_mod-docs-content-type: CONCEPT
[id="deployments-n1-compatibility_{context}"]
= N-1 compatibility
Applications that have new code and old code running at the same time must be
careful to ensure that data written by the new code can be read and handled (or
gracefully ignored) by the old version of the code. This is sometimes called
_schema evolution_ and is a complex problem.
This can take many forms: data stored on disk, in a database, in a temporary
cache, or that is part of a user's browser session. While most web applications
can support rolling deployments, it is important to test and design your
application to handle it.
For some applications, the period of time that old code and new code is running
side by side is short, so bugs or some failed user transactions are acceptable.
For others, the failure pattern may result in the entire application becoming
non-functional.
One way to validate N-1 compatibility is to use an A/B deployment: run the old
code and new code at the same time in a controlled way in a test environment,
and verify that traffic that flows to the new deployment does not cause failures
in the old deployment.