Linux is very powerful when it is set up correctly.  Behind the scenes of Linux are 1000’s and 1000’s of Linux developers, they do lots of things to make Linux robust, and sometimes when we are working on our own projects we forget what a robust application is.
Assuming that you are not developing the application from scratch because that is where robust applications begin, but deploying another application can follow this simple list to make sure that the application will stay operational for a long time.

Checklist for Robust Linux Applications

  • Install the application
  • Setup the application
  • Auto start on reboot of server
  • Secure application access (set up an admin user, or change the default password)
  • Log rotation of any generated logs
  • Automated backup of the application configuration information
  • Automated backup of the application data

Install the application

Using Debian or Red-Hat based systems, choosing applications which are available in the repositories is your best bet.  These will come with some of the following steps done for you.

Setup the application

While many applications will work out of the box, most applications will work better for you with a little setup or configuration, this is not customisation, you are just telling the application your preferences.

Auto start on reboot of server

This is critical, because when the power goes out, you will likely forget about your application and then when you need it, it won’t be running.

Secure application access (set up an admin user, or change the default password)

Default passwords are bad, you should change these when you do your initial setup.

Log rotation of any generated logs

Many applications will include log files, depending on the volume of data and the amount of storage you have, this can end badly.  Getting log rotation setup is easy and important.

Automated backup of the application configuration information

What would happen if you lost everything and had to setup your application again, you would likely be frustrated and loose several hours getting it going again, if only you had a back of your setup, you could make this so much easier.

Automated backup of the application data

If you don’t have a backup of your data, you will be lost when the worst happens (and it happens), I have lost disks and data, so back it up.

Depending on the outcome you need, it is important to back up and keep some version history as well, so you can roll back to a previous day if someone inadvertently corrupts the data.