Why moving to ‘a bigger server’ won't save you from site crashes
A lot of people approach CrowdHandler thinking they need to choose between paying for an online waiting room, and paying their hosting company for a bigger server.
I wanted to explain why that’s usually a false choice.
The assumption that a site expecting to see more traffic should upgrade its server is common one. And for websites seeing a steady, incremental increase in visitors, it could be the right answer.
However for sites experiencing occasional but significant spikes in traffic, like those our customers tend to experience, paying for a bigger server instead of a waiting room product can end up being an expensive and frustrating mistake.
Why bigger isn't necessarily better
I get it. You went live with a sale and the website crashed. You knew you'd get a lot of visitors but perhaps, on the day, the number took you by surprise. Or perhaps the site just didn't cope the way you expected. And yes, we know, it sucks. But it's actually really common. It's incredibly hard to model the kind of traffic spikes we're talking about here.
So, you huddled. Perhaps your marketing manager suggested going to your web host: you're currently paying $500 a month for your server, and surely if you pay $1000 a month, you'll get a server twice as big. It will handle twice the traffic, right?
Perhaps your hosting company has already given you some specs – the package they're suggesting offers eight giga-somethings, and 48 CPUs, and a bunch of other stats and numbers that sound better than what you have.
But if you’re having niggling doubts, you’re probably right. The truth is, for websites that experience irregular traffic spikes, it's not that simple.
Sites with spikes need a specialist product
Firstly – would doubling your hosting costs actually cover the scale of the problem?
If you go for large periods of time with very little traffic, and then occasionally (say, every Friday morning), everyone turns up at once – you're likely experiencing not double, but twenty, fifty, perhaps a hundred times the traffic during those few hours. Doubling your hosting costs would be unlikely to scratch the surface. You may need to spend a hundred times that, just to cope with your weekly sale.
In terms of spend, that's unlikely to be a good return on investment.
But let’s say money’s no object, and you can pay for seriously powered-up infrastructure that can handle many multiples of normal traffic. Your overall investment needs to cover more than just “a bigger server”.
And that’s because when you’re talking about website infrastructure, there isn't a single piece of kit that can be scaled up or down to deal with things. Even if you do scale up your hardware, it's likely you will also need to do some expert configuration to the individual pieces of software running on it – the database, the web server, hopefully a caching layer, or CDN (content delivery network) – to ensure they can serve a high demand website. These pieces of software interact with each other, and they all have different roles, creating different pinch points and bottlenecks. All of this has to be carefully tuned, configured and managed. Your web host isn't going to do this for you. So, even if you heavily invest in hosting costs, you're probably also going to need to pay an expert to spend a lot of time making sure the configuration is absolutely spot on.
We're talking painstaking load testing, and potentially rewriting core website code. If, like many of our customers, you're running some standard content management system or framework like WordPress, you won't be able to significantly modify the core product anyway.
And, it's really hard to accurately model what your traffic spikes will look like. You could spend lots of time and money testing and speculating, but until your sale goes live no-one really knows what is going to happen.
Can't we just use AWS?
I hear this from a lot of people. And, I mean, sure you can, but you can multiply those costs again. If you want to build a truly scalable website on AWS, it's not just a matter of giving them your credit card; you need an expert in AWS to set everything up for you. Even if you're paying AWS for premium support, they will be expecting to speak to an application or infrastructure expert in your organisation – the sort of expert you may not have in your team.
Do the math
Hopefully you’re starting to see how scale isn’t easy for the simpler websites we work with at CrowdHandler.
But even for those clients who are experts with the latest serverless AWS or Kubernetes setups, there may still be mathematical reasons why unlimited scale is impossible to achieve.
If you're selling something that is non-fungible – in other words, mathematically limited – whether that's an NFT or a theatre seat, there are built-in mathematical bottlenecks. You can't sell seat 34H more than once for a specific date, so you can't scale out by replicating that product across multiple servers. (I know your resident techie is very smart and thinks it is just a matter of using the right database product, but trust us, in the end, they won’t beat mathematics).
So, in many ways, your hosting specs may be irrelevant anyway – because it's not about how fast a machine can do a computation, it's how many parallel computations your server farm will be able to do to serve many parallel users, and whether those computations can truly be done in parallel in the first place.
Expertise
So I’ll sum up: if you think that you're making a choice between a bigger server and a waiting room – even if that server is an expertly maintained cluster on AWS, the apparently infinitely scalable magic server that can deal with any demand – it's probably a false choice.
With an online waiting room like CrowdHandler, you don’t need to know exactly what’s going to happen. You’ll be able to deliver traffic at a rate you can handle regardless, even if that rate is lower than you initially hoped. Better still, this actually buys you the space and time to identify where the real world bottlenecks actually are, and improve for next time, instead of firefighting on social media.
And if you are considering buying in expertise, then the most cost-effective way to do that is to use an online waiting room product like CrowdHandler. Because CrowdHandler was built by a team of scalability experts, who understand the unique problems of websites and sales platforms just like yours and we put all of our knowledge about scalability into it.