Skip to content

Update ece-architecture.md - Adding a container <-> ECE host role mapping table #1369

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions deploy-manage/deploy/cloud-enterprise/ece-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,26 @@ Services are deployed as Docker containers, which simplifies the operational eff

Docker containers communicate securely with one another through Transport Layer Security, provided by [Stunnel](https://www.stunnel.org/) (as not all of the services or components support TLS natively). Tunneling all traffic between containers makes sure that it is not possible to eavesdrop, even when someone else has access to the underlying cloud or network infrastructure.

## ECE service containers per host role(s) [ece-service-containers]

Each Elastic Cloud Enterprise service runs as a dedicated Docker container. These containers are automatically deployed based on the roles assigned to each ECE host.

| Container | Roles | Description |
|---|---|---|
| `frc-admin-consoles-admin-console` | Controller | Backend service for the ECE UI; handles API requests and coordinates with ZooKeeper, Elasticsearch, logging, and security services. |
| `frc-allocator-metricbeats-allocator-metricbeat` | Allocator | Collects allocator metrics via Beats. |
| `frc-allocators-allocator` | Allocator | Manages container lifecycle for Elasticsearch and Kibana; reports host capacity to ZooKeeper. |
| `frc-beats-runners-beats-runner` | All roles | Collects metrics from local containers for monitoring and health checks. |
| `frc-blueprints-blueprint` | Director | Coordinates container startup by providing configuration data to runners based on their role and token. |
| `frc-client-forwarders-client-forwarder` | All roles | Manages communication between nodes and ZooKeeper. |
| `frc-cloud-uis-cloud-ui` | Controller | Web frontend for the ECE UI, served to users in the browser. |
| `frc-constructors-constructor` | Controller | Schedules changes via ZooKeeper; assigns clusters to allocators and balances zones. |
| `frc-container-task-services-container-task-service`| Allocator | Supports autoscaling and tracks feature usage. |
| `frc-directors-director` | Director | Manages ZooKeeper and internal certificates; maintains Stunnel and quorum. |
| `frc-proxies-proxyv2` | Proxy | Routes user traffic; uses ZooKeeper to map deployment IDs to cluster nodes. |
| `frc-proxies-route-server` | Proxy | Manages internal routing and port mapping for cluster access. |
| `frc-runners-runner` | All roles | Deploys containers locally per host role definitions. |
| `frc-services-forwarders-services-forwarder` | All roles | Routes internal service data across the ECE platform. |
| `frc-zookeeper-servers-zookeeper` | Director | Consistent distributed store used to track ECE state and coordinate communication between services. |


Loading