DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Managing Changing Hardware/Peripherals in a Robust Point of Sale System
  • Serverless vs Containers: Choosing the Right Architecture for Your Application
  • SAP Commerce Cloud Architecture: All You Need to Know!
  • MuleSoft: Do You Have an Extra Mule Under the Hood?

Trending

  • Securing Everything: Mapping the Right Identity and Access Protocol (OIDC, OAuth2, and SAML) to the Right Identity
  • LLM Agents and Getting Started with Them
  • AWS Managed Database Observability: Monitoring DynamoDB, ElastiCache, and Redshift Beyond CloudWatch
  • The Third Culture: Blending Teams With Different Management Models
  1. DZone
  2. Software Design and Architecture
  3. Microservices
  4. CloudHub Technology Architecture

CloudHub Technology Architecture

By 
Miguel Angel Chuecos Piera user avatar
Miguel Angel Chuecos Piera
·
Mar. 31, 20 · Analysis
Likes (2)
Comment
Save
Tweet
Share
5.6K Views

Join the DZone community and get the full member experience.

Join For Free

MuleSoft defines CloudHub as "A cloud-based integration platform as a service (iPaaS) that enables developers to integrate and orchestrate applications and services while giving operations the control and visibility they require for mission-critical demands, all without the need to install or manage middleware or hardware infrastructure. You can deploy applications to CloudHub through Anypoint Runtime Manager, found on Anypoint Platform".

Comparing CloudHub with the other deployment scenarios (Runtime Fabric, Customer-hosted, Pivotal Cloud Foundry), it is the easiest option for deploying Mule applications. However, in this article, we're going to look at how CloudHub works under the hood. 

CloudHub as itself and the Mule applications are deployed and executed under an AWS infrastructure. Specifically, each deployed application is running under an EC2 instance with Linux and a Mule runtime within a JVM.

MuleSoft uses the term Mule application instead of the term API implementation due CloudHub does not deal with services.

The following table shows the mapping of each CloudHub worker sizing by EC2 instance type:

CloudHub worker size by EC2 instance

CloudHub worker size by EC2 instance

How each instance per worker work is more complex than it may seem. CloudHub workers also execute CloudHub system services on the OS and Mule runtime, which are required for the platform capabilities provided by CloudHub, such as:

  • Monitoring of Mule applications in terms of CPU, memory, usage, number of messages and errors, etc. which allow Anypoint Platform to provide analytics and alerts based on these metrics.
  • Auto-restarting failed CloudHub workers (including a failed Mule runtime on an otherwise functional EC2 instance).
  • Load-balancing only to healthy CloudHub workers.
  • Provisioning of new CloudHub workers to increase/reduce capacity.
  • Persistence, using Object Stores, of message payloads or other data across the CloudHub workers of a Mule application.
  • DNS entries for the CloudHub workers and CloudHub Load Balancer.

CloudHub architecture

CloudHub architecture

Each Mule application is assigned a DNS name maintained by the AWS Route 53 service. In turn, it also receives two other known DNS names that resolve to the public and private IP addresses of all CloudHub workers of the Mule application.

The following diagram represents the high-level architecture in which the API implementations running on each CloudHub Worker are invoked:

API workflow

API workflow

The client certificate associated with the CloudHub Load Balancer only works if it is a dedicated (DLB), not a Shared Load Balancer (SLB). In case of using a Shared Load Balancer, the default certificate of CloudHub will be applied, and the certificate applied in the HTTP Listener component will be replaced by the one in CloudHub. You can check it accessing to the API from the browser:

Checking API from browser

Checking API from browser

Or, with Postman Console:

Checking API with Postman

Checking API with Postman

As we have seen in this article, the MuleSoft cloud platform where Mule applications are deployed does not work over its own infrastructure but uses mostly services from the AWS platform. Therefore, CloudHub is a kind of top layer customized only for Mule applications that allow you to:

  • Forget about hardware maintenance.
  • Use the best solution as architecture with isolated microservices (API-Led Connectivity).
  • Focus on your Mule application with a quick configuration without having to worry about the software level (OS, Java versions, Runtime configuration...).
  • Have the basic knowledge about Mule application deployment (Not about instance maintenance, deployments depending on the cloud product (AWS, Microsoft, GCloud...).
  • And, easily manage network resources (IPs, VPCs, Load Balancers...).


application Architecture

Opinions expressed by DZone contributors are their own.

Related

  • Managing Changing Hardware/Peripherals in a Robust Point of Sale System
  • Serverless vs Containers: Choosing the Right Architecture for Your Application
  • SAP Commerce Cloud Architecture: All You Need to Know!
  • MuleSoft: Do You Have an Extra Mule Under the Hood?

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook