Applications and services require customized computational environments that can be provisioned from multiple sources (e.g. on-premises Clouds, public Clouds, virtualization platforms, container orchestrators, etc.). However, the use of these platforms require users to have non-trivial skills.

For that, IM is a tool that deploys complex and customized virtual infrastructures on multiple back-ends. The IM automates the Virtual Machine Image (VMI) selection, deployment, configuration, software installation, monitoring and update of virtual infrastructures. It supports a wide variety of back-ends, thus making user applications Cloud agnostic. In addition it features DevOps capabilities, based on Ansible to enable the installation and configuration of all the user required applications providing the user with a fully functional infrastructure.

It is a service that features a web-based GUI, a XML-RPC API, a REST API and a command-line application.

Virtual Infrastructure Management

The main goal of the IM is to provide a set of functions for the effective deployment of all the required virtual infrastructures required to deploy an application or service in a Cloud environment, either composed by VMs or by Docker containers. The IM considers all the aspects related to the creation and management of virtual infrastructures:

  • The software and hardware requirements specification for the user applications, using a simple language defined to be easy to understand by non-advanced users who just want to deploy a basic virtual infrastructure, but with enough expressivity for advanced users to set all the configuration parameters needed to get the infrastructure fully configured.
  • The selection of the most suitable Virtual Machine Images (VMI) based on the user expressed requirements.
  • The provision of Virtual Machines on the Cloud deployments (or Docker containers in Kubernetes, for example) available to the user, including both public IaaS Clouds (Amazon Web Services, Microsoft Azure, etc.), on-premises Cloud Management Platforms (OpenNebula, OpenStack, etc.) and Container Orchestrators (Kubernetes).
  • The contextualization of the infrastructure at run-time by installing and configuring all the required software that may not be available in the images (either VMIs or Docker images).
  • The elasticity management, both horizontal (adding/removing nodes) and vertical (growing/shrinking the capacity of nodes). The IM supports the TOSCA Simple Profile in YAML Version 1.0 for infrastructure description.

General Architecture

The IM provides both XML-RPC and REST APIs to enable high-level components to access its functionality. These APIs provide a set of functions for clients to create, destroy, and get information about the infrastructures. The RADL language is used both to create and to get the information about the infrastructures. The IM also provides functions to add and remove resources and modify the features of the existing ones, both hardware and software at run-time.

The figure at the right shows the architecture of the IM. The client interfaces currently available for users are depicted at the top. The IM in the center of the figure provides the upper layers with the functionality through the APIs provided. The IM uses the "Cloud Selector" component to connect to the VMRC service to get the list of VMIs that best fit the user requirements (expressed in the RADL document) and merges this information with the list of available Cloud deployments for the user, in order to get the best option. The "Cloud Connector" layer makes effective the provision of VMs in the cloud deployments. It provides an homogeneous interface to connect to the different cloud middlewares. Finally, once the resources (VMs or Docker containers) are deployed and in the running state, the "Configuration Manager" is in charge of managing the contextualization of all the resources of the infrastructures using the Ansible.

General Architecture

IM Documentation

Check the docs to understand IM in detail.

Tel: (+34) 963 87 70 07 Ext. 88254
Camino de Vera Road, Building 8B, Door N, 1st Floor,
Valencia City, Valencia 46022

Copyright © 2015, GRyCAP-I3M-UPV, Universitat Politècnica de València - 46022, Valencia, Spain