Thumb rule, if you design service with many servers you have following options:<p>1. Have a stateless service. You can update it frequently with no downtime... Relatively easy.<p>2. Use some of the shelf service that provides states and you don&#x27;t need to update that frequently (e.g. ElastiCache, Cassandra, ....). Relatively easy.<p>3. Write your own stateful service. For some applications it is a must (e.g. you do your own search service, data processing, game collision engine). Need to take care of state transition during restarts&#x2F;upgrades, client routing is also tricky. Hard, but sometimes there is no way around to build efficient infrastructure.<p>4. Don&#x27;t think about state and you may end up crying after your code hits the prod.