scieee AI-readable full text Open interactive document viewer

TOSCA-based cloud orchestration and deployment with Infrastructure Manager (IM)

Miguel, Fernández

Abstract

The Infrastructure Manager (IM) is a framework that eases the access and the usability of IaaS clouds by automating the deployment, configuration, software installation, monitoring and update of Virtual Appliances. It supports APIs from a large number of virtual platforms, making user applications cloud-agnostic. In addition it integrates a contextualization system 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. In this webinar we will focus the usage of the IM Dashboard an easy to use web interface designed to enable not advanced users to deploy a set of predefined and well tested customizable virtual infrastructures (Kubernetes, SLURM, JupyterHub, …) in top of a wide range of cloud providers (EGI Cloud Compute and also commercial and open clouds - AWS, Google Cloud, Azure, OpenStack, OpenNebula, ...) with a single set of mouse clicks. Furthermore it uses a two step wizard that enables to compose more complex templates, as it will be shown in the demo. TOSCA-based cloud orchestration and deployment with Infrastructure Manager (IM) - Webinar link

Full text

Infrastructure Manager: TOSCA-based cloud orchestration and deployment Miguel Caballer - [email protected] Introduction (I) "A long time ago, in a data center far, far away, an ancient group of powerful beings known as sysadmins used to deploy infrastructure manually. Every server, every route table entry, every database configuration, and every load balancer was created and managed by hand. It was a dark and fearful age: fear of downtime, fear of accidental misconfiguration, fear of slow and fragile deployments, and fear of what would happen if the sysadmins fell to the dark side (i.e. took a vacation). The good news is that thanks to the DevOps Rebel Alliance, we now have a better way to do things: Infrastructure-as-Code (IAC)." Source https://blog.gruntwork.io/ Introduction (II) Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. Benefits: ●You can automate your entire provisioning and deployment process, which makes it much faster and more reliable than any manual process. ●You can store those source files in version control, which means the entire history of your infrastructure is now captured in the commit log, which you can use to debug problems, and if necessary, roll back to older versions. ●You can validate each infrastructure change through code reviews and automated tests. ●You can create a library of reusable, documented, battle-tested infrastructure code that makes it easier to scale and evolve your infrastructure. There are several tools to manage infrastructure-as-code, but the most well-known ones are Ansible, Puppet, Chef, Saltstack, Terraform and CloudFormation. Introduction (III) Infrastructure Manager (IM) follows this principle, it allows users to automate the deployment and configuration process of virtual infrastructures on top of cloud resources. With this tool: ●You can automate your entire provisioning and deployment process, which makes it much faster and more reliable than any manual process. ●You can use the same definition templates to provision the very same virtual infrastructure in different Cloud providers. ●You can use the OASIS TOSCA Simple Profile in YAML standard to describe your cloud topologies. ●You can store those source files in version control, which means the entire history of your infrastructure is now captured in the commit log, which you can use to debug problems, and if necessary, roll back to older versions. ●IM is a service that deploys virtual infrastructures on top of Cloud resources. ●It uses RADL or TOSCA files to describe the infrastructure. ○Infrastructure as code (IaC) ●The IM automates the deployment, configuration, software installation, monitoring and update of virtual infrastructures. ●It supports a wide variety of back-ends, thus making user applications Cloud agnostic. IM Introduction General View ●General platform to deploy on demand customizable virtual computing infrastructures. ○With the precise software configuration required. ○Allow to deploy any kind of complex infrastructure. ○Share Infrastructure descriptions. ○No need of pre-packaged VMIs. ■Enable re-using of VMIs. ○The same complex infrastructure can be deployed both on-premise and in a public Cloud. IM features ●It features DevOps capabilities. ○Based on Ansible. ○Provides recipes for common deployments. ○Also supporting cloud-init scripts. ●IM works as a service that offers several interfaces: ○XML-RPC and REST APIs. ○Command-line application. ○Web-based GUI. ●It is distributed under a GNU GPL v3.0 open source license and its source code is available on GitHub. https://github.com/grycap/im Cloud Providers ●It supports a wide range of cloud providers and other computing back-ends: ○Public: Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Linode, T-Systems OTC, Exoscale, Cloud&Heat, Orange Cloud. ○On-premises: OpenNebula, OpenStack, CloudStack, VMWare. ○Federated: EGI Cloud Compute, FogBow. ○Containers: Docker, Kubernetes ○The list above can be easily extended by plugins. IM - Working Scheme ●The user can provide an RADL or TOSCA documents as input to the IM, describing the infrastructure: ○RADL: Resource and Application Description Language. ■High level Language to define virtual infrastructures and Specify VM requirements. ○TOSCA: OASIS Standard ■Open standard language to model application architectures to be deployed on a Cloud. ●Publicly-available web interface (also open-sourced). ○https://im.egi.eu ■Login with EGI Checkin. ■Integrated with AppDB. ○Easily deploy infrastructures from a web browser ■Set of curated TOSCA templates. ■Wizard-like composition of templates. ●Part of the EGI Catalog of Services for Research. GUI: IM Dashboard ●Easy interface ○For non advanced users ○Easily deploy infrastructures from a web browser ■Select it from a list of configurable list of templates. GUI: IM Dashboard APIs to be consumed by Clients ●XML-RPC API ○API that follows the XML-RPC specification. ●REST API ○IM Service can be accessed through a REST(ful) API ○Follows OpenAPI Specification More info: ●https://app.swaggerhub.com/apis/grycap/InfrastructureManager/ ●http://www.grycap.upv.es/im/documentation.php IM Architecture ●CLUES for automated elasticity. ○Triggers the addition/removal of nodes in a virtual cluster. ●Vault to securely store credentials. ○Cloud credentials are retrieved directly from the Vault instance. ●Ansible for contextualization. ●AppDB to get EGI sites information. ●Cloud continuum support. ○Enable to manage edge devices: ■OSCAR ■Kubernetes Demo: Heterogenous JupyterHub cluster on K8s ●Deploy a JupyterHub service on top of a Kubernetes heterogeneous cluster with GPU support. A Decade of Evolution in the IM ●IM deploys the virtualized infrastructure required for executing AI models along the computing continuum ○Kubernetes clusters, InfluxDB, OSCAR clusters, etc. Usage Examples of IM in European Projects (I) https://www.ai-sprint-project.eu/ https://dtgeo.eu ●IM deploys customized SLURM-based clusters that are used for scientists to train the computing skills required before executing on a supercomputer (e.g. Marenostrum) ●IM deploys the virtualized infrastructure required for performing real-time data ingestion and deploy the engines required for Digital Twins. ○Kafka, AirFlow, MLFlow, yProv, Horovod, Galaxy, etc. Usage Examples of IM in European Projects (II) https://intertwin.eu https://ai4eosc.eu ●IM deploys pre-trained AI models from the AI4EOSC Marketplace in multiple Cloud platforms in a consistent and reproducible manner. IM Info Web: https://grycap.upv.es/im/ Video demos in YouTube: https://youtube.com/playlist?list=PLgPH186Qwh_37AMhEruhVKZSfoYpHkrUp IM images in Docker Hub and GitHub Container Registry: https://github.com/grycap/im/pkgs/container/im https://github.com/grycap/im-dashboard/pkgs/container/im-dashboard Source Code in GitHub: https://github.com/grycap/im https://github.com/grycap/im-dashboard More Information Contact Miguel Caballer [email protected] Instituto de Instrumentación para la Imagen Molecular (I3M) Universitat Politècnica de València Germán Moltó gmolt[email protected].es