What is our primary use case?
We primarily use Matillion ETL to effectively manage data's movement, ingestion, and transformation through pipelines. We have specific use cases that involve different types of data, but they all fall under the general bracket of data movement.
How has it helped my organization?
We've got customers that have used Matillion to stand up entire and data platforms. We have customers that use it on a daily basis to perform heavy data movements and pipelines. We have a whole load of different case studies for different customers for different technologies. For example, Optio used Matillion to actually build a full new data platform and those pipelines.
What is most valuable?
The most valuable feature is the ability to put together pipelines that push down all of the logic into Snowflake. So none of the actual execution or none of the data you need to travel through. But we can do it in a GUI-based system, which is a lot easier to hand over to end-users. Most end-users, in my opinion, have an easier understanding of GUI-based tools than code-based tools. And Matillion just has a whole load of features that assist with that, they get integration allowing you to have the exact same as slow but apply it to different environments or push code changes through two different environments is really useful. And their ability to leverage different forms of iterators over variables control tables, etcetera, so that you can orchestrate a whole variety of things in one go instead of having to kind of train them up.
What needs improvement?
So the main thing I would like to see improved in Matillion are two things. Firstly, their ability to process concurrent workloads. Right now, the concurrency reaches a stalling point if too many things are added, and it gets stuck waiting for each one to finish.
Secondly, Matillion needs an improvement in its backend integration and the way that it pushes things through. It is already good, but it could be cleaner. I will say that I think both of those issues are being addressed in the new platforms that are coming out. Matillion Unlimited Scale is the new answer to concurrent workloads, and Matillion Data Productivity Cloud is their new software-as-a-service version of a Matillion ETL provider, including a deeper git integration. So my concerns are being addressed, but those are the two things that stand out to me the most right now.
For how long have I used the solution?
I have been using Matillion ETL for four years.
What do I think about the stability of the solution?
It is a stable solution. However, the stability depends on how you host it. If you choose to deploy it on a robust virtual machine with ample RAM and CPU, it will be more stable. On the other hand, if you put it on a smaller virtual machine, it might be less stable.
From an architecture standpoint, Matillion is as stable as any other virtual machine. However, the software has some memory leakage issues that may affect its stability. I suggest restarting your Matillion instance regularly to clear out the memory. It's also a good practice to shut down the instance when not in use. We have some customers who keep the instance on for only 20 hours a day and have a process that automatically shuts it off and starts it again four hours later.
What do I think about the scalability of the solution?
It is a scalable solution, but with the new versions coming out, they call it "unlimited scale." So, the latest version of Matillion is a lot more scalable. The current version, in my opinion, is a bit more limited because it's on a virtual machine, and everything executes on that one virtual machine. If you have more users, you may need to deploy additional virtual machines, which can be quite cumbersome and require keeping them in sync. However, the new unlimited-scale approach means having one designer and one front-end.
All the workloads are delegated out to Elastic containers, so it's very easy to log in to the configuration for the containers, change the number of containers that will be active, and scale out that way.
The maintenance part can be a bit of a challenge. Matillion has come quite far recently. It used to be that in order to perform an upgrade, you had to set up a completely new machine and migrate everything from the old one to the new one. That was a lot more of a headache. These days, they do support in-place upgrades. So, you can just click through a few app admin options, perform an update, and it will update the instance. However, if you go that route, you might still need to perform a full migration over the span of a year or so by setting up a new one before the full migration. It is because the more the underlying processes change, the more those in-place updates eventually fall behind, especially in terms of keeping the VM itself up to date. In-place updates only really update the Matillion application running on the VM and not the underlying libraries, etcetera.
How are customer service and support?
Over time, I have escalated quite a few things to the customer service and support team. They're good. They respond not just to our partners or us, but we've seen customers raise questions themselves, and they usually get a response from Matillion within a day.
Matillion is always happy to jump on a Zoom call or something to try and resolve the issue. Also, they have an active ideas platform. So, if you go to the Matillion forum, there's an ideal area. They are quite good at taking the most uploaded ideas and implementing them into the tool going forward. I think there's a nice combination of the support dealing with existing issues and the developers trying to improve based on the community's input.
How would you rate customer service and support?
How was the initial setup?
Only one person is required to deploy the solution. The process is relatively straightforward and takes around one and a half hours.
What about the implementation team?
The deployment model for Matillion ETL depends on the customer since we are a consultancy with several customers in different capacities. However, the majority of our customers use the cloud-hosted equivalent and host it in their own cloud environment. We don't have any customers who host it on-premises, although it is possible. Customers typically host it on their platform.
Additionally, we do have access to Matillion's own as-a-service beta, but it is only in a private preview environment. We only use it for general testing and experimentation.
For the deployment process in the current world, you would log in to Resilient and create an account on Matillion Hub. That is the process that allows you to get started with Matillion Hub. Matillion often helps you with this process if you are a Matillion partner. You go through Matillion Hub, put in your details, and then you can decide which platform you want to deploy your virtual machine to. You can choose between Azure, AWS, and GCP.
When you choose a platform, it will give you a template report bespoke to that environment. For example, if you're deploying to AWS, it will give you an ARM template. If you do it on Azure, it will provide you with a kind of shared instance template or a VM template. Then you just need to configure a few options, and it will deploy the instance to stand up for you. That's the current process.
In the new world, when Matillion launches its Data Productivity Cloud, things will change. It's delivered as a service, so I imagine the deployment will be much simpler. But my understanding is that it will still leverage your own custom zone containers to process the workloads. So the process will be very similar to what's currently used to deploy the virtual machines, but it will be used to deploy the elastic containers to which the workload will be pushed out.
What was our ROI?
I have seen ROI. For example, one of our customers in the UK has used Matillion quite extensively. They had a challenge where they were a group of different smaller companies, and they wanted all their engineers to work collaboratively on a single platform. That's where Snowflake and Matillion came in. They have one instance that's managing to serve all of these different sub-companies and sub-engineers, and they are easily recuperating the cost of that in order to provide data. But it is worth noting that they're not a profit-based company; they are a public health service, so it's more that they are saving money as opposed to making it.
What's my experience with pricing, setup cost, and licensing?
The current pricing is based on consumption. So when you spin up a virtual machine, the size and type of the machine will determine the hosting cost by the provider, like Azure.
Before considering the licensing cost of Matillion itself, you need to consider the cost of hosting the virtual machine, which is an additional cost. Matillion charges one credit per hour for each virtual CPU that the VM is using. So if you choose an 8-VCPU virtual machine and run it for 24 hours a day, the cost can add up quickly. The price per credit varies depending on your tier, but I think it's around $3.50 per credit for the top tier of Matillion and $2 per credit for the lowest tier. If you Google Matillion pricing, you can quickly find the dollar amounts. But you can manage these costs by shutting down your instance when you're not using it with an automated process.
Which other solutions did I evaluate?
In my opinion, none of the tools in this particular space right now are perfect, including Matillion. However, Matillion seems to be the best of the bunch. Its UI looks a bit dated at this point, but I find it reliable and relatively easy for users to get going with.
There's not a big learning curve in Matillion. You can log in, and within about half an hour or an hour, you can know how the general platform works and how to get going. The main benefit I've seen that I haven't seen in some of the other tools is the ability to easily change which environment you're working with, such as swapping between dev, test, prod, or GitPrime and executing a flow in that location quite easily.
What other advice do I have?
The main thing to consider before using Matillion is the specific reason you want to use a tool like it. If you need a combination of data ingestion and transformation, then Matillion can be a great option.
Additionally, if you expect to load large volumes of data that will be used across multiple avenues, Matillion is a good choice. On the other hand, if you only need data ingestion and with more manageable volumes or ingesting streams, it might be better to look at a tool like Fivetran. However, they charge you based on the volume of rows or records you ingest. So, if you ingest large volumes, your costs can rapidly increase and overtake your maintenance costs.
Overall, I would rate Matillion ETL an eight out of ten.