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
/healthendpoint that answers whether it’s running successfully,UPorDOWN. - Metrics: The component provides a
/metricsendpoint 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
/healthendpoint. - Liveness: Kubernetes verifies whether a pod should be restarted, typically by probing the component’s
/healthendpoint. 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
stdoutindicating 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.