Contact Us 1-800-596-4880

Deploying Applications and API Proxies to Runtime Fabric

Anypoint Runtime Fabric enables you to deploy Mule applications and API Proxies to a Mule runtime engine that is managed on Runtime Fabric.

Supported Mule Runtime Server Versions

See Anypoint Runtime Fabric Runtimes Release Notes for information on supported versions of Mule runtime server.

Prerequisites

Before you deploy a Mule application or API proxy to Runtime Fabric:

  • Install and configure a Runtime Fabric.

  • Ensure that you understand how resources are allocated as described in Resource Allocation on Anypoint Runtime Fabric.

  • Publish your Mule application or API proxy to Exchange.

    Before you deploy Mule applications and API proxies to Runtime Fabric, you must first publish them to Exchange. When you deploy Mule applications and API proxies from Runtime Manager, they are published to Exchange automatically.

Deploy Using Runtime Manager

You can use Runtime Manager to manually deploy Mule applications and API proxies. See Deploy a Mule Application to Runtime Fabric.

You can also use the Anypoint Platform CLI to deploy Mule applications. See Deploying and Managing Apps in Runtime Fabric Using the CLI.

Deploy Using Maven

Runtime Fabric supports Maven for managing and deploying a Mule application or API proxy.

To deploy Mule applications and API proxies using Maven, see the topic specific to your Mule version:

Deployment Considerations

Eventual consistency

Runtime Fabric is a self healing, eventually consistent platform. When building a CI pipeline for Runtime Fabric deployment, you must take eventual consistency into consideration. After triggering a deployment, the application status should become RUNNING. If the application status never indicates RUNNING, the replicas contain a state and reason to indicate why the application is not RUNNING.

Application Deployment

When an application is deployed, the following events occur:

  • The expected state of your application is stored, including application bundle and number of replicas.

  • The application replica status shows as PENDING.

  • When adequate compute and memory resources are available, each replica is attached to a node.

  • If not already present, a Docker image corresponding to the Mule Runtime version is downloaded.

  • The replica status shows as STARTING.

  • The replica finishes loading the application.

  • The replica status shows as STARTED and is able to perform work.

Application Failure

If an application fails, for example, due to running of out memory, the following events occur:

  • The replica status shows as TERMINATED.

  • Runtime Fabric immediately attempts to restart the replica.

  • The replica status shows as RECOVERING.

  • If the replica is able to restart:

    • The replica finishes loading the application.

    • The replica status shows as STARTED and is able to perform work.

  • If the replica is initially unable to restart, for example, it relies on a network resource which temporarily unavailable, the following events occur:

    • The replica status shows as PENDING, with a message indicating "CrashLoopBackoff". Runtime Fabric attempts to restart the replica, using exponential backoff to avoid an excessive number of restart attempts.

    • The replica status alternates between RECOVERING and PENDING until the issue preventing a successful restart is resolved.

    • The replica loads the application.

    • After a successful restart, the replica shows as STARTED and is able to perform work.