How may we serve you?
Tuesday, April 21, 2020 • Website Design and Development • 4 minute reading time
This article is part of a series discussing Launching recurring products.
We’re proud of the hosting and support we offer at Genius Division – we try our best to serve WordPress sites as fast as possible and keep them secure, up-to-date and working hard for our clients’ businesses.
I’ve worked with a lot of different hosting offerings and personally I think what we’ve created is perfect for our client base and fits our workflow more seamlessly than any off the shelf product ever could.
A little bit of history – the problem
We started out with a single dedicated server with cPanel installed. A simple LAMP stack. No support, hardly any major Linux experience – cPanel allowed automatic backups that could be uploaded to an FTP server. We bought a HP micro server and I set it up at home behind the TV. File and database backups were transferred nightly to my house. Most of the time.
WordPress sites were GIT repos with some basic security hardening. Changes were pushed to repos, pulled into the server – sometimes this was automated, sometimes it was a manual process. All WordPress core and plugin updates were done by clients, until they forgot. Every now and again, someone wouldn’t update it and something would get hacked.
Server costs were steadily rising as we added new servers, firewalls, DDOS protection, backups, IP addresses – even with all this in place, if our provider had a hardware issue it would take down all our sites at once.
Coming up with a plan – the solution
We eventually decided we needed a big change because of a few factors.
We needed flexibility – when a client is featured on a popular blog or national TV, we needed the option to quickly scale up that client’s solution to meet demand.
We felt we had enough knowledge and experience – finally, we were in a position where we were comfortable looking after our own infrastructure, and that we could commit to supporting it when needed.
End-to-end control – one out of the Steve Jobs playbook I guess. The more control we had over client sites the better we can look after them. Cutting out hosting companies meant that instead of putting a ticket in if something goes wrong, we roll our sleeves up and get it fixed. In a fraction of the time it would take a hosting company engineer to get back to us.
Here’s an overview of the technology stack we use to host WordPress sites; our main thinking was to follow the Keep it simple, stupid (KISS) principle – as a small team, it’s important that we eliminate as much human error as possible so we can remain focussed on other tasks.
We use Linux VPS servers in Amazon AWS and Digital Ocean data centres. This means we can easily place a site in the best geographic region for it. Have a mainly US client base? Probably best to put your site in New York rather than Ireland.
We use a combination of PHP FPM, Nginx and MySQL to serve our WordPress sites. We can generally scale a site up within minutes to handle a traffic spike should we need to.
Servers are behind virtual firewalls – SSH access is limited to our office IP; we use a VPN when working from home or when out and about. All sites are protected with Fail2ban to stop brute force protection. Where possible, WP login screens are locked down by IP.
We’ve almost always used Bitbucket to host our private Git repositories. Initially to save cost – our team was small and GitHub charged for private teams.
We combine Uptime Robot, AWS & DO alerts and Slack to let us know the minute something isn’t right. If a site does experience issues, we’re never in the dark about it.
Backups & Disaster Recovery
Uploads and plugins are synced to AWS S3 buckets, along with database backups. Because we’re in complete control, we’re able to set this as frequently as we’d like.
We can usually deploy a copy of a site in less than 30 minutes, should we ever need to.
How long did it take?
It took almost two years to move our entire client base to our new infrastructure. It was a mammoth task; coordinating with clients and associated IT companies, whilst trying to minimise downtime as much as possible.
Was it worth it?
We’ve saved a bit of money on our monthly hosting bill, which we can reinvest elsewhere in to our hosting and support packages. For me though, it’s worth the work so that we can offer a better product. It comes with a bit more responsibility, but one of Genius Division’s strengths has always been how quickly we can react should we need to. It’s certainly not for everyone – 10 years ago we wouldn’t have dared to embark on such an endeavour.
Also, my wife was more than happy to get rid of the weird black box behind the TV.
Rich is Genius Division's technical director. When he's not building Lego or painting toy soldiers he's probably having fun with his kids. Lover of mountains and reading: Stephen King and Middle-earth are among his favourites.