How Agencies & Freelancers Should Do Web Hosting
Tags: devops, hosting, vps
Published: 2020-02-15 23:36:29

---
title: How Agencies & Freelancers Should Do Web Hosting
published: true
date: 2017-03-09 07:10:00 UTC
tags: devops,hosting,vps
canonical_url: https://nystudio107.com/blog/web-hosting-for-agencies-freelancers
---

# How Agencies & Freelancers Should Do Web Hosting

### Web­sites are use­less with­out a web­serv­er host­ing it. Yet web host­ing is often an after­thought. It should­n’t be.

Andrew Welch / [nystudio107](https://nystudio107.com)

![Web Host Server](https://nystudio107-ems2qegf7x6qiqq.netdna-ssl.com/img/blog/_1200x675_crop_center-center_82_line/web-host-server.jpg)

Web host­ing is some­thing that many agen­cies and free­lancers don’t give a whole lot of thought to. They just use whomev­er they’ve had a long-stand­ing rela­tion­ship with, and call it a day.

How­ev­er, choos­ing the right host — and the right _type_ of host — can be cru­cial to the suc­cess of a project. And the host­ing world has changed a whole lot in the past few years, so let’s dive in.

<aside>
                                A web host is sim­ply a serv­er where you put the project you devel­oped, so that the world can access it in all of its glory.
                            </aside>

Web host­ing is one of the bul­let points I men­tioned in the [Fron­tend Dev Best Prac­tices for 2017](https://dev.to/gaijinity/frontend-dev-best-practices-for-2017-2ol9-temp-slug-5463385) arti­cle, so it should be no sur­prise we’re going in deep! There are sev­er­al types of host­ing available:

- **Shared Host­ing**  — your web­site sits on a serv­er with a bunch of oth­er web­sites, man­aged by the host­ing com­pa­ny. It’s akin to rent­ing an apart­ment: inex­pen­sive, but cramped, and your neigh­bors can impact your qual­i­ty of life in a big way, espe­cial­ly if the walls are thin.
- **Man­aged Host­ing**  — your web­site sits on a serv­er that an IT com­pa­ny (or a guy with a beard) owns and admin­is­ters for you. This is like liv­ing in a con­do­mini­um in that it’s typ­i­cal­ly a step up from rent­ing an apart­ment, but you still don’t own the land you live on.
- **VPS Host­ing**  — your web­site sits on a vir­tu­al serv­er that _you_ own and can do what­ev­er you like with. This is anal­o­gous to own­ing your own house. Wan­na paint the walls pink? Go ahead, it’s yours.

I’m going to try to con­vince you that it’s very like­ly that VPS Host­ing is what you should be using. But first, some background.

## Shared Host­ing

Shared host­ing is some­thing I sim­ply don’t rec­om­mend at all these days. Tech­nol­o­gy has pro­gressed such that the pri­ma­ry ben­e­fit of shared host­ing — that it’s cheap — has been erod­ed by the inex­orable progress of technology.

Shared host­ing became a thing because servers were expen­sive back in the day. Many com­pa­nies could­n’t jus­ti­fy the expense of their own serv­er, so bou­tique busi­ness­es sprung up where they’d cre­ate an account for you on their serv­er, and let you put your web­site on it.

<aside>
                                I’ve lived through many hor­ror sto­ries of some­one else’s poor­ly imple­ment­ed web­site on a shared host bring­ing down my clien­t’s web­site. It’s awful.
                            </aside>

I have a friend & col­league who has the best shared host­ing deal you could imag­ine: _it’s entire­ly free for his com­pa­ny web­site_. That’s because he brings his clients to the host­ing company.

How­ev­er, there is a dis­tinct dif­fer­ence between the _price_ of some­thing, and the _cost_ of some­thing. The num­ber of hours he has ago­nized over the prob­lems aris­ing from this bou­tique shared host­ing has made it clear that his host­ing is _any­thing but free_.

And the cost of cre­at­ing errat­i­cal­ly or poor­ly per­form­ing web­sites for your clients can­not be under­stat­ed. [See the A Pret­ty Web­site Isn’t Enough](https://dev.to/gaijinity/a-pretty-website-isn-8217-t-enough-1nbj-temp-slug-3932740) arti­cle for details on web performance.

I just refuse work if the client has their web­site host­ed on GoDad­dy or Host­Ga­tor shared host­ing. It’s the web­dev equiv­a­lent of unsafe work­ing con­di­tions. It always ends in tears.

So let’s just for­get about shared host­ing. It’s the worst solu­tion to web­site host­ing for just about every circumstance.

## Man­aged Hosting

Man­aged host­ing can be more attrac­tive. After all, you’re a design­er or devel­op­er, not a Unix guru who rel­ish­es in writ­ing shell scripts. You want to design the web­site, hand it off to the client, and not deal with the gory bits of set­ting up and main­tain­ing a server.

There are a vari­ety of lev­els of man­aged host­ing, but in gen­er­al, the idea is that you buy a vir­tu­al serv­er, but some­one else man­ages it for you. The upsides are obvi­ous, in that your client has some­one else to call if some­thing goes wrong with the serv­er — though they will prob­a­bly still call you anyway.

The down­sides are that you are pay­ing for this set­up and sup­port. You’ll end up with less serv­er for your mon­ey each month, because some of your mon­ey goes towards sup­port, whether you use it or not.

<aside>
                                Addi­tion­al­ly, you don’t own the server.
                            </aside>

Let’s say you want to install <kbd>jpegoptim</kbd> & <kbd>optipng</kbd> as per the [Cre­at­ing Opti­mized Images in Craft CMS](https://dev.to/gaijinity/creating-optimized-images-in-craft-cms-2hc5-temp-slug-2354251) arti­cle, to cre­ate awe­some­ly opti­mized images for your client. Well, you can’t.

You need to file a sup­port tick­et to have some­one do it for you. Usu­al­ly they will, but depend­ing on the soft­ware they offi­cial­ly sup­port, some­times they won’t.

I real­ize that to some peo­ple, fil­ing a sup­port tick­et and let­ting some­one else han­dle it sounds like a _good thing_. And it can be. But not when you’re twid­dling your thumbs wait­ing for it to be addressed before you can get to work.

<aside>
                                The fact that you filed a sup­port tick­et does­n’t pre­vent your client from blam­ing you when the web­site is down.
                            </aside>

You are also at the mer­cy of the IT com­pa­ny that man­ages your serv­er for the ​“stack” that they pro­vide. For instance, when <kbd>PHP 7</kbd> was released in Q4 2016, it was a water­shed release for PHP. It lit­er­al­ly dou­bled the speed for PHP appli­ca­tions across the board. And yet many man­aged host­ing envi­ron­ments were very slow to roll it out.

Some man­aged hosts _still_ don’t offer <kbd>PHP 7</kbd> (which I con­sid­er to be manda­to­ry for any web­site run­ning PHP apps), or they offer it, but in ​“beta”.

In my years of admin­is­ter­ing vari­ety of web servers, by far the most prob­lems have arisen from bou­tique host­ing envi­ron­ments using a dep­re­cat­ed stack that results in poor per­for­mance (or just plain non-per­for­mance). It gets worse when some­one else is main­tain­ing this for you, and you have no say in what is offered to you.

<aside>
                                You are also often stuck using anti­quat­ed CPan­el soft­ware to admin­is­ter your serv­er. Which inevitably leads to fil­ing a sup­port tick­et when it can’t do what you need.
                            </aside>

Final­ly, most man­aged hosts also have a lim­it­ed geo­graph­ic area where they host web­sites. Typ­i­cal­ly they offer just one loca­tion where your serv­er phys­i­cal­ly exists, which makes it less than ide­al when you work with clients from all over the coun­try — or all over the world.

There are some good man­aged hosts out there, to be sure. [For­tRa­b­bit](https://www.fortrabbit.com/) is one; [ArcusTech](https://www.arcustech.com/) is anoth­er. How­ev­er, there are some very large and well known man­aged hosts that are down­right hor­ri­ble… and gross­ly overpriced.

## VPS Host­ing

The final type of host­ing we’re going to dis­cuss is the one I think is best for _most_ clients, and _most_ agencies/​freelancers: VPS hosting.

With fan­tas­tic com­pa­nies like [Lin­ode](https://www.linode.com/), [Dig­i­tal Ocean](https://www.digitalocean.com/), [Vul­tr](https://www.vultr.com/), and [Ama­zon AWS](https://aws.amazon.com/) you can spin up a new serv­er run­ning a mod­ern stack with just a few clicks. _And it’s yours_. You can do what­ev­er you want with it.

For a com­par­i­son of these ser­vices, check out:

- [$5 Show­down: Lin­ode vs. Dig­i­talO­cean vs. Ama­zon Light­sail vs. Vultr](https://joshtronic.com/2017/02/14/five-dollar-showdown-linode-vs-digitalocean-vs-lightsaild-vs-vultr/)
- [$10 Show­down: Lin­ode vs. Dig­i­talO­cean vs. Ama­zon Lightsail](https://joshtronic.com/2016/12/01/ten-dollar-showdown-linode-vs-digitalocean-vs-lightsail/)
- [8GB Show­down: Lin­ode vs Dig­i­talO­cean vs Ama­zon Light­sail vs Vultr](https://joshtronic.com/2016/12/18/8gb-showdown-linode-digitalocean-lightsail-vultr/)
- [Cloud Host­ing Show­down – Dig­i­talO­cean vs AWS vs VUL­TR vs Lin­ode vs Azure](https://stratusly.com/digitalocean-vs-aws-vs-vultr-vs-linode-vs-azure/)
- Or com­pare them head to head here: [VPS Bench­marks](https://www.vpsbenchmarks.com/compare/)

You also get to pick where in the world the serv­er is phys­i­cal­ly locat­ed, keep­ing it close to your clients (or their customers):

![Vps Locations](https://nystudio107-ems2qegf7x6qiqq.netdna-ssl.com/img/blog/_992x524_crop_center-center_100_line/vps-locations.png)

All of the afore­men­tioned VPS hosts pro­vide mon­i­tor­ing fea­tures, load bal­anc­ing, auto­mat­ed snap­shot back­ups, and more.

_“But I don’t want to admin­is­ter a serv­er,”_ you say. I don’t want you to, either. Lin­ode, Dig­i­tal Ocean, Vul­tr, and Ama­zon AWS are great on their own if you’re a Unix beast. If you’re not, I get it. You don’t want to be that guy or gal. Let me intro­duce you to [Lar­avel Forge](https://forge.laravel.com), [Server​Pi​lot​.io](https://serverpilot.io/), and [Run​Cloud​.io](https://runcloud.io/).

[Lar­avel Forge](https://forge.laravel.com/), [Server​Pi​lot​.io](https://serverpilot.io/) and [Run​Cloud​.io](https://runcloud.io/) are serv­er _pro­vi­sion­ing_ tools. They can be used with any serv­er run­ning Ubun­tu 16.04 (that’s a Lin­ux dis­tri­b­u­tion) from any of the afore­men­tioned VPS host­ing com­pa­nies, and they take the pain out of set­ting up and main­tain­ing servers.

![Keep Calm And Let The Sysadmin Hanlde It](https://nystudio107-ems2qegf7x6qiqq.netdna-ssl.com/img/blog/_1200x675_crop_center-center_82_line/919/keep-calm-and-let-the-sysadmin-hanlde-it.jpg)

Here’s what you can do with these serv­er pro­vi­sion­ing tools:

- Click a but­ton to cre­ate a new serv­er, con­fig­ured with a mod­ern, per­for­mant stack
- Click a but­ton to cre­ate a new web­site on your serv­er (make as many as you want!)
- Click a but­ton to upgrade or down­grade your serv­er plan at any time
- Click a but­ton to cre­ate a com­plete­ly free, auto-renew­ing <kbd>SSL</kbd> cer­tifi­cate for your web­site via [LetsEn­crypt](https://letsencrypt.org/)
- If you enable <kbd>https</kbd> by installing an <kbd>SSL</kbd> cer­tifi­cate, you auto­mat­i­cal­ly get <kbd>http2</kbd> as well (2 fea­tures 1 click)
- Click a but­ton to link your [GitHub](https://github.com/) or [Beanstalk](http://beanstalkapp.com/) (or what­ev­er) <kbd>git</kbd> repo to the website
- Click a but­ton to set it to auto-deploy changes you make when you push to var­i­ous <kbd>git</kbd> repo branches
- Secu­ri­ty updates will be installed for you auto­mat­i­cal­ly; no fuss, no muss
- The stack installed is secure by design; best prac­tices like requir­ing SSH keys are imple­ment­ed by default

This all lets you have a work­flow as described in the [Data­base & Asset Sync­ing Between Envi­ron­ments in Craft CMS](https://dev.to/gaijinity/database-asset-syncing-between-environments-in-craft-cms-3fca-temp-slug-480513) article:

![Code Flow](https://nystudio107-ems2qegf7x6qiqq.netdna-ssl.com/img/blog/_768x485_crop_center-center_100_line/code_flow.png)

Make your changes in <kbd>local</kbd> dev, push to your <kbd>git</kbd> repo, and it’s auto­mat­i­cal­ly deployed to what­ev­er serv­er you want. As a bonus, you now have a revi­sioned back­up of your web­site that you can use to roll back changes if needs be. For more on back­ups, check out the [Mit­i­gat­ing Dis­as­ter via Web­site Back­ups](https://nystudio107.com/blog/mitigating-disaster-via-website-backups) article.

You have the abil­i­ty to spin up servers at will, con­fig­ure them with a cou­ple of clicks, and get back to work­ing on your project. But with a work­flow that allows you to do your job more effi­cient­ly, and more reli­ably. And with­out wait­ing for some­one to get to your sup­port ticket.

And if you end up need­ing to, you can <kbd>ssh</kbd> in and install what­ev­er you want on your VPS.

<aside>
                                If you land a new client in Sin­ga­pore, no prob­lem. Spin up a <span>VPS</span> locat­ed phys­i­cal­ly in Sin­ga­pore, and get to work.
                            </aside>

The rea­son this all works is because [Lar­avel Forge](https://forge.laravel.com/), [Server​Pi​lot​.io](https://serverpilot.io/) and [Run​Cloud​.io](https://runcloud.io/) have cre­at­ed a care­ful­ly craft­ed recipe for set­ting up and con­fig­ur­ing these servers in a secure & per­for­mant way. Then they’ve com­bined it with a very easy to use, mod­ern web UI that I promise you will enjoy using.

It real­ly is that good.

![Victory Silhouette](https://nystudio107-ems2qegf7x6qiqq.netdna-ssl.com/img/blog/_1200x675_crop_center-center_82_line/victory-silhouette.jpg)

So which should you choose? I have expe­ri­ence with [Lar­avel Forge](https://forge.laravel.com/) and [Server​Pi​lot​.io](https://serverpilot.io/), but not [Run​Cloud​.io](https://runcloud.io/) as it is a rel­a­tive new­com­er. Still, I have heard fan­tas­tic things about [Run​Cloud​.io](https://runcloud.io/), so def­i­nite­ly put it on your list to check out.

As for [Lar­avel Forge](https://forge.laravel.com/) and [Server​Pi​lot​.io](https://serverpilot.io/), they are both excel­lent ser­vices; [Server​Pi​lot​.io](https://serverpilot.io/) uses an Apache <-> Nginx set­up so you can still use your <kbd>.htaccess</kbd> files and such, and it lets you pick from var­i­ous PHP ver­sions to run, so it’s the safe choice. [Server​Pi​lot​.io](https://serverpilot.io/) also has a com­plete­ly _free_ tier, which does­n’t include the SSL cer­tifi­cates and a few oth­er nic­i­ties, but oth­er­wise works great.

[Lar­avel Forge](https://forge.laravel.com) is some­what more devel­op­er-ori­ent­ed, in that it comes with an <kbd>SSH</kbd> keys man­ag­er, free SSL cer­tifi­cates are an auto­mat­ic part of the pack­age, it runs the high per­for­mance Nginx web­serv­er, and allows you to grant access (or be grant­ed access) to man­age oth­er peo­ple’s Forge servers with­out need­ing their cre­den­tials, which is fan­tas­tic for client work.

I per­son­al­ly pre­fer [Forge](https://forge.laravel.com/) because I pre­fer Nginx as a web­serv­er and just like the method­ol­o­gy it uses, and the built-in deploy­ments from git repos is a huge plus for me. How­ev­er, [Server​Pi​lot​.io](https://serverpilot.io/) is sol­id as well.

Both pro­vide a very easy to use web-based UI for serv­er man­age­ment, and Forge even has a pub­lic API for doing such things. If you do use Forge, and have a Mac, check out the very cool [F‑Bar](https://eastwest.se/apps/fbar) app for man­ag­ing Forge servers right from your menu bar.

There are oth­er fan­tas­tic fea­tures that they both offer, but hope­ful­ly I’ve giv­en you enough of a taste to give ​’em a whirl.

You can’t go wrong with either choice. So worth it.

## So What Are The Downsides?

So what are the down­sides to spin­ning up your own VPS? There are two pri­ma­ry ones:

1. **Email**  — Nei­ther Forge nor Server​Pi​lot​.io pro­vide email. You can con­fig­ure them to, but I rec­om­mend against it. Instead, set them up with a Google for Busi­ness email account, or use their domain reg­is­trar’s email if their needs are sim­ple (most domain reg­is­trars offer 5 free email address­es with each domain).
2. **Sup­port**  — All of the afore­men­tioned VPS host­ing com­pa­nies offer sup­port, but they do not offer the kind of sup­port you get from man­aged host­ing. In my expe­ri­ence, it has­n’t mat­tered. A mod­ern, deter­min­is­tic VPS set­up has far few­er issues than shared / bou­tique host­ing, and the tools that Forge & Server​Pi​lot​.io pro­vide are usu­al­ly suf­fi­cient in any event.

## Cloud­Ways: A Third Option

An inter­est­ing, and rel­a­tive­ly new host­ing ser­vice that you might check out is [Cloud­Ways](https://www.cloudways.com). It’s a pro­vi­sion­ing ser­vice just like Forge and Server​Pi​lot​.io, and using it can you sim­i­lar­ly spin up servers all over the world via Dig­i­talO­cean, Vul­tr, Ama­zon, and more… but with a twist.

It’s man­aged host­ing, so you _also_ get <sup><span>24</span></sup>⁄<sub><span>7</span></sub> sup­port. So in some ways, it’s the best of both worlds: you get the ben­e­fits of a mod­ern stack, glob­al­ly deploy­able with a few clicks, but you also get support.

This can be a nice option for clients who demand <sup><span>24</span></sup>⁄<sub><span>7</span></sub> sup­port, or if you’re con­cerned about hav­ing to pro­vide sup­port to clients yourself.

## Further Reading

_If you want to be notified about new articles, follow [nystudio107](https://twitter.com/nystudio107) on Twitter._

<small>Copyright ©2020 nystudio107. Designed by nystudio107</small>