If you’ve been a developer for any length of time, you’ve been tasked with connecting data from system A to system B. It could be data from your ERP to your Ecommerce web store, or it might be from your CRM to your Marketing tools. These ‘point to point’ integrations work well when a business is in it’s infancy along the path of digital transformation. Unfortunately, as the number of point to point integrations grows, so does the complexity of trying to maintain those systems. They become so fragile, and so unstable, that the entire IT team is afraid to touch them let alone replace them (which would feel like a herculean task). In addition, dev teams outside of central IT are slowed down because central IT is spending all of their time maintaining and keeping those systems working and online. What if there was a better way?
What is an iPaaS, and what is Mulesoft?
iPaaS is short for “Integration Platform as a Service”. There are quite a number of vendors in this space: Zapier, Jitterbit, Dell Boomi, Celigo, and Mulesoft. Mulesoft was acquired by Salesforce in 2018 and has been iterating and improving the solution since. All of these products have varying degrees of features and capabilities, but the goal of each is the same: to improve the business system integration experience.
Look at the diagram below from Mulesoft, and compare that to the diagram above. Mulesoft takes a layered architecture to integration, and separates out the systems, business processes, and experience points your customers and dev teams use into logical layers. To do this requires you to slow down slightly, organize your infrastructure and setup a good foundation, so that you may speed up and move rapidly going forward.
The diagram above is composed of three distinct layers:
- System APIs – these are your foundational assets for your business, which are unlocked by central IT. Think of these as your business system logos.
- Process APIs – these are your reusable assets that your line of business teams compose and build and then enable for discovery.
- Experience APIs – these are the reuse and consume endpoints that actually service your business applications.
Features of Mulesoft
A variety of technical and non-technical features make Mulesoft a leader on most industry vision/feature charts/waves/quadrants (or whatever new term marketing for these rating systems comes up with). Instead of going into detail, which would make this post too length, I will list those features here in a bulleted list with callouts for you to learn more:
- Design Center – design your API interface/contract (much like a C#/Java interface) using RAML or OpenAPI 3.
- Anypoint Exchange – publish (or privately share) your integration assets such as your APIs. A large set of connectors to common enterprise business systems exists here already which you can use to speed up development for you (i.e. AWS, Salesforce, Twilio, MongoDB, SAP).
- Anypoint Studio – a desktop based IDE for building and implementing the concrete implementation of your API specifications/contracts.
- CloudHub – where your application is deployed. You may also use Runtime Manager to self-host or cloud host your app on AWS/Azure.
- API Manager – maintain access, rate limit, secure, and proxy access to your integration assets.
- DataWeave – a data transformation language. They even have a playground to experiment with the syntax.
- CI/CD – treat your integrations just like your development workflows, and introduce governance and change management and automatic deploys.
- Community – like Salesforce, Mulesoft has their own set of Meetups and a very large community.
- Certification & Training – Mulesoft offers both in-person (paid) and self-paced (free) instruction you can use to learn and pass a variety of certification exams on the platform.
Why Mulesoft, and not <insert other iPaaS vendor here>?
Once you have decided that iPaaS is the future for your organization, to help speed up development and bring all of the other features the paradigm brings, you may be tasked with weighing the pros and cons of the various vendors. Having already gone through this exercise, I can confidently say that Mulesoft will offer you the most in terms of reusability and enterprise capabilities.
The learning curve is high, but that is due in part to the technical capabilities of the solution. It is not just a pick system A, pick system B and map the fields between those two and define the event (i.e. Zapier or Skyvia). It is a complete ecosystem that is built up around the premise of integrations to support whatever business need you may have, and scales all the way up to the needs of the top businesses across the globe.
There is a long list of features, and I hope to one day put a video together so show some of them in more detail. This was meant to be more of a high-level introduction, to help you get started. Mulesoft offers a 14-day trial, which I would recommend pairing with their self-paced training. Udemy has a number of courses on the topic as well.
If this is an adventure you wish to undertake, you’ll want to be prepared with a good foundational understanding of systems/components (backend apps, microservices, mobile apps), interactions (EDI files, triggers, API requests), messaging (http-based, event-based), and interfaces (OpenAPI, GraphQL, SOAP). You’ll also want to be well versed on integration patterns (request-reply, one-way, multicast, and so on) as well as understanding foundational security concepts (OAuth, JWT).
Odds are, if you are already developing point to point integrations, you have a good foundational understanding of these principals, but Mulesoft really encourages and guides you through best practices for integration by providing the support tooling around these requirements. It’s a great product, and would really help enable any business to quickly grow their business.