High availability for VehiCAL Services

Since the beginning all the critical services apart from the website have been hosted on a simple dedicated server box in a German data centre. While the uptime has been quite good, it was still one single machine, and if something significant would have happened to it, it would have meant at least a few hours downtime until the data could have been restored from backups and the DNS switched over.

Over the past few months significant work has been undertaken to make the architecture clusterable, and today from 20:30 to 20:36 UTC the changeover to the new infrastructure was done.
* The framework has been been updated to .NET 6, because .NET 6 supports arm64 targets. The entire backend now runs on ARM cloud instances.
* AWS-S3 style storage for files that need to be in sync during runtime.
* Multi-master replication for the database
* Health checks for all the services
* Automatic load balancing and failover
* Automatic synchronization and deployment scripts to deploy new versions
* SSL management in the cluster
* And much more…

This is all invisible for the end user, but the end result is that all the critical infrastructure is hosted in three different locations in independent datacenters, that all have their own connections and power supplies.
The entire system will keep working without any degradation if any one of them goes completely dark.

For you it means industry standard high availability without downtime. For VehiCAL development it means being able to calmly sleep at night.