Skip to main content
Version: Develop

a9s Data Service Sunrise/Sunset for Major Versions

Introduction

This document describes the a9s Data Services' release policies, as well as their different release phases.

a9s Data Service Framework Maintenance and Upgrade Policy

Development of new features always takes place against the newest released version of the a9s Data Service Framework (anynines-deployment release). The same applies to bug fixes and patch-level updates to our a9s Data Service automation, vendor software, supporting framework components and runtimes; like Ruby or Java.

In general, critical bug fixes and security-relevant patches are not backported to previous (major) releases of anynines-deployment. Instead, our support team will provide, on-demand, hotfixes that can be applied by the customer on previous major releases of anynines-deployment.

We follow the semantic versioning specification for assigning version numbers to releases, thus upgrading to the latest minor version of that same major version is usually possible without encountering incompatible changes.

For major releases of anynines-deployment, we loosely follow a release-train model with a fixed and reliable schedule. Approximately every 4-6 weeks we release a new major version which includes all the new features, fixes and breaking changes. The schedule might be extended, thereby delaying the next planned major release delayed, only if anynines deems it necessary. For example, an unexpected delay in the completion of an important or extensive feature like a major data service update may cause a delay in the delivery of the next major releases of anynines-deployment.

Usually, minor releases are created infrequently and/or on demand only and generally include patches rather than features. For example, in the event that a highly critical security patch has to be delivered before the due date of the next planned major release, or in case a software regression occurred in the previous release.

Upgrading anynines-deployment is only possible between two consecutive major releases, e.g. from v33.1.0 to v34.0.0, but not from v28.0.0 to v34.0.0. This is due to the fact that upgrades and automated migrations are only tested against the next higher major version. While skipping a major upgrade of anynines-deployment by following the migration instructions of the related release notes is theoretically possible, this is neither recommended nor supported by anynines.

a9s Data Services Release Cycles

In general, anynines aims to support at least two supported (long-term releases) versions of a vendor software (e.g. Redis) within a9s Data Services at the same time. This allows our customers to upgrade existing a9s Data Service instances to a newer and fully supported version of the vendored software before the current version is declared end-of-life (EOL) by their vendors and thus no longer receives bug fixes or security patches.

In consequence, the release cycle and EOL policy of a9s Data Services is mainly determined by the release cycle of the vendor software. Please note that some vendors do not offer LTS versions and some do release new major versions more frequently than others. The following table gives a rough overview on the major releases' schedule of the vendor software used by a9s Data Services:

Service~ Major Releases per yearRelease PolicyEOL Policy
PostgreSQL1https://www.postgresql.org/support/versioning/https://www.postgresql.org/support/versioning/
MongoDB1-2https://www.mongodb.com/support-policy/lifecycleshttps://www.mongodb.com/support-policy/lifecycles
Redis2https://redis.io/docs/about/releases/https://docs.redis.com/latest/rs/installing-upgrading/product-lifecycle/#endoflife-schedule
RabbitMQ1https://www.rabbitmq.com/changelog.htmlhttps://www.rabbitmq.com/versions.html
OpenSearch1https://opensearch.org/releases.html#release-schedulehttps://opensearch.org/releases.html#maintenance-policy
MariaDB0.5 9https://mariadb.com/kb/en/mariadb-server-release-dates/https://mariadb.com/kb/en/deprecation-policy/
ElasticsearchDeprecatedhttps://www.elastic.co/support/eolhttps://www.elastic.co/support/eol
PrometheusCurrently in Betahttps://prometheus.io/docs/introduction/release-cycle/https://prometheus.io/docs/introduction/release-cycle/

With respect to those different release frequencies, we do not always support all consecutive major versions provided by the vendor software used by a9s Data Services, e.g. PostgreSQL 13 and 15 but not 14. Thus, we reserve the right to skip certain major versions if this is reasonable and a data migration between the latest two versions supported by our automation framework is possible.

a9s Data Service Life-Cycle Stages

Every a9s Data Service version gets categorized into the following stages:

  • Generally Availability (GA)
  • Release Candidate (RC)(Non-GA)
  • Beta (Non-GA)
  • Deprecated
  • Unsupported

In terms of life-cycle stages of releases of individual a9s Data Services, we distinguish between a9s Data Service's releases that we consider generally availability (GA) and those that we do not (Non-GA).

A major version of an a9s Data Services goes through the following GA and Non-GA life-cycle stages:

Beta (optional) → RC  → GA → Deprecated → Unsupported

General Availability

General Availability (GA) is the release of an a9s Data Service version to the general public. When an a9s Data Service version reaches GA, it becomes officially available in the a9s Data Services Bundle, as opposed to a limited, Non-GA release, used primarily for testing, migration, preparation, and user feedback purposes.

By definition, an a9s Data Service classified as GA can be used in production environments without any restrictions and is fully supported by anynines until it becomes deprecated.

Timeline

Before an a9s Data Service version is called GA, it must have passed through at least one Non-GA release stage. This means that there is a delay of at least one major release cycle of anynines-deployment (4-6 weeks) between the initial release of an a9s Data Service version and the declaration as GA release.

An a9s Data Services' version stays GA as long as the underlying vendor software is supported. Thus, the duration of the GA stage heavily depends on the version and maintenance policies of the vendor.

Non-General Availability

If a particular a9s Data Service version is classified as non-generally available (Non-GA), a further distinction between several Non-GA levels is needed to define the suitability for production purposes and the level of support that is provided by anynines.

Depending on the level of Non-GA, an a9s Data Service version can still be used in production environments, although some restrictions and/or precautions might apply. Therefore, new Beta and RC versions are not included in the a9s Data Services' manifests by default and have to be explicitly enabled by the Platform Operator via separate Ops files. Please refer to the Enable Non-GA Services section of the installation guide for more information.

The different Non-GA levels in the release life-cycle of an individual a9s Data Service and the a9s Data Services Framework as a whole are explained in the following:

Beta

Beta is an optional stage that we mainly reserve for entirely new a9s Data Services or extensive major version updates to give Platform Operators and Application Developers the opportunity to try the a9s Data Service out in a controlled, non-production environment. We encourage our users to provide valuable feedback for further improvements of the service before we officially include them in our a9s Data Services Bundle as GA release.

Software defects ("bugs") reported via our support portal during the Beta stage will be addressed with priority so that they can be resolved before the service enters the RC stage.

An a9s Data Service in Beta stage can be considered a preview of the upcoming service. It is neither guaranteed that it is feature complete nor that seamless updates between minor versions are possible. As long as an a9s Data Service is in Beta stage, breaking changes may be introduced, even between minor versions of a Beta release.

In consequence, a Beta service is not meant to be used in a production environment and not covered by 24/7 support. Any limitation is explicitly documented in the release notes as well as in the end user documentation.

Use Cases

From end user perspective, a Beta version could be used for the following scenarios:

  • Let the Platform Operator integrate the Beta version with the current automation in place to ship a9s Data Service versions. This way everything is in place to change to RC or GA stage more quickly.
  • Let the a9s Data Service Smoke Tests run in order to check initial compatibility with the platform environment but hide the Beta version from anybody else.
  • Let the Application Developers or special user groups test their applications against the upcoming version and the new or changed API to prepare any application-level changes. For example, check the compatibility of an application written against Elasticsearch API to the OpenSearch API.
  • Let the Application Developers or special user groups test the migration of data from previous versions and report any issues back to anynines to let them improve the migration and upgrade procedure.

In case the Beta service is offered to a group of early adopters or testers, it might be appropriate to mark the service explicitly via naming as Beta software or upcoming "preview" in the catalog or marketplace.

Timeline

The duration of the Beta stage depends on several factors and lasts at least one major release cycle of anynines-deployment. If the Beta version is not feature complete or does not yet meet essential Enterprise Readiness Criteria, the Beta stage will usually take more than one major release cycle. After the Beta follows the RC stage.

Release Candidate

Release Candidate (RC) is a mandatory stage that both new a9s Data Services and new major versions of already existing a9s Data Services must go through before they can be called GA. The only difference between RC and GA is that a RC usually hasn't been widely used in production environments yet and might misbehave in some rare edge cases that we cannot detect in our thorough unit and integration tests.

Software defects ("bugs") reported via our support portal during the RC stage will be prioritized so that they can be resolved during the RC stage before it becomes GA.

A RC must meet all Enterprise Readiness Criteria (high availability, encryption, backups, etc.) and must have undergone all the quality assurance and manual and automated testing procedures required to call it GA. For example, it must offer a migration path from the latest generally available a9s Data Service version of the same type. While breaking changes that require a migration/recreation of existing a9s Data Service instances might happen between Beta and RC releases, they must not happen between RC and GA releases. In consequence, seamless in-place updates from RC to GA instances must be supported.

A RC is production ready and covered by 24/7 support.

Nevertheless, before widely rolling out a RC on the whole platform, we recommend making it available to a small user group only and performing some extensive real-world tests in non-production environments first.

Use Cases

In addition to the use cases of an optional Beta release, a RC could be used for the following scenarios:

  • Offer the RC as "preview" version to early adopters that want to use the service before it officially becomes GA

It might be appropriate to mark the service explicitly via naming as Non-GA in the catalog or marketplace.

Timeline

The duration of the RC stage is usually one major release cycle of anynines-deployment. In case software defects are reported during the RC stage, it might be prolonged until those issues have been resolved.

Deprecated

A generally available a9s Data Service version will automatically enter the deprecation phase approximately three major release cycles of anynines-deployment (12-18 weeks) before the underlying vendor software is declared EOL. At this point in time, a newer GA version of the respective a9s Data Service must exist to allow users to migrate their now deprecated instances to a fully supported GA version.

Normally, a deprecated a9s Data Service version can only receive limited support from anynines. It will eventually be removed from the a9s Data Services Bundle and should no longer be used in any environment, whether production or non-production.

During the deprecation phase, the a9s Data Service version will continue to receive critical bug fixes and security patches (if available), but no new features.

For the duration of the deprecation phase, the same level of support as for GA releases will be given by anynines. However, it cannot be guaranteed that bugs or security issues in the vendor software can be fixed after the vendor has discontinued support.

Use Cases

The only valid use case of a deprecated a9s Data Service version is to prepare and perform the migration to the next higher supported GA version. Thus, as soon as an a9s Data Service version enters the deprecation stage, the Platform Operator should disallow the creation of new a9s Data Services instances for it.

Timeline

As a general rule, the deprecation phase starts 3 months (three major release cycles of anynines-deployment) before the EOL date of the vendor software used by the a9s Data Service, with a deprecation announcement. It usually ends 3 months after the EOL, with an unsupport announcement. Thus, owners of deprecated a9s Data Service instances are granted a buffer period of at least 6 months to migrate to a fully supported GA version.

In exceptional cases, this period can be extended by anynines. For example, if the delivery of the next GA version is delayed or the migration requires more time, e.g. due to breaking API changes or the necessity to migrate to a different a9s Data Service (e.g. from a9s Elasticsearch to a9s Search).

Unsupported

After the deprecation phase has ended, the creation of new a9s Data Service instances for this particular version is disabled by default in the a9s Data Services Bundle and the version is no longer supported by anynines. Please refer to the Enable Non-GA Services section of the installation guide for more information.

As the a9s Data Service version is no longer part of the a9s Data Services Bundle and all owners of respective instances should have migrated during the deprecation phase, anyines does not provide regular support for those instances.

Although we won't intentionally break running instances of a no longer supported a9s Data Service versions, it cannot be guaranteed that they still work as expected after an update to an anynines-deployment version which no longer officially supports these versions.

As those versions are no longer considered production ready nor GA, respectively, any kind of extended support is subject to a separate agreement between anynines and the customer.

As soon as an a9s Data Service version enters the unsupported stage, the creation of new instances of this particular version will be disabled by default in anynines-deployment by removing the service offering from the manifest files. Although the Platform Operator still has the option to re-enable the offering, they shouldn’t allow the creation of new instances of this version and should encourage owners of existing instances to migrate before the version is finally removed from the a9s Data Services Bundle.

Use Cases

A migration to a supported version cannot be performed within the regular time frame of the deprecation phase (up to 36 weeks) or within an additional extension period granted by anynines on a voluntary basis. Owners of such instances have to get in contact with anynines sales department to talk about possibilities and conditions for an extended support period or assistance to migrate outdated instances to a supported (GA) a9s Data Service version.

a9s Data Service Release Lifecycle Table

a9s DS NameVendor DS NameVendor DS VersionIntroduced 5EOL in VendorDS State
a9s LogMeElasticsearch5.6.16v0.11.02019-03-11🟥
Logstash6.8.23v0.11.02022-02-10
Kibana5.6.16v0.11.02022-02-10
a9s LogMe2Fluentd1.16.3v33.0.0-🟩
OpenSearch2.12.0v33.0.0-
OpenSearch Dashboards2.11.1v33.0.0-
a9s Elasticsearch 7Elasticsearch7.10.22v17.0.02022-05-11🟥
a9s Elasticsearch 6Elasticsearch6.8.23v0.28.02022-02-10🟥
a9s Elasticsearch 5Elasticsearch5.6.16v0.8.02019-03-11🟥
a9s MongoDB 7.0MongoDB7.0.7 SSPL3v46.1.02026-08-01🟨
a9s MongoDB 5.0MongoDB5.0.25 SSPL3-2024-10-01🟩
a9s MySQL 10.4MariaDB10.4.33v17.0.02024-06-18🟩
a9s MariaDB 10.6MariaDB10.6.17v32.0.02026-07-06🟩
a9s PostgreSQL 15PostgreSQL15.5v41.0.02027-11-11🟩
a9s PostgreSQL 13PostgreSQL13.13v23.0.02025-11-13🟩
a9s PostgreSQL 11PostgreSQL11.22v1.5.02023-11-09🟩
a9s PostgreSQL 10PostgreSQL10.23v0.15.02022-11-10🟥
a9s Messaging 3.12RabbitMQ3.12.13v43.0.02024-06-30🟩
a9s Messaging 3.10RabbitMQ3.10.25v31.0.02023-07-31🟩
a9s Messaging 3.8RabbitMQ3.8.35v15.0.02022-01-31🟩
a9s Messaging 3.7RabbitMQ3.7.28v0.17.02020-09-30🟩
a9s Redis 7 6Redis7.2.4v37.0.0?🟩
a9s Redis 6 4Redis6.2.14v30.0.02024-08-317🟩
a9s Redis 5.0Redis5.0.14v1.4.02022-04-278🟩
a9s Prometheus1Prometheus2.49.1v2.8.0?🟧
Grafana10.3.3v46.0.0?
Alertmanager0.26.0v2.8.0?
a9s Search 1OpenSearch1.3.6v31.0.02023-12-31🟥
a9s Search 2OpenSearch2.12.0v33.0.0?🟩
Data Service Stage Legend:
  • 🟩: Generally Available (GA)
  • 🟨: Release Candidate (non-GA)
  • 🟧: Beta (non-GA)
  • 🟥: Deprecated

Footnotes


  1. This cadence does not apply for LTS releases of MariaDB.
  2. The a9s Prometheus is still in Beta phase. Be aware that in this phase it might happen some unknown issues already expected by the phase itself.
  3. This EOL date, which reflects the date when Redis 7.0.0 became GA, is based on the following statement
  4. This EOL date is taken from following schedule
  5. a9s Redis 6 is tracking Redis 6.y.z releases.
  6. a9s Redis 7 is tracking Redis 7.y.z releases.
  7. SSPL - Server Side Public License
  8. The a9s Elasticsearch 7 has the Elasticsearch version frozen due to the fact that version 7.11 or newer is under the SSPL license.
  9. The Introduced column reflects the version where the Data Service was introduced into anynines-deployment as a Non-GA release, this could have been either in the Beta or the RC state. For further details on the Data Service's status, be sure to check the DS State column.