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

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.

2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.

PostgreSQL: Learn about the open-source RDBMS' advanced capabilities, core components, common commands and functions, and general DBA tasks.

AI Automation Essentials. Check out the latest Refcard on all things AI automation, including model training, data security, and more.

Related

  • Top 10 Best Practices for Scaling Your Application: Expert Tips for Optimizing Performance and Ensuring Reliability
  • The Naming Nuance of Non-Functional Requirements
  • Create Custom DataWeave Functions in Mule 4
  • MuleSoft: Do You Have an Extra Mule Under the Hood?

Trending

  • Minimum Viable Elevator [Comic]
  • DSL Validations: Properties
  • Build Your Own Programming Language
  • Elevate Your Terminal Game: Hacks for a Productive Workspace
  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. What Is Scalability? How Can We Achieve Scalability in MuleSoft Applications?

What Is Scalability? How Can We Achieve Scalability in MuleSoft Applications?

A few technical jargons in a layman's language so that it is easier to understand the concept of scalability!

By 
Sravan Lingam user avatar
Sravan Lingam
DZone Core CORE ·
Jul. 30, 20 · Tutorial
Like (6)
Save
Tweet
Share
19.6K Views

Join the DZone community and get the full member experience.

Join For Free

Hey Guys,

 This article is purely based on my way of understanding things. I will try to explain a few technical jargons in a layman's language so that it is easier to understand the concepts. Try to adopt the concept by the general example I have given below

Scalability

This is the most often word that we use in terms of performance-related things. So what does Scalability actually mean?

In short:

Scalability means that an application or a system can handle greater loads by adapting

So now, if your load on your application is high, you have two options of doing Scalability to handle it:

  • Horizontal Scalability
  • Vertical Scalability

Let's discuss with a general example

Consider a call center as an example:

Vertical Scalability

Vertical Scalability means increasing the size of an instance.

Consider a call center having:

junior and senior operator

  • A junior operator who is good at handling 5 calls per minute.
  • A senior operator who is good at handling 10 calls per minute.

So we go with a senior operator who can handle the heavy load!

That means we are basically Scaling up by hiring a senior operator to handle the load instead of a junior operator. This is one way of Scalability on handling load.

Horizontal Scalability

Horizontal Scaling means increasing number of instances for you application

junior and junior operator

The other way to handle the load is to hire an extra junior operator so that 2 junior operators can handle 10 calls per minute, instead of hiring a senior operator!

That means we are basically Scaling out by hiring an extra junior operator instead of hiring a senior operator!

So now we understood that:

  • We Scale up/down for Vertical Scalability
  • We Scale in/out for Horizontal Scalability

Applying Scalability Concept in Mule Applications

Let's take an example of cloud hub deployments:

I have used the term "instance" in the above definitions. Applications on CloudHub are run by one or more instances of Mule, called workers. Each worker is a dedicated instance of Mule that runs your integration application.

  • Vertical Scalability is nothing but increasing you vCore Size. Just like we did in call center example of hiring a senior operator over a junior operator
  • Horizontal Scalability is nothing but increasing your workers. Just like we did in call center example of hiring two junior operators.

Now, we will get a doubt when to use Horizontal Scalability and when to use Vertical Scalability?

Again, this depends on the scenario/logic that your application is built.

But a simple way:

Vertical Scaling: Wherever you see if your application receives less number of requests but has heavy payload as input for each request/process, then go ahead with Vertical scaling by increasing your vCore size to handle the load. Similar to the call center example of hiring a senior operator

Horizontal Scaling: Wherever you see if your application receives more requests but has less payload as input for each request or process, then go ahead with Horizontal scaling by increasing your number of workers.Similar to the call-center example of hiring more junior operators

What if your application receives more requests with a huge payload per each request?

Then you have to adopt both Horizontal and Vertical scaling to handle the load on your application!

Hope this article helps you to understand the basic concept of Scalability and how to achieve it in Mule!

Scalability application Operator (extension) Scaling (geometry) MuleSoft

Opinions expressed by DZone contributors are their own.

Related

  • Top 10 Best Practices for Scaling Your Application: Expert Tips for Optimizing Performance and Ensuring Reliability
  • The Naming Nuance of Non-Functional Requirements
  • Create Custom DataWeave Functions in Mule 4
  • MuleSoft: Do You Have an Extra Mule Under the Hood?

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

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 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: