Kalumet - Complete Environment Deployer Toolbox

Abstract

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 :

Background

Currently, Apache Kalumet is named BuildProcess AutoDeploy (http://buildprocess.sourceforge.net). The development has begun 4 years ago and several release have already been provided.

Rationale

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 :

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.

Initial Goals

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.

Current Status

Currently, BuildProcess AutoDeploy provides two branches :

Community

Currently, AutoDeploy community contains two comitters, 5 contributors and around 50 users. BuildProcess AutoDeploy is used in production and test in several companies :

Core Developers

The core developers for AutoDeploy/Apache Kalumet project are :

Open Source

Since the beginning, AutoDeploy was a Open Source project using GPL license. It switched to Apache 2.0 license in 2009, approved by all AutoDeploy developers (IP Clearance).

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.

Known Risks

Orphaned Products

AutoDeploy is already deployed in production at multiple companies. (see Community Section) AutoDeploy is getting traction with developers and thus the risks of it being orphaned are minimal.

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.

Homogeneous Developers

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.

Documentation

AutoDeploy docs: http://buildprocess.sourceforge.net/autodeploy.html

Initial Source

https://buildprocess.svn.sourceforge.net/svnroot/buildprocess/AutoDeploy/

Source and Intellectual Property Submission Plan

The initial source is already Apache 2.0 licensed.

External Dependencies

The required external dependencies are all Apache License or compatible licenses. Following components with non-Apache licenses are enumerated :

Cryptography

Kalumet does not depend upon any cryptography tools or libraries.

Required Resources

Mailing lists

Subversion Directory

https://svn.apache.org/repos/asf/incubator/kalumet

Issue Tracking

JIRA Kalumet (Kalumet)

Other Resources

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.

Initial Committer

Affiliations

Sponsors

Champion

Nominated Mentors