Dividing your architecture into separate components is not only needed for operating at scale (the &quot;nice&quot; problem to have), but for having high availability (or even decent performance) at all.<p>Depending on one&#x27;s business, HA&#x2F;performance may not matter that much, but personally my startup is having a &#x27;proper&#x27; design from day 1 - downtime is not acceptable for my business model.