-
Notifications
You must be signed in to change notification settings - Fork 5
Provisionr Proposal
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.
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.
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.
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.
- 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
Provisionr had four releases on GitHub and it's used to deploy Hadoop clusters on-demand at Axemblr and infrastructure for testing / QA.
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.
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 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)
Provisionr complements Apache Whirr and later on it should provide a robust foundation for more advanced functionalities.
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.
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.
We are committed to recruiting additional committers from other companies based on their contributions to the project.
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.
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.
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.
http://wiki.apache.org/incubator/ProvisionrProposal
Available on GitHub: https://github.com/axemblr/axemblr-provisionr
We are going to prepare a software grant as needed.
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).
Provisionr uses standard APIs and tools for SSH and SSL.
- provisionr-private
- provisionr-dev
- provisionr-user
Git repository
JIRA Provisionr (PROVISIONR)
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.
- Andrei Savu - asavu at apache dot org
- Ioan Eugen Stan - ieugen at apache dot org
- Alex Ciminian
Andrei Savu - asavu at apache dot org
- Tom White - tomwhite at apache dot org
Incubator PMC