Hi guys - I would like to propose Provisionr to the Apache Incubator:
https://github.com/axemblr/axemblr-provisionr/wiki/Provisionr-Proposal Provisionr is a service that wants to solves the problem of cloud portability by hiding completely the APIs and only focusing on building a cluster that matches the same set of assumptions on all clouds, assumptions like: running a specific operating system (e.g. Ubuntu 12.04 LTS), having the same set of pre-installed packages and binaries, sane dns settings (forward & reverse ip resolution - as needed for Hadoop), ntp settings, networking settings, firewall, ssh admin access, vpn access etc. I am looking forward to your feedback and suggestions. Thanks, -- Andrei Savu ------------------------------------------------------------------------ ## Abstract Provisionr is an effort to develop a service that can be used to create and manage pools of virtual machines on multiple clouds in an automatic or semi-automatic fashion. ## Proposal Provisionr solves the problem of cloud portability by hiding completely the APIs and only focusing on building a cluster that matches the same set of assumptions on all clouds, assumptions like: running a specific operating system (e.g. Ubuntu 12.04 LTS), having the same set of pre-installed packages and binaries, sane dns settings (forward & reverse ip resolution - as needed for Hadoop), ntp settings, networking settings, firewall, ssh admin access, vpn access etc. As a secondary goal Provisionr should also provide primitives for building automatic or semi-automatic workflows for configuring services, workflows that assume that all the machines share a common set of characteristics as described above. ## Background Creating clusters on cloud infrastructure is non-trivial because careful orchestration is required. To make it easy to deploy services we need to start from a foundation that matches a common set of assumptions on multiple providers. ## Rationale This project started as a re-write of the core of Apache Whirr but has a different target being more focused on semi-automated workflows and cloud portability. ## Initial Goals * Build a community * Provide an excellent user experience for semi-automatic workflows (e.g. using Rundeck) * Implement a REST service and a Web Console * Add support for more providers ## Current Status Provisionr had four releases on GitHub and it's used to deploy Hadoop clusters on-demand at Axemblr and infrastructure for testing / QA. ### Meritocracy We plan to invest in supporting a meritocracy. We will discuss the requirements in an open forum. Several companies have already expressed interest in this project, and we intend to invite additional developers to participate. We will encourage and monitor community participation so that privileges can be extended to those that contribute. ### Community The community interested in cloud service infrastructure is currently spread across many smaller projects, and one of the main goals of this project is to build a vibrant community to share best practices and build common infrastructure. ### Core developers Core developers are very experienced in the Apache ecosystem. To achieve more diversity of developers, we will be eager to recruit developers from diverse companies. * Andrei Savu - asavu at apache dot org (Apache Whirr PMC) * Ioan Eugen Stan - ieugen at apache dot org (Apache James PMC) * Alex Ciminian (not a committer) ### Alignment Provisionr complements Apache Whirr and later on it should provide a robust foundation for more advanced functionalities. ## Known Risks ### Orphaned products The contributors have significant open source experience and the project is being used as part of a commercial product, so the risk of being orphaned is relatively low. We plan to mitigate this risk by recruiting additional committers. ### Inexperience with Open Source Most of the initial committers have experience working on open source projects. Andrei Savu and Ioan Eugen Stan have experience as committers and PMC members on other Apache projects. ### Homogenous Developers We are committed to recruiting additional committers from other companies based on their contributions to the project. ### Reliance on Salaried Developers It is expected that Provisionr development will occur on both salaried time and on volunteer time, after hours. The majority of initial committers are paid by their employer to contribute to this project. However, they are all passionate about the project, and we are confident that the project will continue even if no salaried developers contribute to the project. We are committed to recruiting additional committers including non-salaried developers. ### Relationships with Other Apache Products Provisionr is closely integrated with Karaf, CXF in a numerous ways. We look forward to collaborating with those communities, as well as other Apache communities. ### A Excessive Fascination with the Apache Brand We think that Provisionr will benefit from the community sharing ideas and best practices for running cloud services. The ASF does a great job at building communities, which is why we want to build Provisionr at Apache. ## Documentation https://github.com/axemblr/axemblr-provisionr/wiki ## Initial Source Available on GitHub: https://github.com/axemblr/axemblr-provisionr ## Source and Intellectual Property Submission Plan We are going to prepare a software grant as needed. The source code is already available under the Apache 2.0 license. ## External Dependencies The existing external dependencies all have Apache compatible licenses: Activiti (Apache 2.0), AWS SDK (Apache 2.0), jclouds (Apache 2.0), Google Guava (Apache 2.0). ## Cryptography Provisionr uses standard APIs and tools for SSH and SSL. ## Required Resources ### Mailing lists * provisionr-private * provisionr-dev * provisionr-user ### Version Control Git repository ### Issue Tracking JIRA Provisionr (PROVISIONR) ### 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 Committers * Andrei Savu - asavu at apache dot org * Ioan Eugen Stan - ieugen at apache dot org * Alex Ciminian ## Sponsors ### Champion Andrei Savu - asavu at apache dot org ### Nominated Mentors * Tom White - tomwhite at apache dot org ### Sponsoring Incubator PMC