Vision App Maker scales by running more instances of its containerized components behind load balancers. Hardware sizing depends on the number of users, the volume of requests and documents, and the security requirements.

Scaling the components

The App Maker Engine, the API Gateway and the front-end clients can be replicated. The number of replicas is not limited by the platform. Each project sets the number according to its load-balancing and redundancy scenario.

Scaling runs on OKD or OpenShift, and Kubernetes is also supported. Supported orchestrators are Kubernetes 1.25+, OpenShift 4.x, OKD 4.16+ (recommended) and Docker Swarm. The orchestrator provides:

  • load balancing through an ingress controller or a service mesh;
  • auto-scaling based on traffic and load (CPU and memory);
  • rolling deployments;
  • failover and high-availability policies.

Every component of the system can run in high-availability mode. A high-availability cluster needs at least two worker nodes and one control plane node.

Load handling in the platform

Several platform mechanisms reduce load on the back-end services.

  • API Gateway: routes requests with load balancing, aggregates responses from several services into one, caches responses, and applies rate limiting and throttling.
  • Distributed cache: a distributed cache based on Redis, shared by the platform's replicas.
  • gRPC between services: compact binary messages, multiplexing and low latency, with lower network and CPU use than JSON-based calls.
  • Front-end: lazy loading of components and routes, code splitting, data caching and virtualization of large lists.
  • Concurrent users: administrators can cap the number of simultaneous users. Above the cap, users wait in a queue, and administrators can follow active users, queued users and capacity.

Deployment topology

The recommended topology uses Docker containers orchestrated by Kubernetes, OpenShift, Docker Swarm or an equivalent. For on-premises high availability, the reference design uses:

  • App Maker servers in network load-balancing clusters, each behind a virtual IP address;
  • a SQL Server failover cluster on a storage area network;
  • a reverse proxy and load balancer in the DMZ for external traffic.

The topology can be adjusted to the customer's needs, network and security. For more than 400 users, custom infrastructure topologies are proposed.

Technology stack

ComponentRequirement
User interfaceWeb browser with JavaScript enabled (Chrome, Firefox, Edge, Opera, Safari and others)
Server technology.NET Core 8
DatabaseMicrosoft SQL Server

Server sizing

The table gives the recommended hardware for a database server and a web and application server.

ServerUp to 100 users100–300 usersMore than 300 users
Database server8 GB RAM, 2 cores, 100 GB disk16 GB RAM, 4 cores, 100 GB disk32 GB RAM, 4 cores, 100 GB disk
Web and application server8 GB RAM, 4 cores, 100 GB disk16 GB RAM, 6 cores, 100 GB disk32 GB RAM, 8 cores, 100 GB disk

Container infrastructure sizing

For an installation on containers and orchestration, the minimum hardware resources are:

ResourceUp to 100 usersUp to 300 usersMore than 300 users
vCPU81216
RAM32 GB64 GB128 GB
SSD storage250 GB350 GB450 GB

These resources scale with the number of components and the volume of traffic.

Sizing also depends on volumes (number of requests, documents) and on the type of access (security, encryption). For more than 100 GB of documents, a dedicated document management system or dedicated storage vaults are recommended.