Welcome to the fourth instalment of our series tackling the most common questions we hear from clients. As businesses prepare for their future, it’s important to be able to gauge whether their system is scalable. Here we discuss how to ensure your application or database can successfully scale.
Question #4: Will Our Application/Database Scale?
After we have performed an environment health check (or even before we begin), companies regularly ask us if their application or database will scale. This is usually before a significant business event like Black Friday or a merger between two companies. The company has an existing system that will shortly receive a spike in traffic, users, order etc. and they want to be sure that their system will be able to handle it without performance problems or, even worse, downtime.
The first step of our investigation is finding out what the status quo is. How well is the system performing and are there any latent issues that have been overlooked? The best-case result of this investigation is that we see a well-established system of monitoring/alerting for key performance metrics inside both an application and the database(s) that belong to it. We are then able to see what the current user base is and where the peak usage could be, as well as calculate how well the current setup should deal with the extra load.
Monitoring Makes a Difference
Unfortunately, this is based mostly on guesswork and assumptions that may or may not be accurate. A better option is assessing the current workload to generate realistic load-testing in a comparable test system to see where the system reaches its limits.
We also see a wide range of companies that employ zero monitoring of their applications or databases. A “report” of CPU usage over the day is deemed as “good enough”, with no long-term analysis and certainly no trending. Without monitoring, these companies are flying blind.
“What caused the system to be slow this morning at 09:30?”
“Why is the system not responding?”
“Who ran the report that blocked the system for an hour yesterday afternoon?”
“The system has had the same outage three times this month, why?!”
We have heard all of these questions many times over the years, and without a monitoring system, it is impossible to answer them. Of these recurring questions, the last is especially troubling, because the same outage has happened multiple times and it’s still not fixed. A regular monitoring and remediation process would identify and fix the issue, improving uptime and business continuity.
Both monitoring and trend analysis—together with load-testing using production quality data and workloads—will provide the clarity needed to determine whether a system will scale or not. However, both approaches should be considered for any system, regardless of whether a system is about to experience a burst of users/orders or if it is performing “business as usual”.
A healthy foundation is required to run a healthy database and this foundation is critical to allowing an application/database to scale, whether it’s to cope with more concurrent users or more data volume.
Have More Questions?
Not sure if your system’s current SQL server or windows versions can handle your operations? Book a call or send us an email—I’m always happy to offer guidance.