Heroku versus Mulesoft — When to Use Each and When to Use Both
If you’ve ever Googled, “What exactly does Mulesoft do?” you wouldn’t be alone. Or if you’ve ever read a case study in which Mulesoft was used to connect Salesforce to a SQL server, and then to sync data in a Postgres SQL database with Salesforce using Heroku, you may be confused as to how each tool functions, you’d still be in good company.
And listen, maybe you just read the terms SQL Server and Postgres and feel completely lost. But I’m here to tell you that you don’t need to be a developer to understand what Mulesoft and Heroku can do.
You’re probably reading this post because you’re interested in integrating and syncing data between platforms. Maybe you use Salesforce as well as another database and want to integrate the two. Maybe you’re building an app and want to sync your app’s data back into Salesforce. Whatever brought you here, I’m going to skip as much of the dev speak as possible and talk about these tools in terms of integrating and syncing data, particularly when Salesforce is in the picture.
So, here’s lesson number one: Heroku and Mulesoft work together. Or they work separately. But they don’t do the same things.
Let’s start pulling this apart.
Integrate Data Using Mulesoft
As one wise person once described it to me: “Mulesoft is about connecting anything to anything.”
You might see the term iPaaS bandied about in connection with Mulesoft. That’s a fancy way of saying that Mulesoft is a platform you can log into in order to integrate other platforms with one another.
So, what does that mean? Let’s look at an example. Perhaps your organization uses Salesforce for development and project management, but uses Workday for financial management. Occasionally you might want the two systems to share data with each other. In order to do that, both systems need to speak the same language. Mulesoft helps connect disparate platforms — like Salesforce, SQL Server, Oracle, SAP, Workday — and ensures that data is transferred from one system to another in an acceptable and recognizable format. So, what do I mean by acceptable format? Let’s say, for instance, one database stores dates as ‘2019-06-18’ and the other stores dates as the number of seconds since January 1, 1970 (we’re looking at you, Unix time). Mulesoft works by ensuring that the two systems can recognize the different date formats to trade data.
And if you want to get a little technical about what makes Mulesoft so special in comparison with other iPaaS systems, let me tell you about a special little thing called an API. Mulesoft is all about API integrations, and the best thing about this is that these integrations become reusable. So if you build a connector for an Oracle database with the initial intention of integrating data with Salesforce, you can later use that same connector to integrate that Oracle database with another platform, too.
Process and Sync Data on Heroku
If Mulesoft is an iPaaS with a lowercase i, Heroku is a PaaS with no little i at all. A platform as a service (PaaS) is a cloud system that allows people to more easily develop and run applications. Mulesoft helps integrate multiple platforms, and Heroku is a platform that helps you process and sync data.
Let’s think about it like this: maybe your organization accepts donations from around the world. In this case, you'd need to serve localized information to each donor, and route each donation to an appropriate payment processor according to the donor’s country. On its face, the concept is easy for you and your potential donors to comprehend, but the technical process behind that data transfer is a lot more complex. It’s kind of like ordering at a restaurant — you choose what you want, communicate your order to the waiter, and a little while later you receive your meal. It may seem as though your meal just magically arrived, but you generally never see the complex processes that go on in the kitchen as the chefs prepare it.
Now, consider using a custom donation application built on Heroku that shares data with your Salesforce database. Heroku supports all your custom logic and design — the need for localized language, country-specific payment processing, and customized design — and syncs appropriate information to Salesforce. Best of all, since Salesforce and Heroku work seamlessly together, syncing processed data from your Postgres database into Salesforce doesn’t eat up all your org’s API calls.
Make Mulesoft and Heroku Work Together
Finally, let’s talk about a very common situation: Mulesoft and Heroku working together.
Let’s use our worldwide donation application again as an example and complicate it just a little further. Sure, Heroku and Salesforce work seamlessly together, but let’s remember that we also need to send financial information to a payment processor. Also, maybe we need to sync some information to a SQL Server database and we want to keep all our data in a data warehouse for eventual analysis. We’re really talking about multiple API integrations here, and as I mentioned above, API integrations are best served by Mulesoft.
How can the two work together? Heroku acts like the hub for computing everything. It processes and moves data, and directly attached to it are things like Salesforce, Marketing Cloud, data syncing with Heroku Connect, and Postgres databases. But Mulesoft can extend Heroku’s integration capabilities, allowing us to set up API integrations with other databases and platforms.
In conclusion, here’s lesson number two: even if it’s possible for non-developers to understand what Mulesoft and Heroku do (and hopefully you do now), these aren’t declarative tools in the same way Salesforce is. They make the job of a developer a little more declarative, but you still need a developer to set them up. Heroku and Mulesoft extend the capabilities of the Salesforce you already know and love — you’ve just got to let yourself dream big.
That’s where Idealist Consulting comes in. Need to get data from one platform to the other? Got a wild idea for an app that helps your organization advance its mission? Talk to us. We can help you decide what tools you need to make it happen.