Build to Manage
Develop applications that can be managed well in production
The environment is designed to support best practices for developing cloud-native applications that can be managed well in production, known as built to manage. Such components implement endpoints to make them manageable:
- Health: The component provides a
/health
endpoint that answers whether it’s running successfully,UP
orDOWN
. - Metrics: The component provides a
/metrics
endpoint that answers measurements of both the system and application. - Readiness: Kubernetes verifies whether a pod is ready to start receiving traffic, typically by probing the component’s
/health
endpoint. - Liveness: Kubernetes verifies whether a pod should be restarted, typically by probing the component’s
/health
endpoint. Kubernetes and the environment’s Ops tools for monitoring use these endpoints to report the status of the application’s components, which can be used to make the applications self-healing.
Another important feature is for components to log a history of their significant actions:
- Logging: Log status to
stdout
indicating level of severity (such asinfo
,debug
,warn
,error
, andfatal
).
The environment’s Ops tools for logging will gather and display this history.
An easy way to get started with this architecture is by using one of the Starter Kits to create the skeleton for each microservice.