Zero-downtime Platform Updates
Tecton is committed to providing the most reliable Feature Platform while also delivering ever-increasing value through continual innovation.
To meet this commitment, we release updates to the Tecton Platform each week, which allow us to regularly deliver service improvements in the form of new features, enhancements, and fixes. Releases are zero-downtime, meaning they have no impact on platform performance and availability.
Pre-release testing and validation​
At Tecton, release quality is a top priority. Before each update is released, it goes through a full suite of validation tests, including full performance and reliability regression testing on internal accounts for all supported cloud and data platforms.
Tecton has developed processes to verify the correctness of a release on sample customer workloads. Tecton has also developed a canary process to verify the correctness of feature values served on sample real-time get-feature requests. See our Canary process blog post for more background on how we approach pre-release validation.
Staged release process​
Updates are staged to Tecton accounts in two waves over three days. This staged approach enables Tecton to monitor activity as the update is released and quickly respond in the unlikely case that any issues occur.
- Day 1: Wave 1 provides early access for designated accounts. Customers may designate development/testing accounts to participate in early access to test their production workloads against Tecton Platform updates before they are released to production accounts.
- Day 2: Wave 1 re-release. In the unlikely occasion that an issue is detected on Day 1, then Wave 1 accounts will receive the patched release on Day 2.
- Day 3: Wave 2 release for all remaining accounts.
By default, all Tecton accounts are part of the Wave 2 release. Contact Tecton Support to opt-in your development/testing account to the Wave 1 release.
Versioned Materialization Runtime​
To ensure stability in production, Tecton versions the runtime deployed to customers' materialization clusters.
In 0.8+, tecton_materialization_runtime
is a required parameter for Batch
Feature Views, Stream Feature Views, and Feature Tables with materialization
enabled. Users can also use the
Repo Config
to set a default version for all Feature Views and Feature Tables in a Feature
Repository.
Tecton provides +1 support -- a Feature View applied using Tecton 0.8 will be
compatible with a tecton_materialization_runtime
of 0.8 or 0.9. This allows
Tecton users to first upgrade their materialization runtimes before upgrading
their local SDK version.
Generally, users should set tecton_materialization_runtime
to the most
up-to-date compatible version of tecton
. Users can update their Feature Views
& Tables when upgrading their SDK version to a new minor version or when
recommended by Tecton Support (e.g. when a version is released with a new
feature or bugfix). Updates are also documented in the Changelog.
A Stream Feature View with a pinned materialization runtime version will only
restart when a user updates its tecton_materialization_runtime
and runs
tecton apply
. This will be a zero-downtime restart since Tecton practices a
blue-green release process (as described in the following section).
See the Python dependencies for tecton
here.
Zero-downtime releases​
For Feature Views and Feature Tables without a pinned Tecton materialization runtime version (e.g. those on SDK <=0.7), Tecton practices a blue-green release process to provide zero-downtime weekly updates. For example, for Stream Feature Views with Spark, Tecton will verify that the updated stream process is online before stopping the existing process.