With growing development and support costs as well as the need to maintain a sustainable business, it became apparent that maintaining the OSS release of Tungsten Replicator (TR) just wasn’t viable. Earlier this year we decided to close it down, instead focusing our efforts on improving and developing its commercial release whilst also growing our flagship commercial product, Tungsten Clustering.
For many businesses, Open Source Software (OSS) is still a very viable solution in many use cases, and I'm sure it will continue to be so for a long time, but I wanted to explore whether an OSS solution really is as free as the $0 price tag suggests. In this blog I explore just that..
The hidden costs of OSS
Over the last few weeks I stumbled across a number of blog posts, discussing the “hidden” costs of OSS. All approached the topic slightly differently but underlying all of them was the same message…How free is that free piece of software?
I thought I’d pull some figures from a few sources and try and actually put it into some kind of cost perspective, using what I know from my experience as a DBA over the past 25 years and my experiences over the last 4 years working at Continuent.
What are the costs to the OSS Developer?
In terms of costs to Continuent, we need to assess the following questions:
- How much did the development and maintenance cost?
- How much was spent on Marketing?
- How much time was spent by support staff manning the community forums?
- How much was spent on infrastructure such as maintaining online documentation and associated repositories?
According to glassdoor.com, average salaries in the US for a single Java Developer, a Technical Marketing Engineer, a QA Engineer and a Support Engineer would set you back about around $320k/year. Sure, those roles aren’t solely involved in the development and support of the OSS, there are many other responsibilities, but just assuming that 1/3 of their time is spent on OSS, we’re still in the region of $100-$120k/year – that’s before you even take into account any of the material costs (Equipment, hosting, etc.).
What are the costs to the End-user?
Let’s now dig into this a little more from the perspective of a user. You’re a hard working DBA, given a project to find a solution to replicate sales and order information from your production MySQL databases into your warehouse system, in real time. Your only remit is “as cheap as possible”.
OSS suddenly becomes attractive – this “free” solution that can do just what you want and it won’t cost you anything…or will it?
Your only guide to installation and configuration is the online documentation and public forums. You may or may not get the response you need straight away, but maybe in 2-3 days you might have some help from someone on the other side of the world.
Fast forward 6 weeks and you’ve just about managed to get the product configured and you’ve started to see data replicate, but in that time you’ve needed the help of your network engineers to open up firewalls. You’ve pulled in System Admins to set up an environment for you to install on – maybe a week’s worth of waiting for hosts to be configured.
Let’s look at the average salaries of all the staff you’ve had to call upon for help:
6 weeks may have passed but let’s for arguments sake say that the actual time spent was around 4 weeks in total, with an average salary of the 3 roles combined at $260k/year, we’re looking at about $20k so far.
Add on top of that the infrastructure costs (AWS Instances for example) and then the ongoing support of this. What happens when you hit a bug? As much as any developer would love to ship 100% bug free products, it’s unlikely!
If we average all this out, we get setup costs that look somewhere in the region of...
- $20-$25k of staff costs to set it up
- $1200/year AWS costs (approx. based on a single c4.large instance)
What happens when things go wrong?
So what could an outage cost the business? Let’s say your production MySQL database(s) take sales for an e-commerce website, that on average take around $4m worth of sales per day. During seasonal sales, that could easily be double.
You’re now using this “free” piece of software to replicate information about these sales to your warehouse system. If the warehouse system doesn’t receive the orders, you start loosing money because you can’t ship your products. It’s 8am on Black Friday, your support staff get a call, replication is broken. They call you, the clock is now ticking, your business is loosing up to $5000 PER MINUTE.
You don’t know if this is a bug with Tungsten Replicator, or a bug with MySQL – luckily you have paid support with Percona, but they don’t know anything about Tungsten Replicator and rule out a database bug. You search the community forums and hit jackpot; you find the solution, however, it’s taken you 2 hours to get to it. Your business has lost upwards of $600k of orders.
This single outage in the first year has just put a price tag of approx $625k on your "free" solution, so the question now is how free was that free piece of software?
But surely a commercial solution won't be much different?
Well, of course, you still have staffing costs to consider and the costs of AWS, some of those are unavoidable, but it would be less. Time to go-live would be quicker, plus you will get plenty of training up front so you are able to support the system.
If we take the support from Continuent as an example, full 24/7 support with no restrictions is included in your subscription. On average, our first response time for urgent requests is ~5mins, average resolution in under 1 hour, although generally closer to 30 mins.
Based on the figures above, this puts your setup costs around the same, maybe a touch higher when factoring in the support costs
- $10-$15k of staff costs to set it up
- $1200/year AWS costs (approx. based on a single c4.large instance)
- $15k/year support contract*
*Actual cost of support would vary based on a number of factors such as size of deployment etc.
But that outage would still hit the business hard, right?
Yes, of course, any outage is going to hurt, however let's take the Black Friday example and work it through again.
Your front line support team place a case with Continuent, and we’re on a call with you in less than 5 minutes. Within 15 minutes we’ve identified the issue(s), after 30 minutes your system is operational.
Whilst 30 minutes outage is still not ideal in a business where the risk if $5000/minute, the impact here of $120k vs $600k suddenly adds considerable value to the annual support cost.
So, when it comes to that little piece of software with a $0 price tag, just take a moment and ask yourself if it really is going to be free. Yes, there are many perfectly valid use cases for using OSS software, but ensure you fully understand the risks and potential business imapact from an outage first.
I’m sure the figures presented here can be pulled apart and argued for/against, my point here is illustrative based on real experiences I have personally faced in my career.
*Avg salary figures sourced from glassdoor.com