Piloting Mule Apps from POC to Production on CloudHub

Pooja Kamath
Another Integration Blog
5 min readSep 26, 2022
Take-off with Mule

Your POC was a success, now what?

Let’s deploy to production!

Deploy to production? Wait, WHATTTT?

This is usually when I realize, they didn’t listen to a single thing I said!

But, is it that complicated? How do organizations plan to transition from POC to production? Is there an in-between? Why is it important to have the right strategy to ensure a successful transition? Depending on the technology used, scaling, security, governance, organizational enablement, and change management are usually needed.

MuleSoft recommends the 3-pillar approach for successful implementation:

  1. Business outcomes: align stakeholders and define outcomes with clear KPIs
  2. Organizational enablement: ensure your organization is ready to use and adopt the Anypoint Platform
  3. Technology delivery: get up and running with Anypoint Platform and start building APIs and integrations
MuleSoft recommends a 3-pillar approach for successful implementation

A POC is a Proof of Concept, an exercise to prove feasibility. With a POC, you are trying to understand if the tool will help meet your needs and whether the solutions are feasible.

MuleSoft prides itself on being a rapid development and deployment tool. In fact, products and projects developed using MuleSoft are 3x times more likely to be on an accelerated schedule compared to other development tools. Although software projects are rarely just about development and deployment, they usually involve planning, designing, end-user testing, and training.

With that in mind, the pillars are further broken into six paths for users to follow: business outcomes, Anypoint Platform, projects, Center for Enablement (C4E), internal support, and training.

The blueprint that summarizes tasks across these 6 paths serves as a template to track the success and progression of each desired business outcome. The blueprint is very comprehensive and customers usually only need a subset of these tasks at any given time. In the next section, I will highlight the important tasks that should be taken when accelerating from POC to production.

At minimum, to be in production, you will need to convert the POC to a pilot and then move it to production. For a POC, you may not need to address organization enablement; however, for pilot and production, all 3 pillars will be essential for successful implementation.

The In-between

This phase could take anywhere from weeks to months, depending on the size of the deployment. It is called the “pilot” phase. When you are piloting a MuleSoft project it usually means you have to do the following:

  • Refreshing success plan: if you completed a successful POC, then you have a plan, a definition of the outcome, and a way to measure that outcome. To move to pilot, you need to update your success plan to align with your new objectives.
  • Updating the design: a detailed architecture design based on an assessment of business and technical requirements will be necessary. Along with this, you should also identify and define KPIs and align stakeholders.
  • Implementation: build and configure the environment on CloudHub. You most likely created the POC in a development environment. For a pilot, setting up an environment like production is important to ensure effective user testing and to gather iterative feedback to optimize the application.
  • Documentation or training for pilot users: formulate a training plan to educate end users.

These activities can happen iteratively, in federated teams, to ensure timelines are managed appropriately. Most of these activities are independent of each other.

The other things you could do at this stage include:

Define a support model: onboarding activities should be complete by now and defining a support model would be the next logical step. This will help identify training requirements for your support staff.

Onboard MuleSoft teams: if the end product is going to be significantly larger than the POC, you may need additional resources to realize project goals.

Establish C4E: some companies like to wait to form a C4E until they have a few projects in production; however, I recommend forming a C4E as early as possible.

C4E bonus items: setting up the development environment, creating reusable libraries, establishing DevOps (if you do not already have one), or aligning the project to existing DevOps can also be part of your pilot initiative.

Since the infrastructure is owned by MuleSoft, it is robust and has mechanisms in place to help scale up or down with relative ease. Therefore, testing to validate failover, high availability, and scalability be simple and quick.

A Mule application is developed as a set of flows and each flow is a chain of event processors. An event processor processes data passing through the flow with logic from one of the said domains. Mule 4 uses reactive programming to facilitate the non-blocking execution of the event processors. This has a significant impact on a Mule application’s ability to scale the number of events it can handle concurrently. We will talk about scalability in detail later.

As the pilot progresses and is deemed successful, the environment can be transferred to production and implemented across the entire end-user community.

Moving to Production

The steps to production vary by organization. Before production is reached, organizations typically complete the following steps:

  • Training for end-users and help desk support
  • Formal change management
  • Business acceptance
  • Sign-off from the business

But, how do you get there?

The most challenging part of change is a coherent measurement, and in particular, the measurement and account for consumption. The model must be continually refined for effectiveness. With that in mind, organizations will have to :

  • Refresh the success plan
  • Update design with volume in mind
  • Train/inform users
  • Pursue logical change management
  • Document all the efforts

The Elephant in the Room: Scalability

Provisioning/scaling is fully managed in CloudHub 2.0

Scalability is one of the biggest reasons why projects fail in production. The goal for any organization is to create a leaner product that can easily scale up and down.

Mule is highly scalable both horizontally and vertically. Automatic tuning of deployed Mule applications allows them to execute in a non-blocking fashion that exploits all resources available to the Mule runtime. Threads are assigned to the application in a way that maximizes concurrency.

Replica Scale-out

CloudHub 2.0 enables you to select more vCores for your application, providing horizontal scalability. This gives you the flexibility to scale up your application to handle higher loads (or scale down during low-load periods) at any time. This allows for greater control over capacity provisioning. Depending on your subscription, you can deploy your application with up to 8 replicas. To learn more, see CloudHub 2.0 Replicas.

Survival Tips

The journey from POC to production is not a linear progression. Moving applications to production is a multi-dimensional feat that requires planning and effort. The key to success is a continuous approach to design, documentation, and implementation.

--

--