After many years, zkBox will be discontinued on June 1st, 2024.
Please make sure to retrieve your data as soon as possible.
Thank you for being part of this journey.

zkBox server details

The zkBox server is the core of the system. It's the component that it's authenticating the users into the system and authorizing them to store or retrieve objects from the persistence layer (AWS or SQL Server).
The server is basically a RESTful web API talking JSON. It comes as an ASP .NET application which can be deployed on one or multiple machines. There is no state kept at application level, so deploying them in a web farm is quite straightforward.

Highly available architecture

Many nodes (behind a network load balancer) can be deployed without worrying about scalability issues. Simply, if the load increases, new nodes can be added on the fly to take care of the extra load.
The user's session is not sticky, meaning that sub sequential requests coming from one user can be processed by any node. This has the advantage of distributing evenly the load across the nodes and increasing the fault tolerance of the system. If one of the nodes dies, only the requests executed at that time and on that node will be discarded, but any future requests will be re-routed to healthy nodes.
The public zkBox instance hosted at Amazon is running on EC2 nodes behind a network load balancer.
See more details about the zkBox's architecture.

Internals

At its heart, the zkBox server is a highly available web service deployable in a distributed scenario. The instances forming the zkBox cluster are receiving requests from users, doing some processing and eventually storing some data. In general you don't have to know what's underneath, but only how to use the service. However, if you'd like to know more about what's inside, you can visit the zkBox's internal structure section for further info.

API

In order to communicate with zkBox, API calls need to be made. To see the resources exposed please take a look at the API page. Technically, you'll need to know how to call the API only if you're planning to develop a zkBox client different that the existing ones. Otherwise, you'll just have to use one of the existing client libraries.

You can also take a look at the frequently asked questions or the whitepapers section to get an even better understanding on how zkBox works.