Architecture Overview

Architecture is divided into two layers, Control Plane and one or more data planes. The following architecture diagram illustrates the various components of TIBCO Control Plane and data plane.

TIBCO Control Plane and data plane contains the following architectural components:

TIBCO Control Plane

TIBCO Control Plane is a central interface to manage and monitor Kubernetes data planes and non-Kubernetes data planes. Web Server UI provides the user interface to manage and monitor data planes, capabilities, and applications. TIBCO Control Plane services perform different functions such as identity management, user subscriptions management, email service, and permission management and enforcement. In the preceding diagram, architecture for TIBCO Control Plane SaaS is shown.

For self-hosted TIBCO Control Plane, all the components get deployed in a single namespace. The single namespace is used across all subscriptions. The following diagram displays architecture for self-hosted TIBCO Control Plane.

Data Plane

A data plane is a logical group of TIBCO capabilities and apps deployed on Kubernetes or Non-Kubernetes infrastructure. You can consider a data plane as your Kubernetes cluster consisting of one or more namespaces. When you register a data plane in Control Plane, infrastructure components such as tunnel, CP proxy, HA proxy get deployed in the data plane cluster. TIBCO Control Plane communicates with the data plane through tunnel and the data plane communicates with TIBCO Control Plane through CP proxy.

CP Proxy

The CP proxy is an HTTP proxy running on a data plane. It works as a forward proxy by which it means proxying HTTP call from a data plane to the Control Plane API server. CP proxy handles the authentication required for public APIs exposed on the Control Plane API server.

Hybrid Proxy Operator

Hybrid Proxy Operator is a set of instances distributed by Network Load Balancer and shared by all subscriptions. When the subscription is provisioned, one namespace is created that contains a hybrid server. Hybrid server is a single instance shared by all data planes in a subscription. For self-hosted TIBCO Control Plane, one hybrid server is started per subscription.

NGINX Ingress Controller

Ingress Controller is used to expose your application endpoints outside your Kubernetes cluster.

TIBCO Services

TIBCO services are services deployed by TIBCO Control Plane in a data plane. The following services are deployed in a data plane:

  • Observability service

  • BW provisioner

  • Flogo provisioner

  • Provisioner agent

Observability Backend

The observability backend consists of ElasticSearch (Logs and Traces server) and Prometheus. You must bring your own observability backend tools. Observability service on the data plane is responsible for sending logs and traces to the Elasticsearch server and metrics to Prometheus.