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: