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: 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: Scaling
As a user of the service I can:
-
adjust the size of the service (provision replicas/instances)
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.