What is our primary use case?
Mule ESB is an enterprise service bus where all applications are integrated, making them loosely coupled systems with an API-led architecture. The architecture includes an experience layer, system layer, process layer, and system layer. The experience layer can push data to the process layer, but there may be a delay in processing by the downstream system. The data must be pushed into a service bus, such as a message layer or messaging layer, where it will be published and the API in the system layer picks up the data and pushes it to the downstream system. These architectures allow sending the same data to multiple downstream systems, reusing the same data required to push to multiple systems rather than getting it from the source system.
Mule ESB works with an enterprise service bus along with a common data model, done through common messaging through an enterprise messaging system called the ESB model.
Mule ESB supports different types of ESB messaging layers such as Anypoint MQ, ActiveMQ, or Apache Kafka. There are different ways to use publish-subscribe architecture or a hub-and-spoke architecture where the enterprise service bus plays different roles. Additionally, it supports reliable delivery, meaning if data is pushed to the downstream system and the downstream systems are unavailable for some reason, the data will be persisted in the messaging layer. Whenever the system comes up, due to durable subscription, it will receive the data, ensuring that whatever enterprise service bus is being used provides reliable delivery.
What is most valuable?
One of the key features I find unique and most useful in Mule ESB is the loosely coupled architecture, allowing for multi-delivery where the same data can be sent to multiple systems. It ensures reliable delivery and prevents issues, which is one of the biggest features. It is also reusable, meaning the same service can be used in multiple places simply by adding it, and this comes with the API-led architecture that makes integrations more secure and reliable.
Regarding API management capabilities in Mule ESB, I find that it is a good feature that adds value to the current market strategy. MuleSoft is a leading tool for API management, providing secure integrations with customers and different clients. It has the capability to set up security policies, including auth-based authentication, JWT-based authentication, and client ID enforcement. Everything can be set up in API management, which is a very good feature of Mule ESB. It also allows integration with Active Directory for authorization and enables role-based access to the API. While there are some limitations compared to tools like Apigee or Kong gateway for API gateway features, Mule ESB excels in secure enterprise application integration. When assessing the best tools for customer needs, I consider the specific requirements and evaluate the features accordingly to propose suitable tools.
What needs improvement?
In my opinion, the real-time analytics part of Mule ESB is not up to the mark for the decision-making process. While there are some analytics features, they lack the standards needed for enterprise use. Compared to other analytics tools such as Power BI, MuleSoft falls short.
Points for improvement in Mule ESB definitely include enhancing the analytics capabilities because currently, they rely on external logging tools such as Splunk or ELK, which is lagging behind compared to other tools such as Workato that offer more analytical features. Additionally, issues arise with AI-based use cases due to dependencies on Salesforce tools such as agent force, making development more complicated when it should be more independent. Developing AI-based agents without being tied to Salesforce applications could also enhance functionality.
For how long have I used the solution?
I have been working with Mule ESB for almost six to seven years.
What do I think about the stability of the solution?
Mule ESB is a stable product, and I have no doubts about its reliability.
What do I think about the scalability of the solution?
When it comes to scalability and the ability to expand, I would rate Mule ESB as an eight or nine.
How are customer service and support?
The technical support from Salesforce is moderate, and I do not have extensive support to rely on.
How would you rate customer service and support?
How was the initial setup?
The initial setup process for Mule ESB is comparatively a little complex.
What other advice do I have?
Regarding pricing for Mule ESB, I would rate it as a ten, indicating it is high. The pricing is comparatively high when looking at other tools, and they recently introduced customized pricing options, but I am unsure of their feasibility in practice. Mule ESB's pricing structure, which is based on flow development and other factors, does not seem realistic, especially since Mule ESB is already established in many organizations. Customers indicate that they feel they are paying excessively for current integrations.
The ability to work with multiple messaging patterns in Mule ESB, such as publish-subscribe, asynchronous requests, synchronous requests, synchronous request-reply, and asynchronous request-reply, is very useful as each has its own advantages based on the requirements. For instance, when working with SAP applications, asynchronous request-replies are beneficial because pushing data to SAP can take time, and events can be generated as request-replies through messaging. Synchronous request-replies can also be implemented using a queue-based mechanism to push data and immediately receive it. Topic-based subscriptions allow for multiple subscribers to get the same message, adapting based on functional requirements.
I have worked in both on-premise and cloud environments with Mule ESB. Nowadays, everything is oriented towards cloud-based environments because cloud tenants are widely available. On-premise systems are typically used when there is a need to limit external access and remain behind a firewall. The biggest disadvantage of on-premise is that all application monitoring, infrastructure monitoring, and overall control remain under the organization. In contrast, cloud-based infrastructure is maintained by service providers such as AWS or CloudHub, which is advantageous. Additionally, many organizations are now adopting hybrid architectures where external cloud applications connect with CloudHub, and on-premise applications can be developed through virtual private cloud connections, effectively supported by MuleSoft.
Mule ESB can indeed be deployed on various cloud providers such as AWS, Azure, and GCP. The approach varies based on customer requirements. For instance, organizations may have their own private cloud where MuleSoft can be installed using Runtime Fabric (RTF), which operates within specific enterprise environments. RTF utilizes Kubernetes clusters and Docker for deployment, providing flexibility. Additionally, applications can be installed on public clouds or within CloudHub, demonstrating the versatility of deployment options.
Overall, ease of development needs improvement. The stability of the product is commendable, while the pricing should be around a five. Scalability is strong, around an eight. My overall rating for Mule ESB is between seven and eight.