Understanding stateless and stateful applications
Previously, we provided a brief description of the key points and concepts regarding orchestrating your applications and running them distributed across a cluster, in which you may have noticed that providing a service to your users without outages can be complex. We reviewed how orchestrators help us deliver resilient processes and saw how high availability has to be designed into applications. One of the key aspects of such a design concerns how your application manages the processes’ state over time.
Applications fall into two different categories, depending on how they manage their processes’ state: stateful and stateless.
Before learning about each one, it is important to understand what the state of an application or process means. The state of a system is the condition in which it is at a specific time. This system can be running or stopped, or even in between both when it is either starting or stopping. It...