All of our servers are set up using deployment scripts that we write and maintain in-house.
Deployment scripts are sets of instructions for setting up servers that are carried out automatically, significantly reducing human error. With deployment scripts, security configuration is never forgotten, and credentials can be unique for every site.
Because deployment scripts ensure that your test environment is as close as possible to your production environment. Eliminating differences between server configuration on production and test means that testing is much easier and more reliable.
In the unlikely (but possible) event of a server failing, deployment scripts can reliably and consistently rebuild it, much more quickly than it could be done manually.
Using deployment scripts means that server passwords and other API credentials are not stored in the source code of apps, but are instead stored in an encrypted form. This prevents leaks onto GitHub or other repository hosting platforms.
The deployment scripts also handle setting up consistent firewall configurations, as well as automatic security updates to software. This prevents crucial firewall settings from being forgotten, and helps to keep servers secure as new vulnerabilities are discovered.
Using deployment scripts helps to minimize the downtime needed for updates, even for single-server apps. Because the process is fully automated, it can be tested on a development server before being rolled out to production, and the process can be optimized so that it's done the fastest way every time.
Backups and Disaster Recovery
A backup made to the same server as the website gives you a false sense of security. If there is a severe fault with the server, then you will have lost your website and the backups, leaving you with nothing.
At Not Just Code, all website hosting includes full automatic backups to a separate server.
In the unlikely event of something going wrong with your server, our deployment scripts and off-server backups form the foundation of our proven and tested disaster recovery process.
Need deployment scripts for your own app?
We have extensive experience building and maintaining automated deployment strategies for a wide range of web apps, websites and databases, from PHP to Python.
If you have an existing app that you need deployment scripts for, we'd be happy to help.