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.
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.