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.
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.