Service Maturity

Implementing and maintaining a service is iterative work. The idea is to release early and release often, without having the urge to have all features available right from the beginning.

This page gives an idea on the iterative steps and a way to assess the service maturity. Except the "Provisioning" iteration and the stable release, all steps in-between can be in any order, as it fits best. With "feature complete" it’s not meant that the service doesn’t receive new functionality or doesn’t get maintained anymore, we’re talking about the default scope outlined on this page.

Important is that every step is independent of each other. A service that implements Backup and Restore doesn’t necessarily already implement Logs. That in turn also means we must allow some leeway for each service in respect to the requirements, should a service not allow for a feature or makes it overly complex. A service is allowed to deviate from a requirement when it makes sense and can be documented and reasoned about accordingly.

To understand the personas referenced in this document, see Glossary - Personas.

We currently maintain the service maturity assessment for each service on our product documentation site under VSHN Application Catalog → Services.

Initial Release: Provisioning

As a user of the service I can:

  • create a service instance

  • update the configuration of a service instance

  • delete a service instance

  • connect to the service in a secure way

See also:

Iteration: Backup

As a user of the service I can:

  • enable Backup on a service instance

  • disable Backup on a service instance

  • request a restore for a service instance

The backup includes e2e tests.

See also:

Iteration: Restore

As a user of the service I can:

  • manually restore data for a service instance

Iteration: Logs

As a user of the service I can:

  • access logs of a service instance

See also:

Iteration: Metrics

As an engineer of the service I can:

  • see the raw metrics of a service instance

  • access a dashboard showing pre-crafted diagrams of the available metrics

As a user of the service I can:

  • see the SLA reports

Iteration: Alerting

As a user of the service I can:

  • enable alerting on pre-defined SLIs to VSHN so that VSHN can resolve incidents with priority

  • enable alerting on the capacity of the instances to an alert channel of my choice so that I can prevent incidents

As an engineer of the service I can:

  • access operations runbooks so that I can resolve issues

See also:

Iteration: Maintenance

As a user of the service I can:

  • enable regular maintenance on a service instance

Iteration: Version Upgrade

As a user of the service I can:

  • upgrade the service instance version

Iteration: Scaling

As a user of the service I can:

  • adjust the size of the service (provision replicas/instances)

Iteration: User Management

As a user of the service I can:

  • manage roles, grants and databases

Stable Release

As a user of the service I can:

  • rely on production readiness of the service

All requirements from Service Production Readiness Standards are met.