Reliability
Having a reliable system for your business is crucial, as downtime can seriously effect the efficiency of your staff, and give a negative impression of your company to your customers (either with the system being unavailable when customers call, or if the system is slow to respond during normal operation).
From a business continuity point of view, the points below ensure that your data is always available, and in the worst case scenario (server lost due to flood/fire), we will have the procedures in place to have your system back in a working condition within a few hours.
The approaches we use to improve reliability include:
"Bug-Free Guarantee"
As with all software, we can't promise the software is completely bug/defect free, however if we believe that a defect is due to our mistake, then it will be fixed free of charge.
This applies to issues identified by users, but also from the software itself. To ensure that problems don't go un-noticed, the system performs many self checks, and will alert us as soon as anything unexpected happens.
Servers
We will help you organise your own server, which will ensure that you are in complete control over the hosting environment.
We can also advise you about your internet connection, as ideally you will have access to two separate ISPs, where the data transfer is shared between the two connections (allowing for fast fall-over, should a connection fail).
However due to internet connections becoming more readily available, in a local disaster situation, it would be possible to re-locate your staff (using mobile phones, at home etc). So you don't need to provision computers with the required software installed at a dedicated recovery facility.
It is also possible for members of staff to work from their own devices, and even off-site - where the data itself is transferred over an encrypted channel (HTTPS), and does not require a VPN to be setup.
Backups
These depend on your own requirements, but a setup we provide a very small, inexpensive computer called a Raspberry Pi and an external encrypted hard drive, located in your offices (offsite in respect to the server).
The backup server can collect a daily backup (typically after office hours), which is stored so you have access to the last 7 daily backups, and approximately 8 weekly backups.
In addition the backup server has a non-editable version of the website, which allows frequent checks to ensure the backup procedure is working correctly, and access to the data if you have problems with your internet connection.
Logs
The servers typically run RedHat or Debian Linux (which are exceptionally reliable operating systems), and will send a daily email summarising the events of the previous day via a process known as LogWatch.
In addition, the website itself will generate error logs which are reviewed on a weekly basis (via LogRotate), and will identify issues such as broken links, slow database queries, and undefined variables in the code. (error reporting is set to its highest level, with the logs written to disk, rather than exposing information on the website, for security reasons).
Performance
Using software such as New Relic, Google Analytics, Google Page Speed, etc, we can constantly review the performance of the system, keeping it to the latest standards, and ensuring that the system remains very responsive.
To give you a rough idea of how seriously we take this, we expect a page to be built and sent in less than 100 milliseconds, so a user should be waiting for less than a second for each page to load.
For the user themselves, we typically tailor the system via personalised dashboards and hiding of features they don't need, to ensure they can complete their tasks quickly and easily (avoiding confusion and uncertainty whenever possible).
Technically speaking we always review the "waterfall chart" for every website we build, ensuring that we are checking the number of requests, DNS lookups, minifying/compressing code, caching, etc.