Deploying on-site¶
Enterprise customers have the option to run the Atfinity application in their own infrastructure. This guide explains how to do this and what the necessary requirements are.
General Architecture¶
Atfinity is a client-server web application. It broadly consists of a web server serving a web frontend, and an API backend with which the browser communicates. If you are running Atfinity headless, you will mostly communicate with our API, which is part of the backend.
Atfinity supports multiple infrastructure modes:
| Mode | Servers | Description |
|---|---|---|
| 1-Tier | CORE | Backend, Frontend, Database, and File Storage all run on one server |
| 2-Tier | CORE + DATA | Backend and Frontend on CORE; Database and File Storage on DATA |
| 3-Tier | CORE + WEB + DATA | Backend on CORE; Frontend on WEB; Database and File Storage on DATA |
| X-Tier + EUW | Any of the above + EUW | Adds the End User Wizard (EUW) on a separate server to any tier setup |
The EUW is always deployed on a separate server as it is typically the most exposed component.
You have two general deployment options:
- Kubernetes via helm chart (recommended)
- Single servers via docker-compose
CDN and Security Tools (e.g. CloudFlare)¶
atfinity is able to handle a wide range of CDN and security tools in front of its components. Note, however, that atfinity works best if content is not cached, as almost no transferred data stays valid for more than a minute. We therefore recommend to disable all caches and only use security, not performance, tools of your infrastructure tooling in combination with atfinity.