When we started Knack, our traffic was small enough that we just needed one tiny server. As we grew we started to add a few cloud servers here and there. And this worked fine for a while — we could just add more servers whenever we needed.
These last few years have seen considerably more growth, and that model started to show some cracks. We were leveraging the cloud but certainly not optimizing for it. Users from other areas were seeing delays and we weren’t able to keep data isolated to a specific region.
We were on training wheels and needed to upgrade to a ten speed.
About a year ago we started to work on a completely new model with a single goal: to provide isolated server capacity on a global scale, and quickly increase that capacity whenever necessary.
This has taken a big chunk of our engineering focus, and we’re pleased to announce that these upgrades are now complete.
We’ve taken off the training the wheels and have a shiny new server bike!
Independent server clusters
The biggest change was a new infrastructure based around self-contained server clusters. Each cluster is completely independent and can be deployed to multiple geographical locations across the world. Not only will it take less time to reach these servers, they are more isolated from potential disruptions in other areas of the network.
Our plan is to start adding multiple regional clusters to improve global access and increase speed for specific geographic areas.
This new infrastructure also enables us to deploy isolated clusters for enterprise accounts who may want more control of their data with specialized security protocols or increased capacity.
Our first regional cluster has already been deployed to the European Union and is located in Frankfurt, Germany.
All of the data for these EU apps are completely isolated to these servers, including the jobs and backups. This data is 100% encrypted both in transit and at rest.
These EU users will see improved speed and performance, as well as compliance with all EU data protection provisions that require data to stay constrained within the EU.
If the majority of your app users are in the EU, please fill out the form here to request a migration to this cluster.
Faster content delivery
We’ve moved all of our assets to a global content delivery network (CDN) that will speed up load times, particularly for users that were farther away from our main servers in Virginia.
Using a CDN means each asset is stored in multiple servers distributed all over the world. As any given user requests a Knack app, all of those assets will be delivered from the server that is closest to them.
Improved performance and more
This work will set up the Knack infrastructure to expand for years to come. Further improvements to speed and reliability include increased data compression, more redundancy, and better backups.
We’ll be announcing some additional features soon that have come from these efforts, including major upgrades for record history and backups.
We’re also excited to move our focus back to the Knack product with more feature upgrades. Stay tuned!