Introduction | ![]() |
What is it? | ||
Commander is a flexible automation and control framework that enables you to break complex management processes down into reusable generic commands. Each node hosting applications or where management processes must be executed has the Commander client software installed. Workbench provides the Commander clients with the necessary management data about your applications and control procedures. The Commander framework manages dependencies between commands and allows you to assemble fine-grained commands into more complex procedures.
Figure 1: Commander Automation and Control Framework

Figure 1 shows two applications (app A and app B) in operation managed by Commander. The machine on the left, acts as a distribution point for commands and management data. Commands are distributed in packages called command modules to Commander client machines. Management actions are executed by invoking a command within the command module. The figure shows the "configure" command being invoked. Management procedures are made flexible because commands are parameterized by the management data distributed by the manager machine.
Potential Users of Commander | ||
This section gives some examples of users that can benefit from Commander capabilities. In general, any organization wishing to take advantage of a data-driven management environment - data-driven commands, template-based configurations, flexibility, adaptability - and cross-platform tool automation can benefit from using Commander. For example:
- An e-commerce business using an n-tier architecture with application components deployed across specialized machines tied together to form an integrated system can use Commander for dependency-aware distributed configuration management.
- Release managers that stage software through multiple environments (e.g., development, QA, production) during the release process can use Commander for consistent and automated application setups.
- System administrators supporting an environment comprising, or expecting to comprise in the future, more cooperating hosts than can be easily administered manually (e.g., over 15 machines) can benefit greatly from the administrative support afforded by Commander.
- Operations groups that use heterogeneous hardware platforms to host application deployments can use Commander for OS independent application administration.
- System engineers maintaining application deployments built using heterogeneous software platforms can use Commander to generalize the management procedures into a standard user interface hiding the proprietary differences of command line syntax and configuration data unique to proprietary platforms.
- Developers that write environment, application, and build management tools can use Commander as a platform for their software. Management applications that are written on Commander can be readily re-hosted to other software and hardware platforms that support Commander (any hardware platform capable of supporting Ant). Or any combinations of the above.
Commander is useful to any group or organization that is responsible for making frequent application updates and or updating integrated software systems.
Potential Commander Environment | ||
The figure below shows two examples where an organization is required to support small and large-scale configurations for the same application. In both examples, there is a similar set of deployments related by their configuration. With Commander, that set of deployments can be managed as a logical unit using a common set of templates and procedures. The release manager can more easily promote changes between the development and the production environment, using Commander as a standard configuration framework. With the same set of commands and procedures, system administrators can update configuration changes to the application in both environments without having to manually edit files or run commands differently due to environmental differences. System engineers can use Commander as a toolkit to create configuration templates to make them ready for operations. Architects can use Commander to define a standard pattern of the application and build command handlers that will build and configure deployments for new environments and users in an automated fashion.
Figure 2: Potential Commander Environments



