Kalumet - Complete Environment Deployer Toolbox
Kalumet a complete environment manager and deployer including J2EE environments (application servers, applications, etc), softwares, and resources. It's a perfect complement to continuous integration (managed by maven and continuum or jenkins for instance) by adding continuous deployment. The whole factory chain is cover and the software administrator managed all environments in secure and safe way, whatever the underlying application servers (Apache Geronimo, Apache Tomcat, Apache TomEE, RedHat JBoss, Oracle Weblogic or IBM Websphere) or softwares (printout system, Apache HTTPd, operating systems, etc) are.
Kalumet provides two kind of components :
- Apache Kalumet agent are installed locally on the target server box.
- Apache Kalumet console controls and manages the agents, allowing the software administrator to update all environments from a central multi-user web tool.
The software environments administration is heavy cost task with a high level of human actions, especially when mixing J2EE environments, different operating systems, softwares, etc It suffers :
- a different set of scripts or actions/procedures depending of the application server used (Geronimo, Tomcat, JBoss, Weblogic, Websphere, ...) or other middlewares (portals or ESB like ServiceMix, HTTP servers like Apache HTTPd, etc);
- a high level of risk due to human actions (for example, an administrator can forget to deploy a JDBC DataSource, or forget to change an application configuration file);
- migrate an application from an environment to another one request boring actions (for example, migration applications and all linked resources from a testing environment to a production one, this action is named "promote");
- the upgrade process can be long (depending of the number of applications and complexity);
- most of resources are stored on the application server box, not in a central repository.
Apache Kalumet secures the environment deployment and covers the whole environment scope including J2EE parts (EAR/WAR archives with classloader policy, JDBC DataSources, JMS Connection Factories, JMS Queues/Topics, etc) and resources (operating systems, softwares, etc) in a unique way. It's heavily expendable, that means that you can create new plugins for dedicated resources.
When we have begun AutoDeploy, the first goal was to provide several J2EE application servers JMX plugins. But quickly, we have seen that multi-application servers support was only a part of the software administration needs.
That's why we have extended AutoDeploy to provide agents and a central console hosting all environments knowledges (artifact versions, resources, etc). Using the console, several administrators can use a central tool to manage all environments in a collaborative, unique and secure way.
The target is now to provide a complete tool to fully administrate a data center servers, softwares and middlewares.
- the 0.5 branch (with the 0.5.6 latest release) is the current stable branch. This branch is built every night using Apache Continuum (http://continuum.nanthrax.net).
- the 0.6 branch is in progress and it's the target one to become Apache Kalumet
- Fimasys France (http://www.fimasys.com)
- AMP-AXA Australia (https://www.amp.com.au/wps/portal/au)
- Vodacom South Africa (http://www.vodacom.com)
- Mayo Clinic USA (http://www.mayoclinic.com)
- NSW Attorney General Australia (http://www.lawlink.nsw.gov.au)
The core developers for AutoDeploy/Apache Kalumet project are :
- Jean-Baptiste Onofré (founder in 2004).
- Mike Duffy, WebSphere Consultant, contributes since 2005.
As all AutoDeploy contributors has approved, Apache Kalumet uses the Apache 2 license.
AutoDeploy Console currently use NextApp Echo2 framework, released under Mozilla Public License, which is a Category B license. The Apache incubation phase will use Echo2, acting that we have to switch to an Apache compliant framework (Pax Wicket and Vaadin could be used) before any TLP graduation.
Inexperience with Open Source
All code developed for AutoDeploy has been open source from the start (see Open Source section). And mostly by an ASF member Jean-Baptiste Onofré who is intimately familiar with the Apache model for open-source development and is experienced with working with new contributors. Jean-Baptiste Onofré, the creator of the project and one of the committers is also a committer on Apache Karaf, Apache ServiceMix, Apache Camel and Apache Ace.
The initial set of committers is from a small set of organizations. However, we expect that once approved for incubation, the project will attract new contributors from diverse organizations and will thus grow organically. The participation of developers from several different organizations in the mailing list is a strong indication for this assertion.
Reliance on Salaried Developers
It is expected that Kalumet will be developed on salaried and volunteer time, although all of the initial developers will work on it mainly on salaried time.
Relationships with Other Apache Products
AutoDeploy/Apache Kalumet depends upon other Apache Projects: Xerces, Xalan and multiple Apache Commons components and build systems like Maven. It will also use Apache OSGi project (Felix, Karaf, ACE) and project like Archiva.
A Fascination with the Apache Brand
The reason for joining Apache is to foster a healthy community of contributors and consumers around the project. This is facilitated by ASF and that is the primary reason we would like Kalumet to become an Apache project.
Source and Intellectual Property Submission Plan
The initial source is already Apache 2.0 licensed.
The required external dependencies are all Apache License or compatible licenses. Following components with non-Apache licenses are enumerated :
- Echo Web framework Mozilla Public License, which is a Category B license (see plan to remove this dependency).
Kalumet does not depend upon any cryptography tools or libraries.
- kalumet-private (with moderated subscriptions)
JIRA Kalumet (Kalumet)
The existing code already has unit and integration tests so we would like a Jenkins instance to run them whenever a new patch is submitted. This can be added after project creation.
- Dominik Bartholdi (email@example.com)
- Mike Duffy (firstname.lastname@example.org)
- Ioannis Canellos (email@example.com)
- Andreas Pieber (firstname.lastname@example.org)
- Achim Nierbeck (email@example.com)
- Jamie Goodyear (firstname.lastname@example.org)
- Youhort Ly (email@example.com)
- Terri-Lynn Rimmer (firstname.lastname@example.org)
- Mike Van Geertruy (email@example.com)
- Jean-Baptiste Onofré, Talend
- Olivier Lamy, Talend
- Olivier Lamy (firstname.lastname@example.org)
- Jim Jagielski (email@example.com)
- Olivier Lamy (firstname.lastname@example.org)
- Jean-Baptiste Onofré (email@example.com)
- Henri Gomez (firstname.lastname@example.org)