Developers and architects have too long neglected the needs of system administration. The excuses
vary, but the symptoms are much the same;
- Complex and time consuming deployments.
- Complex and error prone configuration.
- Too much, too little or just plain bad logging.
- Poor or missing exception management.
- "I do it my way" instead of "I do it the standard way".
- Little or poor communication between sysadmins and developers.
Enough with the excuses!
We will here explain what we consider to be good practices for integrating and collaborating with system administrators and their systems and processes.
- Make it easy to deploy an application in a new environment.
- Describe a solution for Configuration Management based on sound [SOA ] principles and open source software.
- Describe the relevant solutions and means we need to solve the most painful problems.
The documentation and examples are written in a Java and Unix/Linux context. While most of the ideas can (/ought to be) possible on Windows, we have opted to complete an end-to-end solution on one platform before expanding to multiple platforms. We have also chosen Confluence for documentation, Maven as build system and unix-maven-plugin for packaging.
The strategy is therefore called JaMaCU (Java, Maven, Confluence, Unix-maven-plugin).