--- id: "en/architecture" title: "System architecture" language: "en" description: "Introduces front-end, client, back-end, database, object storage, backup, and service split architectures." canonical_url: "https://www.babel.cc/public/babelwiki/en/architecture.html" markdown_url: "https://www.babel.cc/public/babelwiki/ai/en/architecture.md" alternates: {"en": "https://www.babel.cc/public/babelwiki/ai/en/architecture.md", "zh": "https://www.babel.cc/public/babelwiki/ai/zh/architecture.md"} reading_note: "文档记录不等于当前部署能力;以实际版本、授权模块与配置为准。保留原文的可选、限制及待确认说明,勿补猜接口。 / Documentation is not a guarantee for every deployment. Preserve optional-module requirements, limitations and unresolved API contracts." --- # System Architecture BabelBird separates file collaboration from business records, storage, search and preview processing. Plan these services individually and add AI, OCR or integration services for the enabled modules. ![Application and distributed storage architecture](https://www.babel.cc/public/babelwiki/assets/images/object-storage-cluster.jpg) *Cluster illustration from the whitepaper. Node counts and redundancy depend on the implementation.* ## Service Layers | Layer | Responsibility | Deployment considerations | | --- | --- | --- | | User interfaces | Web, desktop and mobile access, sync and mapped drives | Features vary by client and OS version | | Application services | Identity, organizations, permissions, files, sharing, projects and approvals | Scale with workload and availability requirements | | Database | Business records, permissions and file metadata | Required; replication differs between standard and HA deployments | | File storage | File content and version data | Object storage, shared storage or mounted disks according to the design | | Search and conversion | Indexes and previews | Capacity depends on file counts, formats and concurrency | | Background processing | Queues and automated tasks | Monitor errors, retries and backlog | | AI and OCR | Recognition, vector indexes, retrieval and model calls | Local inference or approved external model APIs | ## Client and Server Responsibilities Clients handle local interactions, transfers, synchronization and mapped drives. Servers enforce permissions and persist cloud data. A cached file or local save is not proof of a successful upload; verify transfer status and cloud versions. Technology stacks in the whitepaper describe the implementation at publication time. They do not guarantee identical dependencies across releases. Confirm compatibility and component licensing for the deployment. ## Databases Are Still Required on Cloud Platforms The database stores structured business and permission data; object storage stores file content. Deployment on Alibaba Cloud, Huawei Cloud or another platform still requires a database, on a server or an appropriate supported managed service. Object storage does not replace it. Cache and monitoring components depend on scale and design. An HA or K8S example is not the mandatory component list for a basic installation. See [Configuration advice](https://www.babel.cc/public/babelwiki/en/configuration-advisor.html). ## Availability, Backup and Security Replicas and redundant storage reduce single points of failure; independent backups support recovery after deletion, corruption or attacks. Test consistent restoration of databases, files, settings and certificates. Historical uptime is not a permanent zero-failure guarantee. Use HTTPS and enforce permissions across search, preview, downloads and third-party calls. Define the data scope and security policy for sharing, external models and integrations. Related: [HA deployment](https://www.babel.cc/public/babelwiki/en/deployment-high-availability.html) · [Object storage](https://www.babel.cc/public/babelwiki/en/deployment-object-storage.html) · [Data ferry](https://www.babel.cc/public/babelwiki/en/deployment-data-ferry.html) · [Developer API](https://www.babel.cc/public/babelwiki/en/developer-api-overview.html) · [AI deployment](https://www.babel.cc/public/babelwiki/en/ai-deployment-customization.html)