Contact Us 1-800-596-4880

CloudHub Architecture

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 to it directly from Anypoint Studio, via the CloudHub REST API or via the Anypoint Platform command-line interface.

See Deployment Options 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

1 Integration Applications

Applications that you create and deploy to CloudHub to perform integration logic for your business

2 Runtime Manager

User interface that enables you to deploy and monitor integrations, and configure your account

3 Platform Services

Shared CloudHub platform services and APIs, which includes CloudHub Insight, alerting, logging, account management, virtual private cloud/secure data gateway, and load balancing

4 CloudHub 2.0

An elastic cloud of workers, Mule instances that run integration applications

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 for the default (US hosted) Control Plane and eu1-status.mulesoft.com 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 and Deploy to CloudHub.

Runtime Manager

The Runtime Manager console is integrated into the Anypoint Platform. 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 as well as to other registered servers. You can also manage deployed applications.

Administrator account holders can use the Anypoint Platform to add and manage other users in the organization, define user roles, and create and manage sandbox environments.

For more general information about CloudHub, see 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.

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:

Worker Size Worker Memory Heap Memory Disk Storage Size

0.1 vCores

1 GB

500 MB

8 GB

0.2 vCores

2 GB

1 GB

8 GB

1 vCore

4 GB

2 GB

12 GB

2 vCores

8 GB

4 GB

40 GB

4 vCores

16 GB

8 GB

88 GB

8 vCores

32 GB

16 GB

168 GB

16 vCores

64 GB

32 GB

328 GB

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

  • Are available only for Mule version 3.6.2 or later, or API gateway version 2.0.2 or later

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 and Persistent Queues.

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

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.

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. For more information about CloudHub security and compliance, download the Anypoint Cloud Security & Compliance 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.

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.

For more information about application monitoring and automatic restarts, see Application Monitoring and Automatic Restarts.

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, and persistent queueing features.

Worker Scale Out and Data Center Redundancy

With high availability, 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.

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