Fusion Microservices

The microservices described below are part of the Fusion 5 ecosystem. Some benefit from multiple pods or autoscaling, while others should be deployed singly.

For services that require only one pod, Kubernetes automatically launches a new pod if the current one is lost. However, requests to the downed service will fail or block until the new pod finishes initializing. Typically this is fine for services that serve static Web assets.

To avoid any temporary disruption in the cluster in the event of a node or zone loss, run at least two instances of each service. Be aware that this approach increases the cost of running Fusion in the cloud.

API Name Display Name Protocol Stateless or Stateful Node Pool Autoscaling Supported Description

admin

Admin

REST/HTTPS

Stateless

system

Not required. Minimum of one pod, but two pods are recommended for high availability.

Exposes endpoints for admin tasks, such as creating applications.

admin-ui

Admin UI

Web

Stateless

system

Not required. One pod should be sufficient for most clusters.

Serves static Web assets for the admin UI.

apolloZk

Zookeeper

TCP

Stateful

search

No. Run one, three, or five Zookeeper pods to ensure a quorum.

Stores centralized configuration and performs distributed coordination tasks.

auth-ui

Authentication UI

Web

Stateless

system

Not required. One pod should be sufficient for most clusters.

Serves static Web assets for the login form.

connectors

Connectors REST API

REST/HTTP

Stateless

analytics or system

Not required. One pod should be sufficient for most clusters.

Routes REST API requests to connectors-classic and connectors-rpc.

connectors-classic

Connectors Classic (v1)

REST/HTTPS

Stateful

analytics or system

Yes (CPU or custom metric)

REST service for supporting non-RPC connector plugins.

connectors-rpc

Connectors RPC (v2)

REST/HTTPS

Stateless

analytics or system

Yes (CPU or custom metric)

gRPC service for managing SDK-based connector plugins.

cx-api

CxOS API

REST/HTTP

Stateful

search

Not required. Minimum of one pod, but two pods are recommended for high availability.

Provides endpoints for installing and managing CxOS bundles.

cx-scheduler

CxOS Scheduler

REST/HTTP

Stateful

system

Not required. Minimum of one pod, but two pods are recommended for high availability.

Schedules and runs tasks for CxOS bundles.

cx-script-executor

CxOS Script Executor

REST/HTTP

Stateless

analytics

Not required. Minimum of one pod, but two pods are recommended for high availability.

Executes scripts using GraalVM for CxOS bundles.

cx-ui

CxOS UI

Web

Stateless

system

Not required. One pod should be sufficient for most clusters.

Serves Web assets for the CxOS UI.

devops-ui

DevOps UI

Web

Stateless

system

Not required. One pod should be sufficient for most clusters.

Serves static Web assets for the DevOps UI.

f5-solr-svc

Solr

HTTP

Stateful

At least 3 nodes in search, 2 in analytics, and 2 in system

Yes (CPU or custom metric)

The Solr microservice.

indexing

Index Pipelines

REST/HTTP

Stateless

search or analytics depending on write-volume

Yes (CPU or custom metric)

Processes indexing requests.

insights

App Insights

Web

Stateless

system

Not required. One pod should be sufficient for most clusters.

Serves the App Insights UI.

job-launcher

Spark Job Launcher

REST/HTTP

Stateless

analytics

Not required. One pod should be sufficient for most clusters.

Launches Spark jobs.

job-rest-server

Spark Job API

REST/HTTP

Stateless

analytics

Not required. One pod should be sufficient for most clusters.

Performs admin tasks for creating and running Spark jobs.

ml-model-grpc

(Not shown in UI)

gRPC

Stateless

search

Yes (CPU or custom metric)

Exposes gRPC endpoints for generating predictions from ML models.

ml-model-service

ML Model API

REST/HTTP

Stateless

search

Not required. One pod should be sufficient for most clusters.

Performs admin tasks for managing machine learning models.

proxy

API Gateway

HTTP

Stateless

search

Not required. Minimum of one pod, but two pods are recommended for high availability.

Performs authentication, authorization, and traffic routing.

query

Query Pipelines

REST/HTTP

Stateless

search

Yes (CPU or custom metric)

Processes query requests.

rules-ui

Rules UI

Web

Stateless

system

Not required. One pod should be sufficient for most clusters.

Serves static Web assets for the Rules UI.

sql-jdbc

(Not shown in UI)

JDBC/Thrift

Stateless

analytics

Not required. One pod should be sufficient for most clusters.

Exposes a JDBC endpoint for the SQL service.

sql-service

SQL

REST/HTTP

Stateless

analytics

Not required. One pod should be sufficient for most clusters.

Performs admin tasks for creating and managing SQL catalog assets.

webapps

Webapps

REST/HTTPS

Stateless

system

Not required. One pod should be sufficient for most clusters.

Serves App Studio-based Web apps.