For single node configurations, you only need a single public IP per server. However, in general we recommend a private network if possible.
For clustered environments, we recommend you create a dedicated private network for inter-node communication. This should not perform any kind of source/destination filtering, otherwise we will need to use an overlay network, which will reduce overall network performance.
Each container is given a private IP Address, and by default can only communicate with other containers in the same project. If you choose to allow external connectivity, then our load balancer will forward
80/443 to your container.
udp traffic. With
tcp, the user has the option to route the traffic through our global load balancer and enable SSL/TLS offloading. (HTTP by default will always route this way).
Our load balancer runs on each node in the availability zone, and shares a single floating IP. In the event of a node failure, we use pacemaker & corosync to move that floating IP to another node in the cluster. We maintain the same configuration on each node so that all load balancers are able to serve traffic immediately.
Depending on your goals, you may also choose to allocate public IP addresses to each container. Please contact us to discuss this in more detail.
Our default configuration is to run our containers using locally-mounted storage volumes. This provides both performance, stability, and cost benefits over shared/clustered storage, and for our typical customer, provides the best fit for their business model.
However, we understand that for some deployments it makes sense to have high-availability for your container services. In those use-cases, we can use NFS storage for our container volumes, which would allow your containers to automatically failover to another node.
ComputeStacks uses an in-house developed backup solution, built upon the excellent borg backup tool. We include specific backup drivers for MySQL/MariaDB and PostgreSQL that ensure consistent and unobtrusive backups.
You will need to provide a separate backup server that will hold your customer’s backups. Our installation process will automatically configure a base debian install to serve this function. We also recommend that you do not share a single backup server across multiple regions.
ComputeStacks offers an integrated container registry to aid in your customers image development. For small deployments, we will run this on the same server as our controller. However, we recommend that this run on it’s own server.