Our ServerTemplate release lineage methodology is based off of two different branches. The infinity lineage branch and the LTS (long-term support) branch. The LTS methodology replaces the previous release methodology of 11H1
LTS Lifecycle Policy
An LTS release is a set of ServerTemplates and other assets such as RightScripts and recipes that are released together and will not undergo additional feature development. Updates to LTS assets will consist only of non-breaking bug fixes or other non-breaking changes. Non-breaking means that you will be able to update the assets to the latest version and your application will remain functional without any changes to input values. LTS releases are supported for 18 months after the initial release.
Versioning Example for a ServerTemplate
Note: In the example above, note that 12.11 and 12.11.0-LTS are functionally equivalent. 12.11.0-LTS is a clone of 12.11, but is on the LTS lineage. Also, 13.5.0-LTS is a clone of 13.5.
What happened to 12H1? Compatibility Releases?
The 12H1 naming scheme is superseded by this new versioning method and changed to 12.11.0-LTS.
Compatibility Releases consisted of two primary aspects:
- All assets are versioned so compatibility is clear.
- A longer term support.
The new scheme addresses the previous two aspects as well as the following two:
- From this point forward, every release will have the release-specific assets versioned so that compatibility can more easily be judged.
- The support expectation of a Compatibility Release has been transferred to the LTS term.
Each RightScale ServerTemplate is considered GA (general availability) quality unless specifically labeled “Beta”. GA quality means that it has passed our automated test suite and has undergone manual testing.
Each ServerTemplate is versioned using a 3-digit version number when it is released (see below for details). ServerTemplates that interact with other ServerTemplates (such as application servers and load balancers) should use the same version for each ServerTemplate. Using differing versions of ServerTemplates is not fully supported (though they may work). RightScripts within a ServerTemplate will also contain the version number of its corresponding release.
Understanding ServerTemplate Lineage in RightScale
Each ServerTemplate is in a lineage that starts when a ServerTemplate is created or cloned. The lineage persists across revisions of that ServerTemplate. If the ServerTemplate is cloned, a new lineage is created for the cloned ServerTemplate.
When using a ServerTemplate, if a new revision of the ServerTemplate is available in the lineage, you will be notified by a yellow sphere on the ServerTemplate page.
RightScale ServerTemplate Lineages
The infinity lineage allows a ServerTemplate to maintain its lineage for its lifetime until deprecated. For example, the Base ServerTemplate for Linux will always use the same lineage, even when major changes are applied. Releases within the infinity lineage occur at roughly 2 month increments, but may occur sooner or later depending on feature availability.
Following the infinity lineage means that you are always up to date in terms of ServerTemplate feature support. However, each release may introduce changes that could potentially break your existing application configuration, as opposed to using the LTS lineage. You must upgrade more often, but these incremental migrations mean that you never need to undertake a large migration, such as 12.11 LTS to 13.11 LTS for example. Keep in mind that detailed release notes are provided for every infinity lineage release to help migrate, and migration to the next version is never required.
Periodically (circa annually), RightScale will clone a new lineage from the infinity lineage to create a new addition to the LTS lineage. The LTS lineage provides a stable platform to develop long-running applications. The only new releases on an LTS lineage are non-breaking, bug-fixing releases. The infinity lineage is for developing new features and enhancing existing ones. The LTS release will typically not introduce new features and will be a final packaging predicated from the preceding infinity lineage releases.
If you use ServerTemplates within the LTS lineage, you are guaranteed that any updates to your ServerTemplates are non-breaking. However, you will not be able to take advantage of the latest features, cloud support, etc. that are being developed on the infinity lineage.
For future releases, detailed release notes are provided to help you migrate to the latest LTS lineage from the prior LTS lineage as well as for migration to the LTS lineage release from the latest infinity lineage release.
Lineages and Versioning
RightScale uses a 3-digit versioning scheme to help identify which lineage each ServerTemplate belongs to. Version numbers are in the form XX.YY.ZZ[-LTS] where:
- XX = the 2-digit major release number. This number is incremented in 2 cases: when an LTS release occurs or when a major architectural change occurs across the ServerTemplates.
- YY = minor release number. This number is incremented for every update to the ServerTemplates that introduces breaking changes (note: this means this number is never incremented inside of an LTS release)
- ZZ = revision number. This number applies most commonly to LTS releases and is incremented when a maintenance release is provided for an LTS asset. This number can exist for infinity releases, but is not expected to be frequently used and will not normally be shown on infinity release version numbers for the first (.0) release.
- LTS = Long Term Support indicator. This suffix is added to releases that are part of a LTS release.