> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://mediakind.ferndocs.com/beam/web-interface/system-architecture/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://mediakind.ferndocs.com/_mcp/server. # System and architecture description The web interface provides a single access point to monitor components, manage users, and configure solutions from end-to-end. Configuration and control are separated for flexible resource allocation ## Software and applicative layers The platform design relies on a **micro-services architecture** to promote modularity and software component independence. The solution is split into a Front-End (UI) and a Back-End (API) layer. Each layer is interfaced through a REST API. If menus or options in the web interface are grayed then contact your administrator about user rights. ### UI Layer (Front-End) The generic UI framework provides a same environment to display the web pages for all compatible products: * Web pages (services, servers, etc.) are shared across the product line. * Certain web pages are specific to each processing type (statistics, services, etc.). ### API Layer (Back-End) The Back-End features are triggered through a REST API that can be used either from a Command Line Interface, or from the Front-End Layer. The API layer allows: * A centralized redundant database. * The logic handling for cross-products and product specific features. ## High availability Management access is provided through a Virtual IP, allowing for a **single connection access**. This is based on an **active/active** implementation that ensures high availability. The **database is synchronized in real-time** between both nodes. **In case of failure, the remaining node is instantly ready** to process requests. If the primary server fails, then the Virtual IP is seamlessly re-assigned to the secondary server. **This mechanism involves arbiter software**, installed on a separate server. This arbiter server is in charge of electing the primary database if the network is partitioned (in the event of communication loss between synchronized databases).