2 ms·
Typically, this means scaling application servers and can be done easily with platforms like Elastic BeanStalk or Cloud Run to scale your app servers based on s
by CharlieDigital 2y ago
Typically, this means scaling application servers and can be done easily with platforms like Elastic BeanStalk or Cloud Run to scale your app servers based on selected metrics.
Database server nodes can be swapped for larger ones if needed using a different strategy. (Many folks underestimate how well a well-designed relational DB can scale on bigger CPU/RAM/storage throughput and better indexes).
The author's suggestion does not mean to increase the number of database instances since it would not make sense to remove them dynamically.
- mrkeen 2y agoIn other words, if your world view is that you will never scale out your database beyond n=1, then microservices being part of the scaling-out journey is indeed a fallacy.
- CharlieDigital 2y agoAlso probably not the case. In most cases, systems can scale reads with replicas and queue writes to a write instance. You can also shard if write throughput needs to be higher. Many of the most popular services scaled this way before (if even) adopting more complex solutions. StackOverflow[0] and Pinterest[1] are examples. You can scale your database beyond n=1 in different ways without scaling fully independent, isolated instances. [0] https://highscalability.com/stack-overflow-architecture/ https://highscalability.com/stack-overflow-architecture/ [1] https://highscalability.com/scaling-pinterest-from-0-to-10s-of-billions-of-page-views-a/ https://highscalability.com/scaling-pinterest-from-0-to-10s-...