JaMaCU Deployment Strategy
Motivation
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.
- etc.
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.
Goals
- 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.
Prerequisites and assumptions
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).
| Table of Contents - Maven-based Software Release - Installation and Deployment Automation - Confluence-based Documentation Release - ConfigService - Logging - Error Handling And Exception Management - States of a distributed application - SysAdmin Production Toolbox Legend - documentation good enough as guide - documentation NOT good enough as guide | JaMaCU_graphical_overview |