OpenCloud is a research Cloud being built as a partnership between PlanetLab, ON.LAB, and Internet2. Our goal is to push the boundaries of current thinking about Clouds: OpenCloud is based on a novel architecture that extends the concepts of Cloud IaaS and PaaS into new territory. We are looking to build a community of Cloud service developers to use OpenCloud as a showcase for innovative designs. Read on to find out more.
Extending IaaS: A widely-distributed, SDN-enabled Cloud
OpenCloud enriches and extends the IaaS model offered by commodity Clouds. OpenCloud's hardware resources encompass servers located in datacenters, in PoPs in the network core, and at the network edge. A small set of large clusters enables applications that want to scale compute and storage resources. A large set of more modestly provisioned edge clusters enables applications that want to scale aggregate bandwidth to clients. Interconnecting these clusters with SDN enables network customization. Each tenant can use the full addressing space, specify their own topology, and deploy the network OS of their choice (e.g., ONOS) to control packet forwarding between VMs.
OpenCloud enables innovation below the IaaS API offered by commercial clouds. OpenCloud makes it possible to fully control VM placement and virtual network topology, use the full network address space, and deploy the network OS of choice to control packet forwarding between VMs. The goal is to enable network-aware services that can position functionality at the optimal point in the network.
Extending PaaS: A programming model for Cloud services
OpenCloud is based on the principle of XaaS (Everything-as-a-Service). XaaS models services as multiple
instances (i.e., worker VMs running application code) managed by a controller. OpenCloud runs XOS, an extensible Cloud operating system inspired by the Unix OS. XOS provides a programming environment for building Cloud service controllers, both from scratch and through service composition. It gives controllers an extensible, abstract, global view of the system that can be used to orchestrate, scale, and manage services.
XOS provides a framework for innovation above the IaaS API of commercial Clouds. XOS provides explicit support for composing new services from existing building blocks services, and constructing domain-specific Platforms-as-a-Service (PaaS).
Building community: A showcase for innovation
Commercial Clouds don't just provide IaaS. They also offer an ecosystem of services and tools that make building, managing, and monitoring Cloud services easier. For instance, Amazon users can leverage AWS as well as the Amazon Marketplace.
OpenCloud is first and foremost a showcase for innovative services that can take advantage of the ability to program the Cloud below and above the IaaS API. Our goal is to bootstrap an ecosystem of building-block services, maintained and operated by third parties, that are available to OpenCloud users. Such an ecosystem would make OpenCloud an invaluable resource for the research community, as well as validate the OpenCloud architecture and vision.