## CHAPTER 5 Managed Lifecycle 

Containerized applications managed by cloud-native platforms have no control over their lifecycle, and to be good cloud-native citizens, they have to listen to the events emitted by the managing platform and adapt their lifecycles accordingly. The Man‐ aged Lifecycle  pattern describes how applications can and should react to these lifecy‐ cle events. 

## Problem 

In Chapter 4, Health Probe  we explained why containers have to provide APIs for the different health checks. Health-check APIs are read-only endpoints the platform is continually probing to get application insight. It is a mechanism for the platform to extract information from the application. 

In addition to monitoring the state of a container, the platform sometimes may issue commands and expect the application to react on these. Driven by policies and exter‐ nal factors, a cloud-native platform may decide to start or stop the applications it is managing at any moment. It is up to the containerized application to determine which events are important to react to and how to react. But in effect, this is an API that the platform is using to communicate and send commands to the application. Also, applications are free to either benefit from lifecycle management or ignore it if they don’t need this service. 

## Solution 

We saw that checking only the process status is not a good enough indication of the health of an application. That is why there are different APIs for monitoring the health of a container. Similarly, using only the process model to run and stop a pro‐ cess is not good enough. Real-world applications require more fine-grained interac‐ 

