---
schema_version: "1"
id: c8a46de6bc8639448703cbd7310d91bbba22ee5f5df07ce4b5f5bc29e3b8dfb2
title: Anypoint Runtime Fabric Overview
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/runtime-fabric/2.5/index.md
canonical_url: https://docs.mulesoft.com/runtime-fabric/2.5/
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 9c4bda0bca34317fcfb8426e7a8e3819e7ca47579d04685d07443459d5be268b
description: MuleSoft Documentation Site
release: "2.5"
latest: false
---
---
product: Runtime Fabric
version: 2.5
---

# Anypoint Runtime Fabric Overview

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Anypoint Runtime Fabric enables you to deploy Mule applications and API proxies to a Kubernetes
cluster that you create, configure, and manage.

If you work in public clouds and have some level of expertise in managing a Kubernetes cluster,
Runtime Fabric supports:

- [Amazon Elastics Kubernetes Service (EKS)](https://developer.mulesoft.com/tutorials-and-howtos/runtime-fabric/runtime-fabric-aws-elastic-kubernetes-service/)

- [Google Kubernetes Engine (GKE)](https://developer.mulesoft.com/tutorials-and-howtos/runtime-fabric/runtime-fabric-google-kubernetes-engine/)

- [Microsoft Azure Kubernetes Service (AKS)](https://developer.mulesoft.com/tutorials-and-howtos/runtime-fabric/runtime-fabric-azure-kubernetes-service/)

- [Red Hat OpenShift Service on AWS (ROSA)](https://aws.amazon.com/rosa/)

- [Azure Red Hat Openshift (ARO)](https://azure.microsoft.com/en-us/products/openshift/)

- [Red Hat OpenShift Dedicated on GCP](https://cloud.google.com/blog/products/gcp/red-hats-openshift-dedicated-now-generally-available-on-google-cloud)

- [Red Hat OpenShift on IBM Cloud](https://www.ibm.com/products/openshift)

- [Alibaba Cloud Container Service for Kubernetes (ACK)](https://www.google.com/url?q=https://www.alibabacloud.com/product/kubernetes&sa=D&source=docs&ust=1695253295782775&usg=AOvVaw1HvpOJ2m_H7JOIZzcIbyym)

If you prefer to standardize your own bare-metal solutions using public K8s distributions, depending
on your affinity to public clouds and in-house Kubernetes expertise, the following offerings can
enable both On-Prem and public cloud bare-metal solutions:

- [Amazon EKS Anywhere (EKS-A)](https://aws.amazon.com/eks/eks-anywhere/)

- [Rancher Kubernetes Engine (RKE)](https://rke.docs.rancher.com/)

- [Red Hat OpenShift Kubernetes engine (Entry level)](https://www.redhat.com/en/technologies/cloud-computing/openshift/kubernetes-engine)

- [Red Hat OpenShift Container Platform (OCP)](https://www.redhat.com/en/technologies/cloud-computing/openshift/container-platform)

- [Red Hat OpenShift Platform Plus](https://www.redhat.com/en/technologies/cloud-computing/openshift/platform-plus)

- [VMware Tanzu Kubernetes Grid](https://www.vmware.com/products/app-platform/tanzu-kubernetes-grid)

Some capabilities of Anypoint Runtime Fabric include:

- Isolation between applications by running a separate Mule runtime server per application.

- Ability to run multiple versions of Mule runtime server on the same set of resources.

- Scaling applications across multiple replicas.

- Automated application fail-over.

- Application management with Anypoint Runtime Manager.

The Anypoint control plane features, Anypoint CLI, and the Mule Maven Plugin are available
universally across all partners. At runtime plane, only Helm based Runtime Fabric management and
features are supported for VMWare Tanzu, Alibaba ACK, and Rancher. The feature supportability matrix
across platforms is as follows:

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Support of following use-cases</th><th>AWS EKS and AWS EKS-A</th><th>IBM Openshift Offerings</th><th>AKS &amp; GKE</th><th>VMWare Tanzu, Alibaba ACK, Rancher</th></tr></thead><tbody><tr><td><p>Access and use of Anypoint Control Plane including Runtime Manager, Access Management, Anypoint Monitoring, etc.</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td></tr><tr><td><p>Automation toolings such as the Mule Maven Plugin, Runtime Fabric APIs, and Anypoint CLI.</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td></tr><tr><td><p>Runtime Fabric functionality support for compatible K8s versions.</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td></tr><tr><td><p>Security updates for Runtime Fabric core software and Mule runtime engine images.</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td></tr><tr><td><p>Lifecycle management of Runtime Fabric software via <code>helm</code>.</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td></tr><tr><td><p>Customization of application workloads using CRDs via <code>helm</code>.</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td></tr><tr><td><p>Log4j support for App Monitoring</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td></tr><tr><td><p>Troubleshooting through <code>rtfctl report</code> command.</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td><td><p>Yes</p></td></tr><tr><td><p>Lifecycle management of Runtime Fabric software via <code>operator</code>.</p></td><td><p>-</p></td><td><p>Yes</p></td><td><p>-</p></td><td><p>-</p></td></tr><tr><td><p>Enable FIPS mode for security.</p></td><td><p>Yes</p></td><td><p>-</p></td><td><p>Yes</p></td><td><p>-</p></td></tr><tr><td><p>Managed lifecycle of Runtime Fabric software via control plane.</p></td><td><p>Yes</p></td><td><p>-</p></td><td><p>Yes</p></td><td><p>-</p></td></tr><tr><td><p>Setup secure properties using <code>rtfctl</code>.</p></td><td><p>Yes</p></td><td><p>-</p></td><td><p>Yes</p></td><td><p>-</p></td></tr><tr><td><p>Lifecycle management of Runtime Fabric software via <code>rtfctl</code>.</p></td><td><p>Yes</p></td><td><p>-</p></td><td><p>Yes</p></td><td><p>-</p></td></tr><tr><td><p>Full Backup/Restore via <code>rtfctl</code>.</p></td><td><p>Yes</p></td><td><p>-</p></td><td><p>Yes</p></td><td><p>-</p></td></tr><tr><td><p>Reference implementations (templates) - performance tuning, CRD configurations K8s best practices, recommended cluster sizing, and network configuration.</p></td><td><p>Yes</p></td><td><p>-</p></td><td><p>-</p></td><td><p>-</p></td></tr></tbody></table>

## Anypoint Runtime Fabric as a Shared Responsibility

The successful operation of Anypoint Runtime Fabric is a shared responsibility. It is critical to
understand which areas you provide and manage and which areas MuleSoft provides.

The following image illustrates different MuleSoft and customer responsibilities for Anypoint
Runtime Fabric instances:

![Anypoint Runtime Fabric shared responsibilities diagram](/mulesoft/current/en-us/runtime-fabric/2.5/_images/rtf-shared-responsibility.png)

### MuleSoft Provided

MuleSoft provides the Runtime Fabric agent, Mule runtime engine (Mule), and other dependencies used
to deploy Mule applications. The Runtime Fabric agent deploys and manages Mule applications by
generating and updating Kubernetes resources such as deployments, pods, Replicasets, and ingress
resources.

#### Runtime Fabric Core Services

Anypoint Runtime Fabric and its underlying components run as Kubernetes deployment objects in EKS,
AKS, GKE, or RedHat OpenShift environments. You manage the objects via Anypoint Platform.

Linux-based operating systems are required for all nodes that run Runtime Fabric components in
Kubernetes clusters.

- The Runtime Fabric Agent

  The Runtime Fabric agent is deployed as a pod in the cluster and communicates with the control
  plane via an mTLS outbound connection established at startup.

  The agent is event-driven. When an application state change generates a Kubernetes event, the
  agent sends metadata describing the current state of the application to the control plane.
  Kubernetes events include application pod starts, updates, or restarts.

  The agent also listens for incoming requests from the control plane. When the agent receives a
  message from the control plane, the agent makes changes to the Kubernetes resources specified in
  the message. Such changes include creating a new application, updating an existing application, or
  deleting an application.

- Mule cluster IP service

  Provides an API that Mule applications use to discover their peers inside the cluster.

- Resource cache

  Provides a cluster-local cache of application dependencies.

These services are isolated within the core Runtime Fabric installation namespace and replicas.
These services do not multiply as applications or nodes increase.

#### Application Services

Runtime Fabric installs the following application services only when they are configured by users:

- Persistence Gateway: Provides a persistent ObjectStore v2 interface to Mule applications
  (Replication configured by user)

- Anypoint Monitoring sidecar: For monitoring and logging (One sidecar deployed per application
  replica)

### Customer Managed

Customers are responsible for provisioning, configuring, and managing the Kubernetes cluster used
for Runtime Fabric. Additional configuration used to set up or enable capabilities on the Kubernetes
cluster, such as those listed below, are also the customer’s responsibility to manage:

- Ingress controller and [Customizations to Ingress resources](https://docs.mulesoft.com/runtime-fabric/2.5/custom-ingress-configuration)

- External load balancing

- Log forwarding

- Monitoring

- Network ports, NAT gateways, and proxies

- Host runtime and networking

- Provisioning and management of the Kubernetes environment. This requires assistance from the
  following teams in your organization:

  - IT team to provision and manage the infrastructure

  - Network team to specify allowed ports and configure proxy settings

  - Security team to verify compliance and obtain security certificates

## How Application Deployments Work in Anypoint Runtime Fabric

When you deploy an application in Anypoint Runtime Fabric on, the following occurs:

1.  You use Runtime Manager to trigger the application deployment.

2.  The Runtime Fabric agent in the target cluster receives a request to deploy the application.

3.  Runtime Fabric assigns the application to an existing namespace or creates a new namespace if
    necessary.

4.  Runtime Fabric generates the appropriate Kubernetes resources, including a deployment,
    ConfigMap, secrets, services, and ingress.

5.  If the Kubernetes deployment resource includes an init container, it fetches dependencies from
    the Runtime Fabric resource cache.

6.  If the resource cache doesn’t contain required dependencies, Runtime Fabric fetches them from
    the control plane and adds them to the resource cache.

![Application deployment workflow for Runtime Fabric](/mulesoft/current/en-us/runtime-fabric/2.5/_images/rtf-app-deployment.png)

### Assigning Namespaces in Anypoint Runtime Fabric

Each application is deployed into a Kubernetes namespace based on the application’s environment.

1.  Runtime Fabric searches for a namespace with the label
    `rtf.mulesoft.com/envId=<ANYPOINT_ENVIRONMENT_ID>`.

2.  If Runtime Fabric can’t find that label, it searches for a namespace with the name
    `<ANYPOINT_ENVIRONMENT_ID>`.

3.  If Runtime Fabric can’t find that namespace, it creates a new namespace called
    `<ANYPOINT_ENVIRONMENT_ID>`.

![Application namespace assignment flowchart](/mulesoft/current/en-us/runtime-fabric/2.5/_images/rtf-namespace-flow.png)

### Monitoring Application Deployments

The Runtime Fabric agent monitors Kubernetes Deployments labelled with `rtf.mulesoft.com/id`. When
Kubernetes updates the state of the deployment, the agent sends that update to the control plane.
See [Logs](https://docs.mulesoft.com/runtime-fabric/2.5/limitations-self#logs) and [Monitoring](https://docs.mulesoft.com/runtime-fabric/2.5/limitations-self#monitoring) for additional
information.

## Feature Support List for Runtime Fabric

The following table lists supported and non-supported features.

<table><colgroup><col> <col></colgroup><thead><tr><th>Feature</th><th>Status</th></tr></thead><tbody><tr><td><p>Support for deploying Mules and API Gateways</p></td><td><p>Supported</p></td></tr><tr><td><p>Kubernetes and Docker</p></td><td><div><div><p>Not included.</p></div><div><p>Provide your instances of Kubernetes and Docker via Amazon EKS, AKS or GKE clusters.</p></div></div></td></tr><tr><td><p>Installing on any Linux distribution</p></td><td><p>Supported</p></td></tr><tr><td><p>Node auto-scaling</p></td><td><p>Supported using AWS, Azure, Google Cloud, or RedHat OpenShift functionality</p></td></tr><tr><td><p>External log forwarding</p></td><td><p>You can set up Log4j to forward logs to external systems.</p></td></tr><tr><td><p>Internal load balancer</p></td><td><p>You must provide an internal load balancer (Ingress Controller)</p></td></tr><tr><td><p>Anypoint Security Edge</p></td><td><p>Not supported</p></td></tr><tr><td><p>Anypoint Security Tokenization</p></td><td><p>Not supported</p></td></tr><tr><td><p>Ops Center</p></td><td><p>Not Included<br>You can enable monitoring and alerting in AWS, Azure, Google Cloud, or RedHat OpenShift</p></td></tr></tbody></table>

## Anypoint Runtime Fabric and Standalone Mule Runtimes (Hybrid Deployments)

Hybrid deployments of Mule applications require you to install a version of the Mule runtime on a
server and deploy one or more applications on the server. Each application shares the Mule runtime
server and the resources allocated to it. Other resources such as certificates or database
connections may also be shared using domains.

Anypoint Runtime Fabric provisions resources differently. Each Mule application and API gateway runs
within its own Mule runtime and in its own container. The resources available to the container are
specified when deploying a Mule application or API proxy. This enables Mule applications to
horizontally scale across nodes without relying on other dependencies. It also ensures that
different applications do not compete with each other for resources on the same node.
