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
andPENDING
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.
-