So, you want a website. Cool. Good decision. Websites are a critical tool for a business, an idea, or even just for an individual sometimes. You go and register your site name, you pay for that, and then the question of hosting comes up. What are all these options and what do they mean?
So the cheapest option you’ll see are “shared” hosting environments. These are best represented by a pie chart, or a literal pie. The host spins up a server, and then sells slices of the proverbial pie to people that are the server’s resources. This allows the host to save on the cost of hardware and support on their end, and results in what is solidly okay hosting. You are almost certainly going to be okay on a shared hosting plan at a smaller scale to start with. However.
Let’s say you design websites for a living.
You can just add website after website to a hosting account of any kind. They will happily add them, take the money for registration and put it in the same hosting pool you own. And this is fine to do, to a point. After perhaps ten development projects of varying kinds, you may experience performance on websites start to drop off. The backend of WordPress behaves strangely, or just plain badly, when you overload the server it’s on. This means 404’s when opening pages, plugin updates regularly failing and bringing the website to its knees, and just general frustration with any attempt to manage or change a website in any meaningful way. For this situation, the solution is simple. Move development sites off of shared hosting, and remove stale/debunked projects entirely. But, as the title suggests, this is not the solution for everyone. Let’s say you have reason to have 20 different websites. Doesn’t even matter what the reason is. You need 20 different websites to run your business. And before you ask, yes there are definitely businesses that need 20 different websites, usually because they’re catering to and driving traffic from specific organizations to those domains or subdomains. This will also apply to particularly high volume websites. We’re talking in the hundreds of thousands or more visitors per day. Most very successful businesses see a few hundred, if not less than one hundred per day.
How do you handle high resource demands?
You pay more money for your own pie. The whole pie. All of it. Just for you. In the hosting world this is often referred to as VPS, a Virtual Private Server. Virtual because, no, the company did not go buy you a whole entire physical server and set it up. Nor did they have one sitting on standby waiting for your money to turn it on. Instead, they use virtual machines, which are like a computer that lives inside of a bigger, much more powerful computer, and takes from its resources to create your own isolated environment. Think of this as less “a slice of what is a much larger pie” and more “the big server is the bakery, and my VPS is my pie”. Because any host is going to be able to tailor your VPS(s) to your needs for size, power, etc. Just like a bakery will, in fact, bake you 45 pies if you hand them the money for 45 pies. We actually use VPS on our own hosting account. We have a client for whom we host about 10 websites. We cannot do that on our shared portion of the account, so all of their sites are hosted on their own VPS under our account, and the VPS has been tailored and paid for with specific resources required that ensure that 10 websites all run in tandem without issue. Of course, the client also pays us for the setup, management, and ongoing cost of the VPS.
But what about even higher resource demands?
You hit the big one. The biggest big one. You have close to, if not more than a million people visiting your website per hour. How, oh how, do you even begin to fathom the management and resources required to handle that? Well, there are hosted solutions for this. You move from having a single VPS to a Private Server Pool. Not only is your website hosted on a single private server you own. It’s hosted simultaneously across several servers all at once, all updated between each other as required. This is done so that you’re not trying to cram 1+ million people into a single door over the course of the hour. Instead, you’re cramming 1+ million people into 10 or more doors over the course of an hour, and if you have the right kind of doors (servers) this is actually very feasible. And I haven’t even talked about ecommerce and it’s requirements. ….
What about ecommerce and its requirements?
If you run an ecommerce site, you’re either paying for something like the above, where there’s several servers handing off information to keep themselves up to date constantly, or you’re paying two hosting bills. Why? I’ll answer that question with another question. What’s your plan if your site gets hacked or breaks? Are you going to lose hours worth of business and previously made transactions while you clean up and restore to a backup made last night? (You are running a backup of your site, right? RIGHT?!)
With the plan for huge websites where the servers are replicating each other, you just stop that replication and designate the last good replication as what everyone should listen to and pick up from there. This is how services like Twitter, Youtube, etc., run themselves. It’s why you see views, comments, likes, etc. on posts fluctuate wildly when they’re first active. Servers are disagreeing with each other and they’re trying to find out who is the most correct at that moment. If you’re not enormous, however, a second hosting plan is for you.
You can use several wordpress plugins to backup and push that backup live to another hosting service every hour on the hour every day of the week and year. You just don’t point DNS (the internet road signs that tell people where your site is hosted) to the backup host unless things go horribly wrong. And when they go wrong, and they absolutely will, and you have the ability to change a number in a control panel and fix your site while still being functional, then copy all of that back to your site and keep running like nothing happened, you’ll be glad you paid two hosting bills. This is what’s known as a “warm stand-by”.
And while you can have them for any sort of website, I personally deem them an absolute requirement for eCommerce specifically. Due to the active nature of the site, constantly changing inventory, etc., and the fact that it handles money (which we do not want bad actors to get), we take special care with it. If you want a video explanation of this, it can be found in the audio version of this blog post, which was given as a talk for our April 2020 meetup.
There is sort of a middle ground. And it can be applied to any website, regardless of demand for the website. Cloud caching CDNs are available to ensure a website is always present, and (supposedly) safe. These services work by taking snapshots of your site and delivering them on their much beefier, more optimized servers. They also provide services that prevent bad actors from accessing the site at all by using tools that detect bots and attackers.
Cloudflare is a big name in the business. They own a major DNS server (road maps to the internet) and provide the above services. You may have seen the message “Cloudflare is checking your browser” a few times while browsing around, or you might have seen a notification at the top of a site that it was loading from a Cloudflare cache because the main site is down. Using something like Cloudflare is your middle ground in expense between warm standbys and personalized server pools.
Some large businesses such as CrunchyRoll (a very large video streaming service for TV shows), for example, is a well known user of Cloudflare. Just ask everyone who’s been binging a show and watched CrunchRoll come to its knees under the weight of primetime viewing on new content. Cloudflare picks up the slack as just moments after.
When should I upgrade to more robust hosting?
There’s about three ways.
- Your host sends you a little email that says, “Hey you’re hogging up resources. You either need to stop doing that or pay us more for more resources.”
- You (or a user, yikes!) notice that your site is less than functional, and you decide to buy more resources to move up.
- You watch your analytics like a hawk, and when things take off, you move ahead of time so you’re always ahead of the game.
Obviously, number 3 makes you look like a genius. Also, obviously, number 3 requires you take time to watch your analytics and understand it. If that’s overwhelming for you personally, it’d be good to do what all good businesses do, and hire someone else to do that for you. And while you’re on that kick, you should also consider someone to manage the site maintenance and hosting for you. Because it’s almost certain that this post on its own, which is at best a 10k foot view of hosting and its options, has reminded you that there is no feasible way for you to manage all of this on your own, and also manage your own business. If you have any questions, or need further information, you can always reach me via the information in my bio below.