Tuesday, February 3, 2009

JBoss and multiple environments

Here at SmartLab we use four environments during the software life-cycle, each with it's own characteristics:
  • the development environment is the one running on each development computer and allows each developer to write and test it's own code in a non-shared environment without worring about concurrency or conflicting changes;
  • the integration-test, also know as test, environment is the first opportunity for multiple developers and development teams to integrate the different parts into a single solution and this environment usually respect the architectural principles of the project but it can be limited by any factor;
  • the demo environment is the last developers-accessible environment and it fully respects all the architectural choices made for the system, in addition this environment should provide some sort of access from the outer world to allow for pre-release revisions;
  • the production environment is where the system is deployed for public access.
The preceding environments are listed in ascending order of importance, security needs and computational power; each one runs an application server which needs to be configured in a proper way to fit the environment specific needs.

File logging is configured:
  • development - at a trace level and without rotation or append
  • test - at a debug level without rotation but with append
  • demo - at an info level with rotation and append
  • production - at an info level with rotation, append and backup
Console logging is configured:
  • development - at a debug level
  • test - at a warn level
  • demo - at a warn level
  • production - at an error level (used only to ensure startup ha been performed correctly)
Email loggin is configured:
  • development and test - none
  • demo - error level messages are sent to developers
  • production - error level messages are sent to the project leader immediately, warnings are sent on a per day basis to developers
Administration console security is configured:
  • development - no protection
  • test,demo and production - password protected
  • demo and production - ciphered protocol
File permissions are set to:
  • development - no protection
  • test and demo - stiky bit and readwrite permissions on %devel for deplyment folders, logs and temporary dirs
  • production - stiky bit and readwrite permissions on %manager for deplyment folders,

No comments: