Budget is precious nowadays. It’s tough to get budget for headcount, but sometimes it is surprisingly easy to get budget for tools. Good tooling can really take the pressure off overworked DBAs by automating the more laborious tasks; by helping us pinpoint issues fast, reducing the risk of missing something because of human error; and by allowing us to get ahead of an issue so that we are already solving it by the time our users experience it.
When it is time to approach the “pointy-haired boss” with a proposed investment, it is important to have a detailed assessment of the full cost of ownership of any proposed tooling. Very often, we focus purely on the direct costs and overlook indirect costs such as infrastructure or resource costs required for set-up, configuration, or maintenance.
Depending on your organization, how you manage your budgets, or where you have money available, you may prefer to front-load your costs with bigger up-front investments associated with your capital expenditure (CapEx) budget, or it may suit you better to spread costs evenly over time and associate them with your operational expenditure (OpEx) budgets.
In recent years, software as a service (SaaS) tools have given organizations of every shape and size access to sophisticated and extremely powerful software at manageable ongoing costs.
SaaS is not for everyone. Apart from the payment schedule, one key decision point to consider is the TCO. The following table should help you frame your consideration.
For more details on the makeup of a typical performance monitoring system, check out our blog: Database Monitoring Architectures.
Below, we refer to “monitored endpoint.” This can refer to a monitored database instance, the operating system, and/or the hypervisor on which it is installed.
Typical Factors for Cost of Ownership of a Monitoring Solution
|Traditional On-Premises Solution||SaaS Solution|
License and Subscription
For traditional on-premises software:
- There is typically a significant up-front license fee. This will suit organizations that would draw from a capital expenditure (CapEx) budget.
- Factor in annual maintenance, which is typically about 20 percent of the initial license cost. Access to updates is vital because database patches and updates can break data collections.
For SaaS solutions:
- SaaS is based on a recurring subscription. This avoids big up-front outlay. This will suit organizations that prefer to deal with software under an operational expenditure (OpEx) budget.
- If you happen to be cash-rich, explore a multiyear subscription, which should deliver good discounted rates from the vendor.
- Most SaaS monitoring software is billed annually. Monthly or pay-as-you-go models are less common for monitoring and will typically be more expensive.
- Flexibility comes at a cost. If you have a good idea of quantities and longer subscription terms, then locking in will give better value.
- If the subscription is tied to the levels of data gathered, then be careful to calculate your projected data requirements. Performance data can get big fast. For more predictability, look for solutions metered on the monitored entity rather than data stored.
- A hosted solution should include the cost of data storage and ongoing maintenance.
The Moving Parts
Performance Data Collection
- Factor in any hardware required to host the service, which collects data from the monitored endpoint. To avoid impact on the monitored instance, the monitoring software should not reside on the same machine. The data collector should be “agentless.”
- Consider the number of SQL server connections you will monitor. If you are also monitoring the host operating system and/or hypervisor, this should also be factored in.
- Check vendor documentation for guidelines on how many monitored endpoints a single data collection service can support.
- If multiple data collection services need to be “federated,” then multiple data collection hosts may need to be specified.
- For SaaS solutions, they may have an on-premises data collector for on-premises workloads and replace this with cloud-based services for data acquisition from database as a service (DBaaS).
Short-Term Diagnostics Repository
Factor in the cost of the database instance required for the short-term diagnostics repository. This is where detailed data is stored to facilitate diagnostics and playback features. Its size depends on:
- The number of monitored endpoints
- The volume of metrics tracked
- The frequency of data collection of each metric
- Whether SQL code and/or execution plans are retained
- The amount of history retained
Check vendor guidelines concerning the volume of diagnostic data per monitored endpoint per day of data retained. The volume of history retained tends to range from 1-4 weeks for most on-premises solutions. Anything longer will require significant storage, as well as significant compute resource to drive the analysis required.
Long Term Analytics/Reporting Repository
On-premises solutions will take detailed data from the diagnostics repository regularly, aggregate it, and store it in an analytics or reporting repository. Check vendor guidelines concerning the volume of reporting data per monitored endpoint per month of data retained. For larger installations, you may need a separate database instance for your reporting repository, which should be factored into your costs.
- Consider whether you want a traditional on-premises or SaaS solution.
- Establish how many monitored endpoints you require. (SQL Server, Windows, Linux HyperV, and so on.)
- Establish how many data collection services you need, the host requirements, and the related costs.
- Factor in any license costs associated with your infrastructure, e.g., Windows Server or SQL Server instances.
- When assessing the cost of on-premises storage, you may have a set price per terabyte that your IT team will charge. If not, consider the total price of on-premises storage. A good guide is published by Wasabi: “Does it Pay to Move from On-Premises to Public Cloud Storage?”
- For on-premises solutions, consider the hardware and licensing costs of the host and any databases required for diagnostics and reporting data.