Service MOT
All,
Maintain
,
Active Development
Runtime
Make sure either the latest medium-term support (MTS) or long term support (LTS) is in use.
Redeploy to get the latest patches (make sure base image is up to date)
Runtime development runtime is the same as production (with the use of a pinned version - i.e., .npmrc / .sdkmanrc file)
Dockerfile is reviewed
Development
Run the app locally making sure it is easy to do following the readme
Fix code quality issues (Sonar, FindBugs)
Upgrading build tool (e.g. Gradle) - Patch only (unless out of support)
Remove old feature flags
Make sure dependencies are up to date - Patch only (unless out of support)
Observability
Review Alerts
Review Dashboards
Review Logging (no Debug/Info levels in Prod)
CI
Make sure the deployment still works
Make sure the build still works
Releases create a REL ticket
Check bgcloud.gradle
Releases send a Slack notification to #warp-releases
Check bgcloud.gradle
The build process is clear and understandable
Check yarn/npm scripts
Testing
Tests are run in the pipeline
No skipped tests
Tests abide by the testing pyramid
Documentation
Review Runbook
Review README.md
Review CONTRIBUTING.md
Review directory.transport.dev
API endpoints provide Swagger documentation
Resiliency
Timeouts
Circuit Breakers
Bulkheads
Version Control
Remove any dangling branches
Check the latest changes have been deployed
Upgrades
This is an ordered list of ways to improve a service.
Major upgrade of framework
Major upgrade of build tool
Service Mesh
Major upgrade of libraries