Understanding your environment
The final section in this chapter is one of the most important best practices I can suggest. The final section covers the importance of understanding your environment.
Some believe that a systems administrator's job stops at the applications installed on the system and that the systems administrator should only be concerned with the operating system and the operating system's components, such as networking or file systems.
I do not follow this philosophy. In reality, it is often that a systems administrator will start to understand how an application works in production better than the development team who created it.
From my experience, in order to truly support a server, you must understand the service and applications running within that server. For example, in many enterprise environments the systems administrator is expected to handle the configuration and management of the web server (for example, Apache and Nginx). However, the same system admin is not expected to manage the application (for example, Java and C) behind Apache.
What makes Apache different from a Java application? The answer is nothing really; at the end of the day they are both applications running on the server. I have seen many administrators simply wash their hands off an issue once the issue is related to an application. Yet if the issue is related to Apache, they spring into action.
In the end, if those administration groups were to partner with the development group the issues could be solved faster. It is the administrator's responsibility to understand and help troubleshoot issues with any software loaded on their systems. Whether that software was distributed with the OS or installed later by an application team.