Setting up a highly available service
While Dokku is great to deploy occasional side projects, it may not be suitable for larger projects. A large-scale deployment essentially has the following requirements:
- Horizontally scalable: There is only so much that can be done with a single instance of a server. As the load increases, an organization on the hockey stick growth curve will find itself having to balance the load among a cluster of servers. In the earlier days, this meant having to design data centers. Today, this means adding more instances to the cloud.
- Fault tolerant: Just as road accidents occur even when there are extensive traffic rules in place to avoid them, crashes might occur even after you take extensive measures to prevent them, ...