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.
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 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 infrastructures can be described using OASIS TOSCA Simple Profile in YAML
or the native RADL language.
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.
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