Skip to content
This repository has been archived by the owner on Aug 2, 2019. It is now read-only.

Provisionr Proposal

andreisavu edited this page Feb 25, 2013 · 17 revisions

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

W

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

Inexperience with Open Source

Homogenous Developers

Reliance on Salaried Developers

Relationships with Other Apache Products

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

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.

External Dependencies

Cryptography

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
  • Ioan Eugen Stan
  • Alex Ciminian

Sponsors

Champion

Andrei Savu - asavu at apache dot org

Nominated Mentors

  • Tom White - tomwhite at apache dot org

Sponsoring

Incubator PMC

Clone this wiki locally