November 15, 2015

Scaling and High Availability

There are a number of factors to take into consideration when building a fit-for-purpose email system such as the number of mailboxes required, the performance or the cost.These factors, how they relate to each other, and their priority can all influence how the resulting architecture is integrated and used.


In its simplest form, an email system can comprise a single node — one server that will act in all capacities to send and receive mail, and allow users to access to their mailboxes.

A single node is obviously the cheapest type of architecture to set up, run and maintain, but it has obvious downsides. If the server stops working, so does access to email. In a worst–case scenario, if the server’s data has not been backed up to an external device, it could mean total loss of data. Until the server has been rebuilt or replaced, and any data restored, you will lose all access to email.

There is no great way to scale a single server. If the service becomes too slow, the only option is to buy a larger server with faster processors, more memory and more storage.


While a single server, with a backup, may be sufficient for some purposes, if email is considered critical, redundancy will need to be built into the system. This could be as simple as having a second server ready on hand that can be made active if the primary server goes down.

A mailbox can only reside in one place at any one time, so setting up and configuring a shared or replicated filesystem will allow optimal use of a second piece of hardware.


So far the systems have been relatively small with a single mailstore but what happens when a single mailstore no longer is enough? There are many different ways to scale all the services to ensure the performance of your mail servers. We address this question in our free white paper “email systems: scaling and high availability using open source software”. Click the link below to receive it directly in your inbox!

Share This Post