Challenges to get a system into production

Apart from compiling, integrating and testing (aka building) a system, additional tasks need to be completed to get any sufficiently complicated system up-and-running on a target platform:

We don’t want to frighten you - but want to show some examples of activities you (propably) need to consider:

  • Ensure the correct operating system (version + patches) is installed
  • Create the required (user) accounts, together with appropriate access rights
  • Create directories on the target operating system, together with appropriate access rights
  • Create and configure databases, including required DB accounts plus access rights
  • Migration of already existing application data
  • Installing and configuring required middleware, application servers or frameworks. That can include:
    • Web server
    • Proxy server
    • Load balancer, high-availability server
    • directory server (i.e. LDAP)
    • message bus
    • etc.
  • Setup and configuration of network drivers, routers, IP-addresses, hostnames, nameserver, VPN-tunnels
  • Setup of network or application level firewalls including required firewall rules
  • Setup and configuration of required security measures (i.e certificates or other cryptographic keys, disk- or database encryption)

Automate (almost) everything

You never want to manually perform all these tasks (and expect to perform flawlessly). In case you do - there will be errors, omissions and tiny deviations from the required setup - we bet on that.

You should instead thorougly document your setup - at best by means of automation scripts.

If you and your team are still not part of any devops experience, have a look at the following hints: