Servers: an overview

a synthesizer control panel

In the past I've been guilty of leaving what I deem ‘technical’ information to others. To have the holistic view I'm often banging on about, this is not appropriate.


Hosting’s always been one of these ‘technical’ areas. While I don't need to know the ins and outs of hosting setups, I do need to understand the architecture and the place it plays in a project’s life cycle.

Did you know there are four types of hosting, each with their own purpose? I didn't - perhaps this is why my early iterations of The Swains website was indexed by search engines.


Used for early development, to me, this is MAMP, a tool I use before FTPing anything anywhere. It's great for prototypes too. From now on this is a local server.


A staging server allows reviews from multiple locations. We use this to share work with clients and external team members. Working with international teams makes this essential.

At the same time it's used to make sure the product is interacting correctly with all its components and the server setup (hardware, database, software and web services).

User Acceptance Testing (UAT)

The UAT server is used when the product is ready to be shared with additional stakeholders and alpha/beta testers. This is the version of hosting that I use when I do the majority of my user testing.

We also use this server to run load, performance and penetration tests.


The final live product’s home.

That’s not a server, THIS is a server.

There you have it, four different types of server, FOUR!

NB, you might of noticed that the image adorning this post isn't a server, it's a synth. Well spotted, I just wanted to get that picture up there. Here's a server.

A server with ethernet cables protruding