Epiphany strongly utilizes the Kubernetes platform and follows its rules and principles.
Read more about Kubernetes architecture using this link.
Epiphany computing modules use standard implementation of Kubernetes and combine it with the load balancing capabilities of HAProxy.
Load balancing integration with Kubernetes uses backend configurations. The configurations point to created Kubernetes services but this traffic goes through Kube Proxy to resolve internal IP address of pod that is currently available.
Epiphany uses Prometheus and related components for gathering data from
different exporters: Node-exporter, Kafka-exporter, HAProxy-exporter. This
data is stored in Prometheus. Grafana connects to Prometheus to display
metrics from different kinds of exporters.
Prometheus calls Alertmanager whenever a configured rule is met to send alerts to the configured notification integrations (like Slack, PagerDuty or email).
Epiphany uses Elasticsearch as key-value database with Filebeat for gathering logs and Kibana as user interface to write queries and analyze logs.
Filebeat gathers OS and application logs and ships them to Elasticsearch. Queries from Kibana are run against Elasticsearch key-value database.