The architecture of the self-hosted Aperture solution differs slightly from the regular Aperture Cloud + Aperture combination. The main difference is that the Aperture Controller is deployed separately. The Aperture Controller also needs its supporting databases.
Aperture uses two databases to store configuration, telemetry, and flow control information: Prometheus and etcd. Prometheus enables Aperture to monitor the system and detect deviations from the service-level objectives (SLOs) defined in the declarative policies. Aperture Controller uses etcd (distributed key-value store) to persist the declarative policies that define the control circuits and their components, as well as the adjustments synchronized between the Controller and Agents.
Existing etcd and scalable Prometheus installations can be reused to integrate into existing monitoring infrastructure.
The roles of Aperture Agent and Aperture Controller are described on the Architecture page.