Hey there! I recently launched my own custom web hosting service for clients who need high performance servers for their busy websites. Contact me to learn more.
Perhaps surprisingly, high-performance and cost-effective hosting can be difficult to find. Here are my thoughts on why that is.
This is my personal journey that ultimately put an end to my hosting worries, from my perspective as a freelance web developer.
Table of Contents
- Why web hosting matters
- Hosting for small sites
- When to get better hosting
- Big Hosts
- All-in-one services
- Scaling for success
- Small hosts
Spoiler
If you don’t care to read all this (that’s fine!) and just want to know what I’d recommend, here’s the answer:
To get sane pricing and predictability if you have a high traffic website, you need to be running your own servers, or be hiring a reliable and experienced provider, in order to control the platform.
Reasons for getting better hosting
First, let’s assume that you do care about the following:
- performance
- reliability
- security
As a freelance developer, I can say that no client has ever upfront asked me about these things. Yet, it’d be reasonable to assume that all of these are taken care of, and indeed they are an important part of my day-to-day.
In my experience, these are all or none binaries. If you’ve considered these items, then you probably care an awful lot that these things are being handled as well as possible. Otherwise, you’d probably assume these will be handled in the background.
But as we will see, many hosts don’t handle these very well at all.
Small sites maybe don’t need great hosting
If you’re running the simplest possible informational “brochure” site, my somewhat hot take is that you should consider whether these things are critical enough to set aside extra money for.
What do I mean by that? I mean to say:
- It’s relatively easy to host small sites
- There are many options for hosting, that are easily found
- Problems usually have less impact when they occur
Hosts for small sites are worth your consideration, it’s just that this is more of a solved problem. Meaning, there are many available services that allow you to quickly make a website and share it to the world, with decent quality and at a reasonable cost. This is what most people have come to expect when they think of “launching a website.”
With most web hosts, complexity is largely hidden from the small site owner. The available options are necessarily limited, and there are fewer options to think through. At this level, when problems happen, recovery is more straightforward because no special setup is required.
One example. Recently, a friend’s very simple site (which I don’t host) was hacked. For them it was faster, easier, and cheaper to restore from backups than to pay for a hacked site cleanup service. Heck, for that matter, it was cheaper than if they had invested in better hosting, which in this case may have prevented the hack in the first place. And, because no sensitive data was being stored in the site, the actual impact of the hack was minimal, being limited to a few hours of downtime. In my friend’s case this was perfectly acceptable to them. (Lesson: always have backups! Even for the simplest sites.)
The tipping point
Not everyone should be comfy with this level of risk. Things change once you start:
- handling customer data whether payment info or personal info
- maintaining self-hosted services that rely on each other
- launching a service product that paying customers rely on
When you take these first steps balancing on that high wire, you’ll find security and performance have a significant role in your success, and mistakes can have a lasting impact, unfortunately.
Big Hosts
The first option you’d consider is a big host. By this I mean, the companies that come up when you search the internet for “web hosting” or similar.
This falls into two categories: shared and managed.
Shared Hosting
Many larger hosting companies are focused on scaling as big as possible. That is, they try and get as many customers possible on the fewest number of low-performance servers they can. Quality varies, but the market formula is the same:
For the site owner, this can start to be a problem in several ways:
- other customers on your server will slow you down
- hosts will tinker around and can sometimes break stuff
- another site on your server could get hacked, affecting your site
Again, some hosts are better with these points than others. For example, many hosts but certainly not all have gotten better at:
- Performance – for example, enabling sensible caching defaults on all customer accounts
- Reliability – for example, preventing one customer account from grinding other site to a halt by exhausting available server resources
- Security – for example, separating running processes to prevent attackers from hacking other sites via one single compromised customer account
Managed Hosting
In response to these types of issues, most big hosts offer various managed hosting options for an additional cost. Sometimes these offerings are targeted for specific platforms such as WordPress.
There are examples of managed providers where that’s all they do; they don’t offer shared hosting.
Managed services promise to help handle increased traffic without the need to spend time managing a custom solution, or without knowledge of the technical aspects of running a server.
It might seem like the best of both worlds, but there are some downsides:
- Cost is higher than shared hosting
- Performance is lacking
- Complexity can cause issues
- Customization is not easy
- Pricing is usage-based
You can expect to pay much more for these managed options than for shared hosting. In my experience upgrading from shared hosting can be as much as 10x the cost for a site that gets an average amount of traffic.
Is this cost worth it? Essentially, no. It’s just not that much faster.
One reason for this is that in order to support many types of customers, these platforms can be more complex. With this complexity comes more overhead; there may be features that other sites on the service are using, that are simply not useful for you. All this extra stuff can slow you down.
And remember, because this is a managed service, it’s not that easy to completely disable these extras. Customization can be limited, even to the point that very common packages, or specific versions, are not available to install. Often you’ll need to use a specific caching solution, and bypassing cache when needed can be tricky; for example, for certain pages, cookies, or query strings; affiliate links, user accounts, and shopping carts all come to mind. This troubleshooting can eat up a surprising amount of time.
And to stay competitive, managed hosts must continuously tinker with their platform. Sometimes this can cause extended downtime at very inconvenient times, which is exactly one situation we wanted to avoid in the first place. Because this tinkering is happening behind the scenes, you can’t predict when this may happen, and you’ll unfortunately be at the mercy of the host to fix it. Personally, after one quite frustrating hours-long outage at one particular managed host, I decided right then that managed hosting was no longer for me.
Cost and performance aside, pricing can also be unpredictable month-to-month. Some managed hosts charge by usage, which can be bandwidth or page-view based. This might not square well with your business model, meaning you’re paying more when you’re not necessarily bringing in more.
All-In-One Services
It’s certainly possible to not worry about hosting at all. There are plenty of all-in-one services that run the whole platform, and everything just works. This might be a good fit if you have a lot of staff turnover, such as with nonprofits for example. If your needs fit cleanly into an all-in-one service’s model, it can be a good option.
But, of course, there are some reasons to avoid all-in-one services:
- Customization is difficult
- Cost
- Unresponsive support
- Lack of migration options
If your needs require custom development, the options for doing that tend to be more limited. In cases where customization is possible, it will be more expensive to hire a developer who has the specialized knowledge and experience needed.
Cost can also be a factor. Most all-in-one services take a percentage of sales, or bill based on usage, or have some other pay-per-unit pricing model. As you grow, it becomes harder and harder to justify this expense.
If you’re growing and paying all this money to this service, you might think that the people who run the platform would be very responsive, and quite interested in making things better for you, in order to win your loyalty. However, that seems to be rare among popular services. Because all-in-one services have many different types of customers, your changing needs may not fit cleanly into their priorities, and your needs may be ignored. You may end up as just another subscription to them, unworthy of any special consideration.
Platform lock-in is also a factor. If for any reason you need to move your whole operation elsewhere, I can confirm it sometimes takes significant time and effort to do this.
Scaling for Success
So what’s the solution?
You need to own your infrastructure, and you need to run it yourself. You need to control the platform. This means getting knowledgeable about running servers, and gaining experience with optimizing them. Or hiring someone who already is.
- Getting more customers means serving more traffic… which means getting smarter about performance to keep customers happy.
- Getting busier means spending your team’s time wisely… which means getting smarter about software to reliably build the features you need.
- Getting bigger means protecting what matters… which means getting smarter about security to prevent targeted attacks.
There always seems to be a short supply of experienced developers who can reliably help you scale up.
Integrity matters. Consider carefully before you provide full access to your entire operation, and be sure you know who you’re working with. Ask whether your provider uses any sub-contractors or third-party vendors and what their data privacy policies are. Trust your instincts. If you’re not sure, keep looking.
Honorable Mentions: Small Hosts or DIY
The following situations are not common, but I mention them because they are sometimes seen as a viable alternative to shared or managed hosting. Also, they can make for some good stories.
Webmaster / Tech Guru
I don’t see this as much anymore, but in the past I’ve worked with clients who had sites on some very small hosts. Think along the lines of one-person-with-a-server-in-a-back-office small. If you recall the terms “webmaster” or “tech guru” then it’s a fair guess you have experience with what I mean by this.
This doesn’t necessarily have to be on a physical server, it can sometimes be through a larger provider. Basically, this setup is defined by a very manual server setup, that is really only understood by this one person. Often there is:
- No standard, repeatable processes for provisioning
- A custom built tool (or three) for deployments
- A very time consuming software update ordeal
- No documentation (or maybe some post it notes or emails?)
Reasons may vary, but things inevitably get somewhat strange when clients insist on hosting on this type of setup.
- Technical issues that just don’t exist on established hosts. File permission errors, lack of support for common protocols, secure certificate issues, etc.
- Gray areas of responsibility and communication
- Lagging software updates, creating security and compatibility issues
- Physical security can be a concern. Who else may have direct access to that server and its data? Is it in a public or shared area?
- Who’s accountable if problems arise? Is this person dedicated to handling hosting issues, or is there crossover with other duties or people?
Even if you feel that your web guy/gal is very reliable, I don’t recommend having them do things in this way.
Budget VPS
There are some intriguing options for budget hosts if you look around. When I see somebody offering, say, dedicated 8GB / 4 vCPU servers for as little as $3/mo, I’m not only vaguely interested, but wondering what the catch is.
(Sidenote: I actually think it would be very revealing to do an investigative journalism piece about this category of web hosting!)
Downsides are not difficult to think of:
- Poor performance
- Random downtime
- Unresponsive support
I think we know how this story ends. Based on others’ experiences in this space, I’d be hesitant to recommend a budget host to anyone. Turns out it’s really difficult to keep servers online, and a commodity market tends to deliver what you pay for.
DIY
Similar to the webmaster / tech guru scenario above, I’ve encountered several small offices that were running a forgotten server in their supply closet. There are lots of reasons not to do that; suffice it to say that hackers love this type of setup.
I recall I asked one such office how they handled software updates for their mail server. Their reply was that they couldn’t afford to pay for enterprise support. My recommendation was that they not self-host publicly accessible services, and I’d strongly recommend the same for web hosting specifically.
Anything else?
That pretty much summarizes my experience with various hosting options. My hosting woes ended when I learned how to set up and manage servers myself.
Have you tried other ways that have worked well for you? Do you have any disaster stories?
Please send me an email, I’d love to hear your thoughts!