---
schema_version: "1"
id: 9d1c6a1ed492ce003de40137401abb3c8d6dd221cc986bcafa0f5a88862d9821
title: CloudHub Architecture
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/cloudhub/cloudhub-architecture.md
canonical_url: https://docs.mulesoft.com/cloudhub/cloudhub-architecture
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 418864a97f7656489a731183253a19791096a8046e4b0568b02b6d17233c46b8
description: MuleSoft Documentation Site
latest: true
---
---
product: CloudHub
---

# CloudHub Architecture

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

[CloudHub](https://docs.mulesoft.com/cloudhub/) is designed to provide enterprises with a multitenant, secure, elastic, and highly
available integration platform as a service (iPaaS). To maximize your use of CloudHub, you should
understand how the underlying mechanisms of the CloudHub platform work to achieve these goals.

Manage CloudHub with the Anypoint Runtime Manager console in Anypoint Platform. You can also
[deploy](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub) to it directly from Anypoint Studio, via the
[CloudHub REST API](https://docs.mulesoft.com/cloudhub/cloudhub-api) or via the
[Anypoint Platform command-line interface](https://docs.mulesoft.com/anypoint-cli/latest/).

> [!NOTE] See [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies) for a better
> understanding of the different possible deployment scenarios, including on-premises and Anypoint
> Platform Private Cloud Edition (Anypoint PCE).

To understand CloudHub’s approach to security and availability, it’s important to understand the
architecture behind CloudHub. It includes two major components—​Anypoint platform services, and the
worker cloud. These two components and the Runtime Manager console through which you access them
work together to run your integration applications.

![architecture diagram](/mulesoft/current/en-us/cloudhub/_images/architecture-diagram.png)

<table><colgroup><col> <col> <col></colgroup><tbody><tr><td><div><div><p><span><img src="https://docs.mulesoft.com/cloudhub/_images/blue-1.png" alt="1 Integration Applications" width="40%"></span></p></div></div></td><td><div><div><p><a href="#integration-applications">Integration Applications</a></p></div></div></td><td><div><div><p>Applications that you create and deploy to CloudHub to perform integration logic for your business</p></div></div></td></tr><tr><td><div><div><p><span><img src="https://docs.mulesoft.com/cloudhub/_images/blue-2.png" alt="2 Runtime Manager" width="40%"></span></p></div></div></td><td><div><div><p><a href="#runtime-manager">Runtime Manager</a></p></div></div></td><td><div><div><p>User interface that enables you to deploy and monitor integrations, and configure your account</p></div></div></td></tr><tr><td><div><div><p><span><img src="https://docs.mulesoft.com/cloudhub/_images/blue-3.png" alt="3 Platform Services" width="40%"></span></p></div></div></td><td><div><div><p><a href="#platform-services">Platform Services</a></p></div></div></td><td><div><div><p>Shared CloudHub platform services and APIs, which includes CloudHub Insight, alerting, logging, account management, virtual private cloud/secure data gateway, and load balancing</p></div></div></td></tr><tr><td><div><div><p><span><img src="https://docs.mulesoft.com/cloudhub/_images/blue-4.png" alt="4 CloudHub 2.0" width="40%"></span></p></div></div></td><td><div><div><p><a href="#global-worker-clouds">Global Worker Clouds</a></p></div></div></td><td><div><div><p>An elastic cloud of <em>workers</em>, Mule instances that run integration applications</p></div></div></td></tr></tbody></table>

> [!NOTE] You can view the live status and detailed service history for the Runtime Manager console,
> platform services, and the CloudHub worker cloud on
> [`status.mulesoft.com`](https://status.salesforce.com/products/Mulesoft) for the default (US
> hosted) Control Plane and
> [`eu1-status.mulesoft.com`](https://status.salesforce.com/products/Mulesoft) for the EU Control
> Plane.

## Integration Applications

An integration application is any integration that you’ve built using Anypoint Studio. These
applications can do everything from synchronizing data from Salesforce to a database, to publishing
a SOAP or REST API, to creating complex orchestrations of business processes.

For more about creating and deploying integration applications, see [CloudHub](https://docs.mulesoft.com/cloudhub/) and
[Deploy to CloudHub](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub).

## Runtime Manager

The Runtime Manager console is integrated into the
[Anypoint Platform](https://anypoint.mulesoft.com). Sign in with your Anypoint Platform credentials
to upload and manage your integration applications at runtime. The console surfaces useful
monitoring information from the platform services and also works as a comprehensive dashboard for
both application-level and account-level management.

Through this same console you can [deploy to CloudHub](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub) as well as to
[other registered servers](https://docs.mulesoft.com/runtime-manager/deploying-to-your-own-servers). You can also
[manage deployed applications](https://docs.mulesoft.com/runtime-manager/managing-deployed-applications).

Administrator account holders can use the Anypoint Platform to
[add and manage other users in the organization, define user roles](https://docs.mulesoft.com/access-management/managing-permissions),
and create and manage sandbox environments.

For more general information about CloudHub, see [CloudHub](https://docs.mulesoft.com/cloudhub/).

## Platform Services

CloudHub platform services are responsible for coordinating all aspects of the platform. They
coordinate deployment of applications, monitor integrations, provide analytics data, store
application data, run scheduled jobs, and more. Many of these services are also exposed through the
[CloudHub REST API](https://docs.mulesoft.com/cloudhub/cloudhub-api).

## CloudHub Workers

_Workers_ are dedicated instances of Mule runtime engine that run your integration applications on
CloudHub.

Workers have the following characteristics:

**Capacity**

Each worker has a specific amount of capacity to process data. Select the size of your workers when
configuring an application.

**Isolation**

Each worker runs in a separate container from every other application.

**Manageability**

Each worker is deployed and monitored independently.

**Locality**

Each worker runs in a specific worker cloud, such as the US, EU, or Asia-Pacific.

The memory capacity and processing power of a worker depends on how you configure it at the
application level.

Worker sizes have different compute, memory, and storage capacities. You can scale workers
vertically by selecting one of the available worker sizes:

<table><colgroup><col> <col> <col> <col></colgroup><thead><tr><th>Worker Size</th><th>Worker Memory</th><th>Heap Memory</th><th>Disk Storage Size</th></tr></thead><tbody><tr><td><div><div><p>0.1 vCores</p></div></div></td><td><div><div><p>1 GB</p></div></div></td><td><div><div><p>500 MB</p></div></div></td><td><div><div><p>8 GB</p></div></div></td></tr><tr><td><div><div><p>0.2 vCores</p></div></div></td><td><div><div><p>2 GB</p></div></div></td><td><div><div><p>1 GB</p></div></div></td><td><div><div><p>8 GB</p></div></div></td></tr><tr><td><div><div><p>1 vCore</p></div></div></td><td><div><div><p>4 GB</p></div></div></td><td><div><div><p>2 GB</p></div></div></td><td><div><div><p>12 GB</p></div></div></td></tr><tr><td><div><div><p>2 vCores</p></div></div></td><td><div><div><p>8 GB</p></div></div></td><td><div><div><p>4 GB</p></div></div></td><td><div><div><p>40 GB</p></div></div></td></tr><tr><td><div><div><p>4 vCores</p></div></div></td><td><div><div><p>16 GB</p></div></div></td><td><div><div><p>8 GB</p></div></div></td><td><div><div><p>88 GB</p></div></div></td></tr><tr><td><div><div><p>8 vCores</p></div></div></td><td><div><div><p>32 GB</p></div></div></td><td><div><div><p>16 GB</p></div></div></td><td><div><div><p>168 GB</p></div></div></td></tr><tr><td><div><div><p>16 vCores</p></div></div></td><td><div><div><p>64 GB</p></div></div></td><td><div><div><p>32 GB</p></div></div></td><td><div><div><p>328 GB</p></div></div></td></tr></tbody></table>

Workers with 0.1 vCores and 0.2 vCores:

- Provide limited CPU and I/O for apps with smaller workloads

- Can burst to higher CPU speeds for a short time

  This ability helps to improve application startup times and to process infrequent, large
  workloads. If you need consistent performance, use workers with more vCores.

Workers with 1 or more vCores provide performance consistency.

Each worker has a minimum of 8 GB of storage allocated, which is used for both system and
application storage, with about 3.0 GB used for OS and Mule components. If your application requires
more storage (for example, verbose logging), use a worker with two or more vCores, enabling the
application to access additional storage.

Only running applications count toward worker usage.

If your applications require more vCores than are available, CloudHub allows you to create the
application, but you cannot start it until the additional vCores become available. To increase vCore
allocation, stop another application or contact your account manager to increase your subscription’s
vCore allocation.

The metaspace limit for apps deployed to CloudHub is currently unlimited, regardless of the worker
size. The initial metaspace size is 128 MB; metaspace garbage collection begins after the metaspace
reaches that threshold.

You can scale your applications horizontally by adding multiple workers and enabling persistent
queues to distribute workloads across workers. See
[Worker Scaleout](https://docs.mulesoft.com/cloudhub/cloudhub-fabric#worker-scale-out) and
[Persistent Queues](https://docs.mulesoft.com/cloudhub/cloudhub-fabric#persistent-queues).

CloudHub monitors workers to verify that they are operating correctly. If you enable automatic
restarts, CloudHub also automatically restarts applications, if necessary.

> [!NOTE] The Limit for the **JVM - Heap Used** graph on Runtime Manager and Anypoint Monitoring can
> sometimes dynamically increase. It technically shows JVM property `maxMemory()` under the hood,
> which means the max amount of memory that JVM attempts to use for the heap. Due to the nature of
> Java, it dynamically changes within the JVM runtime heap size available, depending on a number of
> factors such as memory fragmentation, garbage collection, and other memory management used by JVM.

## Global Worker Clouds

CloudHub offers worker clouds in different regions of the world: North America, South America, the
European Union, and Asia-Pacific. For the complete list of supported regions, see
[Regional Services](https://docs.mulesoft.com/cloudhub/cloudhub-networking-guide#regional-services).

This global distribution enables you to host your integration in the location closest to your
services, thus reducing latency. It can also provide for adherence to local laws, such as the EU
Data Protection Directive. For the US and US-Gov control planes, MuleSoft hosts the management
console and platform services in the United States. For the EU control plane, MuleSoft hosts these
services in Europe.

The region that you deploy your application to determines the domain provided for your application.
For example, if you deploy an application named `myapp` to Canada (Central), the domain used to
access the application is `myapp.ca-c1.cloudhub.io`. The load balancer used to route requests
resides in the same region as your application.

For more information about deploying applications to different regions, refer to
[Deploy to CloudHub](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub). For more information about CloudHub security and
compliance, download the
[Anypoint Cloud Security & Compliance](https://www.mulesoft.com/api/security) whitepaper.

## Workers and Multitenancy

Because different levels of security and isolation are needed depending on the service, the platform
provides two different levels of multitenancy.

- First, the worker cloud is a multitenant cloud of virtual machines. These VMs provide the security
  and isolation needed for your integrations to run custom code without affecting others.

- Second, the management console and the platform services have a "shared everything" architecture –
  all tenants share the same web UI, monitoring services, load balancers, etc. These services do not
  process or transmit your data.

## Availability and Scalability

CloudHub is designed to be highly available and scalable through redundancy, intelligent healing,
and zero-downtime updates. It also enables customers to scale and benefit from added reliability
through [high availability features](https://docs.mulesoft.com/cloudhub/cloudhub-fabric).

### Redundant Platform

All of CloudHub platform services, from load balancing to the API layer, have at least one, built-in
layer of redundancy and are available in at least two data centers at all times. All data centers
are at least 60 miles apart. This redundancy ensures that even if there is a data center outage, the
platform remains available.

### Intelligent Healing

CloudHub monitors the worker clouds for problems and provides a self-healing mechanism to recover
from them. If the underlying hardware suffers a failure, the platform migrates your application to a
new worker automatically. In the case of an application crash, whether due to a problem with custom
code or a bug in the underlying stack, the platform recognizes the crash and can
[restart the worker automatically](https://docs.mulesoft.com/cloudhub/worker-monitoring#enabling-automatic-restarts).

For more information about application monitoring and automatic restarts, see
[Application Monitoring and Automatic Restarts](https://docs.mulesoft.com/cloudhub/worker-monitoring).

### Zero-Downtime Updates

CloudHub supports updating your applications at runtime so end users of your HTTP APIs experience
zero downtime. While your application update is deploying, CloudHub keeps the old version of your
application running. Your domain points to the old version of your application until the newly
uploaded version is fully started. This allows you to keep servicing requests from your old
application while the new version of your application is starting.

### High Availability

High Availability features provide scalability, workload distribution, and added reliability to
applications on CloudHub. These capabilities are powered by the scalable load-balancing service,
[worker scaleout](https://docs.mulesoft.com/cloudhub/cloudhub-fabric#worker-scaleout), and
[persistent queueing](https://docs.mulesoft.com/cloudhub/cloudhub-fabric#persistent-queues) features.

#### Worker Scale Out and Data Center Redundancy

With [high availability](https://docs.mulesoft.com/cloudhub/cloudhub-fabric), you can add multiple workers to your application to make
it horizontally scale. CloudHub automatically distributes multiple workers for the same application
across two or more data centers for maximum reliability.

When deploying your application to two or more workers, the HTTP load balancing service distributes
requests across these workers, allowing you to scale your services horizontally. Requests are
distributed on a round-robin basis.

#### Persistent Queues

Persistent queues ensure zero message loss and allow you to distribute non-HTTP workloads across a
set of workers. For example, if your application is deployed to more than one worker, persistent
queues allow interworker communication and workload distribution. If a large file is placed in the
queue, your workers can divide it up and process it in parallel.

Persistent queues also guarantee delivery of your messages; even if one or more workers or
datacenters go down, persistent queues facilitate disaster recovery and provide resilience to
hardware or application failures.

For more details about worker scale out and persistent queues, refer to
[High Availability](https://docs.mulesoft.com/cloudhub/cloudhub-fabric).

## Security

CloudHub architecture provides a secure platform for your integrations.

Securing your payload data is critically important. To this end, CloudHub does not inspect, store,
or otherwise interact directly with payload data. CloudHub workers provide a secure facility for
transmitting and processing data by giving each application its own virtual machine. This ensures
complete isolation between tenants for payload security, and isolation from other tenants’ code.

CloudHub collects monitoring, analytics, and log data from CloudHub workers and may perform actions
on behalf of the user on CloudHub workers. All communication between CloudHub platform services and
the worker cloud is secured using SSL with client certificate authentication. This ensures that
unauthorized parties cannot read data and that they cannot initiate unauthorized actions.

[Secure properties](https://docs.mulesoft.com/cloudhub/secure-application-properties) can also be loaded as part of your application
bundle. If a property is flagged as secure, it won’t be viewable even through the Runtime Manager
console, in fact, it is never propagated anywhere outside the CloudHub worker running the
application.

For more information about MuleSoft’s approach to security, please see the
[Anypoint Cloud Security & Compliance whitepaper](https://www.mulesoft.com/sites/default/files/security-whitepaper.pdf).

## See Also

- [CloudHub Networking Guide](https://docs.mulesoft.com/cloudhub/cloudhub-networking-guide)

- [CloudHub FAQ](https://docs.mulesoft.com/cloudhub/cloudhub-faq)

- [Deployment Options](https://docs.mulesoft.com/runtime-manager/deployment-strategies)

- [Maintenance and Upgrade Policy](https://docs.mulesoft.com/cloudhub/maintenance-and-upgrade-policy)

- [status.mulesoft.com](https://status.salesforce.com/products/Mulesoft)

- [eu1-status.mulesoft.com](https://status.salesforce.com/products/Mulesoft)

- [High Availability](https://docs.mulesoft.com/cloudhub/cloudhub-fabric)

- [Application Monitoring and Automatic Restarts](https://docs.mulesoft.com/cloudhub/worker-monitoring)

- [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/)
