MuleSoft Runtime Fabric Overview

Anypoint Runtime Fabric (RTF) is MuleSoft's container-based deployment solution that runs the Mule Runtime on your own Kubernetes cluster. You bring the infrastructure — AWS EKS, Azure AKS, Google GKE, Red Hat OpenShift, or bare-metal Kubernetes — and MuleSoft provides the runtime software and the Anypoint Platform control plane. RTF gives you full infrastructure control while keeping the familiar Anypoint deployment and monitoring experience.

Why Runtime Fabric

RTF solves problems that CloudHub cannot address for some enterprises:

  • Data residency: Data never leaves your cloud account or data center.
  • Cost optimization: Leverage existing Kubernetes clusters and cloud commitments instead of paying per CloudHub vCore.
  • Kubernetes standardization: Use the same deployment tooling your company uses for all other containerized applications.
  • Custom networking: Full control over VPCs, security groups, and network policies.
  • Air-gapped environments: RTF can run with no internet connectivity using a private image registry.

RTF Architecture

Component Diagram

Anypoint Platform (MuleSoft Cloud — Control Plane)
  ├── Runtime Manager  ← you deploy applications here
  ├── Anypoint Monitoring ← collects metrics from RTF
  └── API Manager      ← applies policies
         │ (secure outbound connection only — no inbound)
         │
         ▼
Your Kubernetes Cluster (Your Infrastructure — Data Plane)
  ├── RTF Agent        ← communicates with Anypoint Platform
  ├── Mule Runtime Containers
  │     ├── orders-api (2 pods)
  │     ├── customer-sync (1 pod)
  │     └── inventory-batch (1 pod)
  ├── Ingress Controller ← routes external traffic to pods
  └── Persistence Layer  ← Object Store, queue data

Key RTF Components

RTF Agent

The RTF Agent is a Kubernetes component installed on your cluster. It maintains a secure outbound-only connection to Anypoint Platform. Through this connection, it receives deployment instructions, reports metrics and logs back, and stays synchronized with the control plane. The agent never requires inbound internet connections — a major security advantage for enterprises with strict firewall rules.

Mule Runtime Containers

Each Mule application runs as one or more Kubernetes pods. Each pod contains the Mule Runtime Engine and your application JAR. Kubernetes manages pod scheduling, restarts on failure, and rolling updates. You define CPU and memory requests/limits per application when deploying.

Ingress

External traffic enters the cluster through a Kubernetes Ingress controller. You configure TLS termination, custom domains, and routing rules at the Ingress level using your organization's standard Kubernetes tooling.

Installing Runtime Fabric

RTF installation follows these main steps:

Installation Steps

Step 1: Create RTF Instance in Anypoint Platform
  Runtime Manager → Runtime Fabrics → Create Runtime Fabric
  Name: production-rtf-us-east
  Download: activation-data (base64 string)

Step 2: Prepare Kubernetes cluster
  Minimum requirements:
  - Kubernetes 1.22+
  - 3 worker nodes (for HA)
  - Each node: 4 vCPU, 16GB RAM minimum
  - Container runtime: containerd or CRI-O
  - Persistent storage class available

Step 3: Install RTF components via Helm
  helm repo add rtf https://rtf-charts.anypoint.mulesoft.com
  helm install runtime-fabric rtf/runtime-fabric \
    --namespace rtf \
    --set activationData="[paste activation data]" \
    --set muleLicense="[MuleSoft license key]"

Step 4: Verify installation
  kubectl get pods -n rtf
  → All RTF pods should be Running
  In Anypoint Platform → Runtime Manager → Runtime Fabrics:
  → Status shows "Active"

Deploying to Runtime Fabric

Deploying to RTF from Runtime Manager is similar to deploying to CloudHub, but you select your RTF instance as the target.

RTF Deployment Settings

Runtime Manager → Deploy Application:
  Application Name:  orders-api-production
  Deployment Target: production-rtf-us-east   ← select your RTF
  Runtime Version:   4.6.x
  
  Resources per replica:
    CPU:    500m (0.5 vCPU)    ← CPU request
    Memory: 700Mi              ← Memory request
    
  Replicas: 2  ← number of pods (for HA)
  
  Public Endpoint:
    Internal: orders-api.internal.company.com
    External: via your Ingress controller at api.company.com/orders

Namespace Isolation

RTF uses Kubernetes namespaces to isolate applications from different environments. Production apps run in the prod namespace. Staging apps run in the staging namespace. Each namespace has its own resource quotas and network policies, preventing apps from different environments from interfering with each other.

Namespace Structure

Kubernetes Cluster
  │
  ├── Namespace: rtf          ← RTF system components
  ├── Namespace: mulesoft-prod ← Production Mule apps
  │     [orders-api pods]
  │     [customer-api pods]
  │
  └── Namespace: mulesoft-staging ← Staging Mule apps
        [orders-api pods]          (isolated from prod)

Autoscaling on RTF

RTF supports Kubernetes Horizontal Pod Autoscaler (HPA). Configure HPA to automatically add more pods when CPU usage is high and remove them when load drops.

HPA Configuration for orders-api:
  apiVersion: autoscaling/v2
  kind: HorizontalPodAutoscaler
  metadata:
    name: orders-api-hpa
  spec:
    minReplicas: 2
    maxReplicas: 10
    metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            averageUtilization: 70  ← scale up if CPU > 70%

Behavior:
  Normal load (CPU 40%):   2 pods running
  Traffic spike (CPU 85%): HPA adds pods → 4 pods
  Load returns to normal:  HPA removes pods → back to 2

RTF vs CloudHub Decision

When to Choose RTF over CloudHub

Choose RTF when:                    Choose CloudHub when:
───────────────────────────────     ───────────────────────────────
Own Kubernetes infra exists         No Kubernetes team or expertise
Data sovereignty required           No strict data location needs
Need to control networking          MuleSoft managing infra is fine
Cost optimization from K8s          Time-to-market is top priority
Integrating with K8s ecosystem      Small team, low operational overhead
Air-gapped environment needed       Standard cloud deployment is enough

Leave a Comment

Your email address will not be published. Required fields are marked *