OpenNebula Implements vCloud Express API

OpenNebula has contributed to its ecosystem a new Cloud Service to access OpenNebula clouds through the vCloud Express API.  The OpenNebula vCloud Service is a web service that enables you to launch and manage virtual machines in your OpenNebula installation through the vCloud Express API. The vCloud web service is implemented upon the new OpenNebula Cloud API (OCA) layer that exposes the full capabilities of an OpenNebula private cloud; and Sinatra, a widely used light web framework. The vCloud Express API in which this implementation is based, is the one specified by Terremark. This API consists of a subset of standard vCloud API calls that have been customized for a Terremark installation as well as Terremark-specific API calls. The new vCloud service has been tested to work with the vCloud drivers of libcloud and Red Hat deltacloud.

With this new cloud service, OpenNebula implements most common Cloud interfaces: Amazon EC2 Query, OGF OCCI and VMware vCloud. Besides theses interfaces, OpenNebula also brings libvirt and a powerful CLI, and all of them can be used on the same OpenNebula instance, so users can use their favorite interface. Moreover all those interfaces can be used on any of the virtualization technologies supported, Xen, KVM and VMware. These unique features confirm OpenNebula as the leading open-source technology for cloud computing, and demonstrate its adaptability and extensibility capabilities that many enterprise IT shops need for internal cloud adoption.

Ignacio M. Llorente

Building your Open-Source Cloud in Four Steps

C12G has just contributed to the OpenNebula Ecosystem its OpenNebula Express installer under GPL open-source license. This installer eases the installation and deployment of OpenNebula clouds. In few minutes you will get a fully operational cloud from a cluster with a a clean install of the operating system. This is the fastest track to cloud computing, enabling any organization to have an enterprise-grade cloud in four steps.

OpenNebula can be adapted into any existing datacenter to build a private, public or hybrid cloud. Due to this flexibility, OpenNebula can be configured in many different ways, and at times, for new users, it might be challenging to read through the documentation to decide about the structure of their deployment. The aim of this innovative component is to provide a simple installer to deploy OpenNebula quickly and effortlessly.

Please visit the OpenNebula Express page in the OpenNebula Ecosystem for more information.

Ignacio M. Llorente

Deltacloud and Libcloud drivers for OpenNebula

A couple of months ago the OpenNebula open-source project established the OpenNebula Ecosystem in order to promote the different tools, extensions and plug-ins that are available to complement OpenNebula from a wide variety of projects, companies, and research centers. These ecosystem components enhance the functionality provided by the OpenNebula Cloud Toolkit or enable its integration with existing products, services and management tools in the virtualization, cloud and data center ecosystems. Recently two new components have been added to the catalog:

A team led by Sebastien Goasguen in Clemson University has also contributed a tool for transferring files to Unix machines on a cluster, this Python tool is able to transfer a 10GB file to 450 hosts in less than one hour. scp-wave tool is of great help when deploying virtualized services on very large-scale infrastructures.

In few weeks the project will announce new tools in the ecosystem, like the support for new cloud APIs (now OpenNebula already supports OCCI and EC2-Query).

Ignacio M. Llorente

Release of OpenNebula Enterprise Edition v1.4

C12G is proud to announce the release of OpenNebula Enterprise Edition 1.4 (build 7eae48fa). OpenNebula EE 1.4 is an enterprise-grade distribution of the widely used OpenNebula Cloud Toolkit. The codebase for OpenNebula EE 1.4 is built from the last stable release of OpenNebula plus selected patches form the OpenNebula repository and additional bug fixes and features.

OpenNebula EE 1.4 has been also extensively tested and certified for the most common platforms in the industry. OpeNebula EE 1.4 highlights are:

  • Based in the most advanced open-source toolkit for building private, public and hybrid clouds, offering unique features for Cloud Management to administer the complexity of large-scale distributed infrastructures.
  • Specific patches to improve the scalability of OpenNebula on thousands of cores
  • Support for new heuristics for VM placement
  • Stability fixes for the KVM, Xen and VMware drivers
  • Multicluster support
  • Revised documentation available in PDF format

Based in the most advanced open-source toolkit for building private, public and hybrid clouds, offering unique features for Cloud Management to administer the complexity of large-scale distributed infrastructures.Specific patches to improve the scalability of OpenNebula on thousands of coresSupport for new heuristics for VM placementStability fixes for the KVM, Xen and VMware driversMulticluster supportRevised documentation available in PDF format

C12G can work with you to further customize and certify OpenNebula EE to meet your requirements. Our support subscription includes the preparation a custom distribution addressing the requirements and constraints of your environment.C12G has a strong commitment with the open source OpenNebula edition and will contribute back these developments to the community repository

For more information visit www.c12g.com

OpenNebula Cloud Toolkit Goes Commercial

The authors of the widely used OpenNebula toolkit have founded a company to provide value-added enterprise-solutions around this leading open source technology for cloud computing. C12G Labs has been created to address the growing demand for commercial support and services around OpenNebula.

“Our experience is that one single cloud solution does not fit all the requirements and constraints from any data center. We provide our partners with technology and services to build their custom cloud solution, product or service”, said Ignacio M. Llorente, co-lead of the OpenNebula open-source project and Chief Executive Advisor of C12G Labs. “We are very excited with this new venture that will contribute to the future sustainability of OpenNebula. This open-source cloud-enabling technology will continue being distributed under Apache license and matured through a vibrant community. C12G has a strong commitment with OpenNebula and will contribute back to the community repository”.

Cloud management solutions, like OpenNebula, are key components in any cloud architecture, being responsible for the secure, efficient and scalable management of the cloud resources. C12G builds custom Cloud solutions by adapting an Enterprise Edition of OpenNebula to meet the performance, integration and configuration requirements of infrastructure, processes or use cases of partners and customers.

“OpenNebula is the result of many years of research and the interaction with some of the major players in the Cloud arena. From the beginning, OpenNebula has been designed to be flexible enough to adapt to any infrastructure and to scale to thousands of virtual machines and cores” said Ruben S. Montero, co-lead of the OpenNebula open-source project and Chief Technology Advisor of C12G Labs. “We are convinced that OpenNebula will be one of the key technologies needed to build next generation Cloud infrastructures”.

The first version of the OpenNebula Enterprise Edition will be available in few days to customers and partners with an active support subscription.

For more info: http://www.C12G.com

Ignacio M. Llorente

OpenNebula in Google Summer of Code 2010!

This year OpenNebula has been selected as a Google Summer of Code (GSoC) mentoring organization. GSoC is a program that offers student developers stipends to write code for various open source projects. During the last six years GSoC has brought together nearly 3,400 students and more than 3,000 mentors  from nearly 100 countries worldwide. For more information about the program take a look to the GSoC FAQ.

GsoC2010

We are very excited about this great opportunity to work with very talented and self-motivated students. During the summer the students will be part of our community, and will have the opportunity to learn the basics of virtualization, cloud computing and OpenNebula.

If you are a student, and would be interested in participating in GSoC with OpenNebula as your mentoring organization, please take a look at our GSoC Ideas page.  This page lists projects that OpenNebula has proposed for GSoC, but it is not a closed list.  If you have an idea for a cool project that uses or extends OpenNebula, please contact one of the OpenNebula  GSoC mentors.  Also, if you are teaching distributed/cloud computing or related courses please share this information with your students.

Once you are ready to submit an application, remember that you must do so before April 9th through the GSoC webapp. So come and join us this summer to improve the OpenNebula Cloud Toolkit!

Ruben S. Montero

New website for OpenNebula.org … and much more!

The OpenNebula team is happy to announce  a new website for OpenNebula. This is not only a new look for opennebula.org but a whole new site for the community, a new place to share resources, contribute developments and discuss about components and solutions around OpenNebula.
OpenNebula Ecosystem
Relevant new places in opennebula.org:

  • Community, a whole new space for the OpenNebula community. There you can find information on how to contribute, the OpenNebula users or the ecosystem… Also we have started the ecosystem catalog to collect all the projects and initiatives of the community.
  • Mailing Lists We have created two new mailing lists: announce, a lowtraffic list for announcements; and ecosystem to discuss of cloud components, projects and cloud solutions…
  • New VCS we have migrated the source repository to git. You can view the new git repo or find instructions to check out the source in dev.opennebula.org.

The OpenNebula Team

Claudia, an open-source service manager integrated with OpenNebula

As part of its exploitation strategy, Telefónica I+D has decided to release as Open Source a number of components developed during its research on Infrastructure as a Service (IaaS) Clouds.  These components will be integrated in the Claudia Platform that will offer a Service Management toolkit to deploy and control the scalability of service among a public or private IaaS Cloud. Telefónica I+D chooses MORFEO Project to release the software because it guarantees the access to the results of research beyond the end of the project.

These components will continue evolving and put into a “production” status by Telefónica I+D. Each component will be released with its own Open Source License (GPL, Apache, MPL, etc.). Telefónica I+D will also provide commercial support following a dual-license schema.

The Claudia Platform is aligned with the Morfeo’s Cloud Technologies Chapter vision of integrating a complete Open Source Stack for managing a IaaS Cloud. In this way, Claudia will be fully integrated with OpenNebula through the OCCI API as both are members of the chapter.

More details: http://claudia.morfeo-project.org/

Ignacio Martin Llorente

A Flexible and Interoperable Cloud Operating System

Slide1Future enterprise data centers will look like private clouds supporting a flexible and agile execution of virtualized services, and combining local with public cloud-based infrastructure to enable highly scalable hosting environments. The key component in these cloud architectures will the cloud management system, also called cloud operating system (OS), being responsible for the secure, efficient and scalable management of the cloud resources. With high-end computing demands, cloud operating systems will continue to be a very active field of research and development; in many ways displacing “traditional” OS to be part of the application stack.
Functionality of Open Cloud Operating Systems
A Cloud OS deal with the complexity of a distributed infrastructure in the execution of virtualized service workloads. The Cloud OS manages a number of servers and hardware devices and their infrastructure services which make up a distributed system, giving the user the impression that they are interacting with a single infinite capacity and elastic cloud. In the same way that multi-threaded OS define the thread as the unit of execution and the multi-threaded application as the management entity, supporting several communication and synchronization instruments; multi-tier Cloud OS define the VM as the basic execution unit and the virtualized services (group of VMs to execute a multi-tier service) as the basic management entity supporting different communication instruments and their auto-configuration at boot time. This concept helps to create scalable applications because you can add VMs as and when needed. Individual multi-tier applications are all isolated from each other, but individual VMs in the same applications are not as they all may share a communication network and services as and when needed.
A Cloud OS has a number of functions:
– Management of the Network, Computing and Storage Capacity: Orchestration of storage, network and virtualization technologies to enable the dynamic placement of the multi-tier services on distributed infrastructures, combining both data center resources and remote cloud resources.
– Management of VM Life-cycle: Smooth execution of VMs by allocating the resources required for them to operate and by offering the functionality required to implement VM placement policies, such as migration
– Management of Workload Placement: Support for the definition of workload and resource-aware allocation policies such as consolidation for energy efficiency, load  balancing, affinity-aware, capacity reservation…
– Management of VM Images: Exposing of general mechanisms to transfer and clone VM images
– Management of Information and Accounting. Provision of indicators that can be used to diagnose the correct operation of the servers and VMs and to support the implementation of the dynamic VM placement policies
– Management of Security: Definition of security policy on the users of the system, guaranteeing that the resources are used only by users with the relevant authorizations and isolation between workloads
– Management of Remote Cloud Capacity: Dynamic extension of local capacity with resources from remote providers
OpenNebula is an open cloud OS that provides above functionality on a wide range of technologies. However, in my view, the main differentiation of OpenNebula is not its leading edge functionality but its open, modular and extensible architecture that enables its seamless integration with any service and component in the ecosystem.
Interoperability at Cloud Management Level
Being the core component in any Cloud solution, interoperability is crucial for the success of a cloud management system. We can compare the Cloud OS with a the kernel in “traditional” operating systems. The Cloud OS represents the basic functions in a cloud and requires a well defined communication with underlying devices and interface to expose administration and user functionality.
At the cloud management level, interoperability means:
– Modularity and flexibility to easily interface with any service or technology in the virtualization and cloud ecosystem, and
– Standardization to avoid vendor-lockin and to create a healthy community around
In fact interoperability should be evaluated from three different angles:
– Infrastructure User Perspective: Users, application developers, integrators and aggregators are requiring a standard interface for the management of virtual machines, network and storage. OCCI is a simple REST API for Infrastructure as a Service based Clouds that is being defined in the context of OGF. This interfaces represents the first standard specification for life-cycle management of virtualized resources. OpenNebula has been the first referent implementation of this open cloud interface, and also implement the Amazon EC2 API.
– Infrastructure Management Perspective: Administrators are requiring cloud OS to be integrated into existing infrastructure and management services, so fitting into any data center. OpenNebula provides a flexible back-end that can be integrated with any service for virtualization, storage and networking.
– Infrastructure Federation Perspective: Administrators are requiring cloud OS to grow using resources from partner and commercial clouds
The open and flexible approach for cloud management ensures uptake and simplifies adaptation to different environments, being key for interoperability. The existence of an open and standard-based cloud management system like OpenNebula provides the foundation for building a complete cloud ecosystem. This ensures the new components and services in the ecosystem have the widest possible market and user acceptability.
OpenNebula is being enhanced in the context of the RESERVOIR project, flagship of European research initiatives in virtualized infrastructures and cloud computing.

Future enterprise data centers will look like private clouds supporting a flexible and agile execution of virtualized services, and combining local with public cloud-based infrastructure to enable highly scalable hosting environments. The key component in these cloud architectures will the cloud management system, also called cloud operating system (OS), being responsible for the secure, efficient and scalable management of the cloud resources. Cloud OS are displacing “traditional” OS, which will be part of the application stack.

Flexibility in Cloud Operating Systems

A Cloud OS administers the complexity of a distributed infrastructure in the execution of virtualized service workloads. The Cloud OS manages a number of servers and hardware devices and their infrastructure services which make up a cloud system, giving the user the impression that they are interacting with a single infinite capacity and elastic cloud. In the same way that multi-threaded OS define the thread as the unit of execution and the multi-threaded application as the management entity, supporting communication and synchronization instruments; multi-tier Cloud OS define the VM as the basic execution unit and the multi-tier virtualized service (group of VMs) as the basic management entity, supporting different communication instruments and their auto-configuration at boot time. This concept helps to create scalable applications because you can add VMs as and when needed. Individual multi-tier applications are all isolated from each other, but individual VMs in the same application are not as they all may share a communication network and services as and when needed.

A Cloud OS has a number of functions:

  • Management of the Network, Computing and Storage Capacity: Orchestration of storage, network and virtualization technologies to enable the dynamic placement of the multi-tier services on distributed infrastructures
  • Management of VM Life-cycle: Smooth execution of VMs by allocating the resources required for them to operate and by offering the functionality required to implement VM placement policies
  • Management of Workload Placement: Support for the definition of workload and resource-aware allocation policies such as consolidation for energy efficiency, load  balancing, affinity-aware, capacity reservation…
  • Management of VM Images: Exposing of general mechanisms to transfer and clone VM images
  • Management of Information and Accounting. Provision of indicators that can be used to diagnose the correct operation of the servers and VMs and to support the implementation of the dynamic VM placement policies
  • Management of Security: Definition of security policy on the users of the system, guaranteeing that the resources are used only by users with the relevant authorizations and isolation between workloads
  • Management of Remote Cloud Capacity: Dynamic extension of local capacity with resources from remote providers

OpenNebula is an open cloud OS that provides the above functionality on a wide range of technologies. However, in my view, the main differentiation of OpenNebula is not its leading edge functionality but its open, modular and extensible architecture that enables its seamless integration with any service and component in the ecosystem. The open architecture of OpenNebula provides the flexibility that many enterprise IT shops need for internal cloud adoption. Cloud computing is about integration, one solution does not fit all. Moreover, as pointed out in the CloudScaling “Infrastructure-as-a-Service Builder’s Guide“, the right configuration and components in a Cloud architecture also depend on the execution requirements of the service workload.

Slide1

Interoperability at the Cloud Management Level

The IEEE defines interoperability as “the ability of two or more systems or components to exchange information and to use the information that has been exchanged” and Wikipedia introduces  interoperability as “the property referring to the ability of diverse systems and organizations to work together (inter-operate)“. Being the core component in any cloud solution, interoperability is crucial for the success of a cloud management system. We can compare the cloud OS with a the kernel in “traditional” operating systems. The cloud OS represents the basic functions in a cloud and requires a well defined communication with underlying devices and interface to expose administration and user functionality.

At the cloud management level, interoperability means:

  • Modularity and flexibility to easily interface with any service or technology in the virtualization and cloud ecosystem, and
  • Standardization to avoid vendor lock-in and to create a healthy community around

In fact interoperability should be evaluated from three different angles:

  • Infrastructure User Perspective: Users, application developers, integrators and aggregators are requiring a standard interface for the management of virtual machines, network and storage. OCCI is a simple REST API for Infrastructure as a Service based Clouds that is being defined in the context of OGF. This interfaces represents the first standard specification for life-cycle management of virtualized resources. OpenNebula has been the first referent implementation of this open cloud interface, and also implement the Amazon EC2 API.
  • Infrastructure Management Perspective: Administrators are requiring cloud OS to inteface into existing infrastructure and management services, so fitting into any data center. OpenNebula provides a flexible back-end that can be integrated with any service for virtualization, storage and networking.
  • Infrastructure Federation Perspective: Administrators are requiring cloud OS to manage resources from partner and commercial clouds

With high-end computing demands, cloud operating systems will continue to be a very active field of research and development. An open and flexible approach for cloud management ensures uptake and simplifies adaptation to different environments, being key for interoperability. The existence of an open and standard-based cloud management system like OpenNebula provides the foundation for building a complete cloud ecosystem, ensuring the new components and services in the ecosystem to have the widest possible market and user acceptability.

OpenNebula is being enhanced in the context of the RESERVOIR project, flagship of European research initiatives in virtualized infrastructures and cloud computing.

Ignacio M. Llorente

Haizea 1.0 now available

The first stable version of the Haizea Lease Manager was released a few days ago and is available for download at http://haizea.cs.uchicago.edu/

Haizea can be used as a drop-in replacement for OpenNebula’s scheduling daemon, providing OpenNebula with more advanced scheduling capabilities such as advance reservations and queueing of requests when there are no resources available.

Haizea 1.0 is compatible with the recently released OpenNebula 1.4 and, compared to the last major release of Haizea (Technology Preview 1.3 in February 2009), introduces many new features focused on:

  • Extensibility: A new modular scheduler design that makes it easier to choose between different scheduling policies, or to write custom policies that can be “plugged into” Haizea. Writing a custom policy only requires writing a Python module implementing a set of methods described in the Haizea documentation.
  • Stability: Many internal changes, including a larger number of unit tests, that make Haizea more stable.
  • Documentation: More documentation, including developer documentation for users interested in extending Haizea or writing custom scheduling algorithms or policies.

For a list of all the new features, take a look at the Haizea Changelog

Work on Haizea 1.2 is already under way, and will include the following features:

  • Support for leases with deadlines. Haizea will include deadline-driven scheduling algorithms such that, if a user specifies a deadline for a lease, Haizea will only accept if it can be scheduled before that deadline. Furthermore, preemptions (if allowed by the lease) will only be done if the deadline restriction is still met.
  • Lease negotiation. The lease lifecycle will be expanded to incorporate a negotiation phase before a lease is accepted. In this negotiation, it will be possible for Haizea to reply to a lease request with multiple possible leases which the user can accept or reject. The initial focus in this work will be on supporting lease pricing.
  • Lease pricing. Haizea will be able to price leases, based on pluggable pricing leases.

Since most of the work for 1.2 is driven by research efforts, the focus for the next couple of months is going to be mostly on the simulation side of Haizea. Nonetheless, improving the integration between Haizea and OpenNebula, particularly in regards to making Haizea more aware of unscheduled changes in the VMs (an issue that several users have brought to our attention), is still part of our long-term goals. However, we don’t anticipate we”ll be able to work on improving that part of Haizea until, at least, the summer. Nonetheless, if there are developers who would be interested in helping to improve the Haizea/OpenNebula integration (specially those who have a stake in this integration), please don’t hesitate to let us know, as we’d be happy to provide assistance.