A proposal to the Apache Software Foundation Incubator PMC by
Matt Hogstrom*, Aaron Peeler#, Mladen Vouk#
*IBM, #North Carolina State University
September 6, 2008
VCL is a management framework for building, dispensing and managing virtual machine images across a set of bare metal machines or systems with an installed virtual machine hypervisor.
This proposal seeks to create a top-level Apache Software Foundation project to continue the development and advancement of the Virtual Computing Lab open-source framework. This project is primarily concerned with providing a framework for hosting virtual server instances. These instances can contain a variety of application types. This implementation is in use at North Carolina State University to facilitate efficient use of their computing infrastructure using virtualization technologies. It has broad backing from the existing contributors to the North Carolina State University Virtual Computing Lab as well as interest from a variety of outside organizations.
The current participants are interested in expanding the usage of this platform to include multiple target hypervisors as well as enhance tooling for creating and managing virtual machine images. A partial list of additional enhancements includes image management for storing and archiving large number of images.
We thank you for your consideration.
Key Features & Goals
- Scheduling server resources in a virtualized environment to improve hardware and software efficiency.
- Expand supported hypervisors to include additional machine architectures.
- Security support for multiple roles in managing and gaining access to Cloud resources.
- Tools to create images to be hosted in the virtual infrastructure.
- To construct a REST driven framework for managing virtual computing resources.
The current implementation of the Virtual Computing Lab provides benefits for NC State University in terms of efficiently managing hardware and software resources. It also improves the simplicity to distribute images to a wide variety of users in a simplified way thus increasing human productivity in the process. Although originally focused on academic usage the infrastructure to manage the virtual assets have broader applicability for general data processing needs. To explore these additional areas NC State wants to bring this project to a more general population of developers and users to expand the usefulness of the codebase.
In addition, this technology would benefit many organizations that are looking to manage a set of physical assets through the application of virtual server and image management.
4. Need for a Community Effort
The VCL project at NC State has been very successful at serving the needs of the academic community and their unique needs for image creation, dispensing, usage and scheduling. To enhance the system for broader applicability for hosting other workload types and incorporating a diverse set of ideas and driving towards a more generalized approach there is a need for developers from commercial, academic and other users to be involved in evolving the code base.
5. Known Risks
Commitment to future development. NC State has been actively working this code base with other universities since 2004. Enhancements are needed as the world of cloud computing evolves. The initial commiters listed are actively working on the code base and have a list of desired enhancements included later in this proposal.
Experience with open source. Some of the developers have had limited involvement in open source projects. They understand that collaboration at Apache is community oriented. Working with mentors and others at Apache to build a solid community around the code base is an understood goal of the project.
Diversity of developer community. The initial code base was developed at NC State over a few years with involvement with some local universities. There has also been interest and some participation from corporate interests. The initial community is made up of individuals from 5 universities and one corporation.
Relationship to other Apache projects. There are no Apache projects such as VCL is currently involved with although the project uses releases from projects such as HTTP. Recent proposals such as Tashi have similar goals but not necessarily complete overlap.
The seed code from NC State has been in production since 2004 and has undergone several changes over that time. It currently serves the needs of the Virtual Computing Lab in use at NC State as well as other universities in various stages of exploitation.
Access to existing source code can be found here for those interested in looking at current project status: https://vcl.ncsu.edu/db87e7a15d2d21f402b1d/VCL-1.9.1.tar.gz
8. Required Resources
(a) Proposed Mailing lists:
- vcl-private (with moderated subscriptions)
(b) Subversion directory
(c) Issue tracking:
- VCL will use JIRA for bug tracking.
9. Initial Committers
The following list of individuals who would
Aaron Peeler (NCSU) firstname.lastname@example.org
Josh Thompson (NCSU) email@example.com
Andy Kurth (NCSU) firstname.lastname@example.org
Mladen Vouk (NCSU) email@example.com
John Bass (NCSU) firstname.lastname@example.org
Eric Sills (NCSU) email@example.com
Matt Valenzisi (NCSU) firstname.lastname@example.org
Steve Thorpe (MCNC) email@example.com
Jeff Chase (Duke) firstname.lastname@example.org
Paul Jones (UNC-CH) email@example.com
Don Sizemore (UNC-CH) firstname.lastname@example.org
Ken Chestnutt (UNC-CH) email@example.com
Brian Bouterse (IBM) firstname.lastname@example.org
Matt Hogstrom (IBM) email@example.com
John Savage (GMU) firstname.lastname@example.org
Wuchun Feng (VA Tech) email@example.com
Mark Gardner (VA Tech) firstname.lastname@example.org