Author: Vikas Mishra
What is Runtime Fabric? Runtime Fabric (RTF) is a container service to deploy mule runtime on cloud (AWS / Azure) or on a data center (on-premise). It provides all cloud (PaaS) benefits such as high availability, automatic failover, rolling upgrade, etc. RTF is based on Docker containers and Kubernetes for orchestration and has been packaged/maintained in such a way that very little or no knowledge of docker is required to run RTF. With the help of RTF we can deploy multiple versions of mule-runtime. RTF helps to achieve consistency and portability with the support of container service. We can deploy our API/Integration solution across many platforms like AWS, AZure or on-premise data centers. Runtime fabric automates the deployment and orchestration of Mule application and API gateway.
RFT is based on docker and kubernetes to achieve portability and horizontal scalability. It includes all the components required to run the mule application. We can manage the from our Anytime platform ( control plane).It provides the same feature as Cudhub with added benefits of our own deployment on AWS / AZure.
Cloudhub – MuleSoft manages Runtime infra for your application deployment .
Runtime Fabric: Customer managed infra for Runtime deployment. It provides the same features as Cloudhub with more flexibility to choose your own infra.
We can horizontally scale the application with multiple instances running . There is an internal load balancer available that helps to balance the load across all running instances. While deploying the application to runtime fabric it provides the option to select runtime version , number of replicas , vCPU and memory .
Runtime Fabric Architecture
Runtime fabric is a collection of VM that work together to form a cluster. Each VM in the cluster serves as either a “Controller” node or “Worker” node.
Controller node is a dedicated VM for managing the runtime fabric , load balancing , orchestration service and a distributed database . Workers are the dedicated VM to run the mule application and API gateways. There can be multiple controllers and workers to achieve the high availability and fault tolerance .
Runtime Fabric offer two types of deployment
- Development
- Production
These deployment options differ in the number of Controllers / Worker required . Only the controller runs the Internal load balancer and agent to connect with “Control Plane”.
Recommended number of controller nodes for development and production are as
- Production – 3
- Development – 1
Worker nodes
- Production – 3
- Development – 2
Runtime fabric supports a maximum 5 controller node and 16 worker nodes. We can configure the external TCP load balancer to manage the load across multiple internal load balancers.
A typical production setup for runtime fabric looks like
System requirement for runtime fabric installation
Reference : https://docs.mulesoft.com/runtime-fabric/1.4/