Build vs Buy: Why DIY is not always the answer for DevOps database monitoring
Build vs. Buy: Why DIY is not always the answer for DevOps database monitoring
By Cameron Jones
Like it or not, DevOps today means being an application developer as well as a part-time database administrator. If you’ve deployed a new cloud database platform to support your application, you probably now have to support it. To do that, it’s not uncommon to turn to your DevOps monitoring toolset, but many off-the-shelf apm or homegrown monitoring solutions don’t cover database health and performance metrics at the depth you really need.
Once you’ve realized that, most developers first instinct is to build a solution yourself. Afterall, it’s the best way to get exactly what you want. It will certainly integrate with your existing toolset. Plus, enterprise monitoring solutions are expensive, right? Maybe. Ultimately the Do-It-Yourself approach to database monitoring is likely to be way more hassle than it’s worth. Here’s why:
Off-the-shelf isn’t always expensive
The idea that you can build a custom database monitoring tool cheaper than something available out of the box is a myth in today’s multi-database platform reality. That means you should expect to connect more database platforms to any monitoring solution you’re currently considering. The truth is the variety of database platforms has gone up and costs of database monitoring solutions have gone down, as the industry migrates to SaaS. An enterprise-class database performance monitoring platform today can run as little as $40/month.
To successfully pull off the DIY approach most companies choose to dedicate a software engineer to building the initial integration, but they often don’t think about what it will take to maintain the solution, which some estimate to be about 20% of the initial development time. That’s one day a week in which you are not working on your code. I know where I’d rather spend my time.
Time is money
As good as your talent it is, it’s tough to beat the deployment time for an out-of-the-box monitoring platform built by a team of experts that eat and sleep database platforms and DevOps monitoring–something most developers do not. Time is a critical consideration especially when you consider that the driving force behind improving database performance monitoring is usually a major event or outage.
Today you can be up and running with a full-featured monitoring platform in as little as 20 minutes compared to the typical two-week sprint cycle it takes to develop a minimum-viable monitoring tool from scratch. Not only does that get you on the path to troubleshooting and optimizing faster, but it gives you access to a wide range of other features and visualizations your DIY tool would likely never have, helping you better manage your database performance.
DIY often means more technical debt, less adoption
DIY solutions are often written for a specific use case that reflects your current environment. You may be able to spin something up quickly that’s a custom-fit now, but it can also present challenges as you pivot and scale. When something new comes up, like supporting a new database feature or a new database type, or a forced migration to the cloud from the powers that be, it can be difficult to keep that custom tool useful. Managing multiple databases with different data sets can result in areas where the team lacks visibility into key data metrics and configurations. It can also mean different ways of approaching alerting. These so-called database “blind spots” often result in the development of a library of homegrown scripts which are inevitably difficult to maintain to provide the required functionality.
DYI solutions often lack the API-integration or webhooks that easily bring the data into multiple visualization tools across your stack and extend your tools reach across multiple teams. Enterprise-grade platforms are constantly evolving to add new features based on common customer use cases and feedback, which keeps you ahead of the game and helps you work more collaboratively.
Lack of currency
Most DevOps teams who opt for a DIY approach build the tool reactively as issues arise. However, as databases evolve and updates are released, or new databases come to market, the DIY tool is being left behind. Documentation can be limited and often DevOps will need to collaborate with someone with a long history of working with a given database platform, someone who knows the ins and outs of multiple generations and version updates, to best remedy the issues at hand. Out-of-the-box database monitoring solutions are constantly updated to reflect the current state of databases ensuring you always have support for the latest version.
When exploring whether to build or buy, ultimately you’ll know what’s best for your team. Just be sure to weigh all of your options. And although it may be hard for some of us to believe, sometimes there is a better answer than one of our own hacks, particularly when it comes to something as critical as monitoring. There are plenty of cautionary DIY monitoring tales, like this 451 Report on Box moving to Wavefront, if you care to search for them. Today’s full-featured database monitoring platforms deliver comprehensive support for a wide range of RDBMS, cloud, NoSQL, and NewSQL databases, a toolset that encourages widespread adoption and use, with rapid deployment and compelling price points.
Want to save yourself the trouble of a DIY database performance monitoring tool? See if Selectstar’s enterprise-class database performance monitoring platform will work in your stack. Start your free 14-day trial today.