INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari

Similar documents
Orchestrate JBoss Middleware with Ansible Tower Red Hat Summit San Francisco

INDIGO-DataCloud Architectural Overview

The Road to Digital Transformation: Increase Agility Building and Managing Cloud Infrastructure. Albert Law Solution Architect Manager

Inventory. PlayBook. Python. Ansible Config. Modules SSH

DevOps Course Content

DevOps Technologies. for Deployment

CREATING A CLOUD STRONGHOLD: Strategies and Methods to Manage and Secure Your Cloud

Important DevOps Technologies (3+2+3days) for Deployment

An integrated IaaS and PaaS architecture for scientific computing

Think Small to Scale Big

UP! TO DOCKER PAAS. Ming

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

DEVOPS COURSE CONTENT

WLCG Lightweight Sites

We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info

TOSCA Templates for NFV and network topology description

Deployment Patterns using Docker and Chef

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

DevOps Online Training

This tutorial provides a basic understanding of the infrastructure and fundamental concepts of managing an infrastructure using Chef.

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Simplified CICD with Jenkins and Git on the ZeroStack Platform

/ Cloud Computing. Recitation 5 February 14th, 2017

DEVOPS TRAINING COURSE CONTENT

DevOps Course Content

Using DC/OS for Continuous Delivery

Automatically deploy Schema Changes with Ansible and Liquibase

DEPLOYMENT MADE EASY!

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

CS-580K/480K Advanced Topics in Cloud Computing. Container III

Adding Transparency and Automation into the Galaxy Tool Installation Process

AZURE CONTAINER INSTANCES

Agile CI/CD with Jenkins and/at ZeroStack. Kiran Bondalapati CTO, Co-Founder & Jenkins Admin ZeroStack, Inc. (

Getting Started With Containers

MANAGING MESOS, DOCKER, AND CHRONOS WITH PUPPET

Arup Nanda VP, Data Services Priceline.com

Who is Docker and how he can help us? Heino Talvik

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

Automating All The Things. Sebastian Feldmann

Cloud Computing with APL. Morten Kromberg, CXO, Dyalog

Get your own Galaxy within minutes

Ingress Kubernetes Tutorial

Harbor Registry. VMware VMware Inc. All rights reserved.

Automatically deploy Schema Changes with Ansible and Liquibase

Automate all the things. Sebastian Feldmann

EVERYTHING AS CODE A Journey into IT Automation and Standardization. Raphaël Pinson

Be smart. Think open source.

DevOps Foundations : Infrastructure as Code

Building/Running Distributed Systems with Apache Mesos

Public Cloud - Azure workshop

A REFERENCE ARCHITECTURE FOR DEPLOYING WSO2 MIDDLEWARE ON KUBERNETES

Multi-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr)

AALOK INSTITUTE. DevOps Training

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV

/ Cloud Computing. Recitation 5 September 27 th, 2016

How the INDIGO-DataCloud computing platform aims at helping scientific communities

Application Centric Microservices Ken Owens, CTO Cisco Intercloud Services. Redhat Summit 2015

Microsoft Cloud Workshop. Containers and DevOps Hackathon Learner Guide

Investigating Containers for Future Services and User Application Support

A Cloud-based Architecture for Processing 3D Mars Terrain

RED HAT QUAY. As part of OCP Architecture Workshop. Technical Deck

CERN and Science Clouds in Europe with TOSCA, OpenStack Heat and the Heat Translator

Kuber-what?! Learn about Kubernetes

Multi-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr)

Container-based virtualization: Docker

CloudCenter for Developers

Security as Code: The Time is Now. Dave Shackleford Founder, Voodoo Security Sr. Instructor, SANS

IBM Bluemix compute capabilities IBM Corporation

LENS Server Maintenance Guide JZ 2017/07/28

IBM Cloud for VMware Solutions vrealize Automation 7.2 Chef Integration

70-532: Developing Microsoft Azure Solutions

Coherent Application Delivery on Hybrid Distributed Computing Infrastructures of Virtual Machines and Docker Containers

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

Vagrant and Ansible. Two so2ware tools to create and manage your custom VMs

Index. Bessel function, 51 Big data, 1. Cloud-based version-control system, 226 Containerization, 30 application, 32 virtualize processes, 30 31

Run containerized applications from pre-existing images stored in a centralized registry

Swift Web Applications on the AWS Cloud

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC

Continuous Integration using Docker & Jenkins

GitLab-CI and Docker Registry

Developing Microsoft Azure Solutions (70-532) Syllabus

Introduction to Cloudbreak

/ Cloud Computing. Recitation 5 September 26 th, 2017

Test environment configuration with Ansible.

OPEN-O DevOps Practice with Automation Toolchain

The Post-Cloud. Where Google, DevOps, and Docker Converge

AWS Integration Guide

Running MarkLogic in Containers (Both Docker and Kubernetes)

The OpenStack Project Continuous Integration System. Elizabeth K.

what's in it for me? Ian Truslove :: Boulder Linux User Group ::

By: Jeeva S. Chelladhurai

Ground Control Segment automated deployment and configuration with ANSIBLE and GIT

Developing Microsoft Azure Solutions (70-532) Syllabus

ANSIBLE BEST PRACTICES: THE ESSENTIALS

Verteego VDS Documentation

Serverless Computing and the Apache OpenWhisk Project

DevOps Tooling from AWS

Installation and setup guide of 1.1 demonstrator

DevOps Anti-Patterns. Have the Ops team deal with it. Time to fire the Ops team! Let s hire a DevOps unit! COPYRIGHT 2019 MANICODE SECURITY

Docker und IBM Digital Experience in Docker Container

Transcription:

INDIGO PAAS TUTORIAL RIA-653549! Marica Antonacci!! marica.antonacci@ba.infn.it! INFN-Bari

INDIGO PAAS Tutorial Introductory Concepts TOSCA Ansible Docker Orchestrator APIs INDIGO TOSCA custom types and templates Demos 2

TOSCA Topology and Orchestration Specification for Cloud Applications Standardizes the language to describe The structure of an ITService (its topology model) How to orchestrate operational behavior (plans such as build, deploy, patch, shutdown, etc.) - Leveraging the BPMN standard Declarative model that spans applications, virtual and physical infrastructure 3

TOSCA in a nutshell 4

TOSCA Topology 3 layers! Infrastructure (Cloud or DC objects) Platform or Middleware (App containers) Application modules, schemas and configurations Relationships between components: What s hosted on what or installed on what What s connected to what 5

TOSCA Topology Components in the topology are called Nodes Each Node has a Type (e.g. Host, BD, Web server). The Type is abstract and hence portable The Type defines Properties and Interfaces An Interface is a set of hooks (named Operations) Nodes are connected to one another using Relationships Both Node Types and Relationship Types can be derived 6

Node Type Examples Defines properties as YAML maps Might defines capabilities (What it can provide to other nodes) 7

Node Type Examples Might Define Requirements (what it needs from other nodes) 8

Node Template An instance of a type (like Object to Class) Has specific properties Has artifacts: What to install How to install (mapped to interface hooks) Has requirements and capabilities (or relationships) 9

Topology Template Example 10

INDIGO custom types Extend the TOSCA normative types E.g.: tosca.nodes.indigo.galaxyportal, tosca.nodes.indigo.galaxywn Ansible playbook 11

Automated Deployment with Ansible Ansible is a configuration management and provisioning tool, similar to Chef, Puppet or Salt. Agentless uses SSH by default to make the connection to the target node can be run locally Configuration in YAML Very easy to learn http://docs.ansible.com/ansible/index.html 12

Building blocks: Playbook Defines sequences of tasks (Plays) to be executed on a group of hosts describes policies machines under management shall enforce contains variables, tasks, handlers, files, templates and roles expressed in YAML Idempotent --- - hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: ensure apache is at the latest version yum: name=httpd state=latest - name: write the apache config file template: src=/srv/httpd.j2 dest=/etc/httpd.conf notify: - restart apache - name: ensure apache is running (and enable it at boot) service: name=httpd state=started enabled=yes handlers: - name: restart apache service: name=httpd state=restarted 13

Building blocks: Roles The best way to organize your playbooks. structure content into related vars, tasks, files, handlers, etc. file structure for automated inclusion of role specific content roles can be shared and pulled from Ansible Galaxy, GitHub, etc. --- - hosts: webservers vars: http_port: 80 max_clients: 200 roles: - webserver 14

Ansible Galaxy: indigo-dc roles ansible-galaxy install indigo-dc.<role> 15

Docker: Build-Ship-Run Docker is an open-source engine to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and test on a laptop can run at scale, in production, on VMs, OpenStack cluster, public clouds and more. Docker features: versioning (git-like) component re-use sharing (public repository) 16

Dockerfile A Dockerfile is a script, composed of various commands (instructions) and arguments listed successively to automatically perform actions on a base image in order to create (or form) a new one FROM ubuntu MAINTAINER Romin Irani (email@domain.com) RUN apt-get update RUN apt-get install -y nginx ENTRYPOINT [ /usr/sbin/nginx, -g, daemon off; ] EXPOSE 80 17

Build - Dockerfile docker build -t indigodatacloudapp/ambertools:1.0.0! Automated build on Docker Hub 18

Ship and Run Ship a Docker Image docker push indigodatacloudapp/ambertools! Fetch a Docker Image docker pull indigodatacloudapp/ambertools download docker image from Docker Hub to local Docker repository! Run a docker container docker run [ ] indigodatacloudapp/ambertools - creates a docker container out of the docker image 19

Orchestrator APIs Create a deployment: POST request to /deployments - parameters: - template: string containing a TOSCA YAML-formatted template - parameters: the input parameters of the deployment (map of strings) Get deployment details GET request to /deployments: - curl 'http://localhost:8080/deployments/<uuid>' Delete deployment DELETE request - curl http://localhost:8080/deployments/<uuid>' Documentation: http://indigo-dc.github.io/orchestrator/restdocs/#overview 20

Chronos Job definition and APIs Submit a Job: POST request to /scheduler/iso8601 - accepts JSON body Add a dependent job POST to /scheduler/dependency - accept JSON hash List jobs GET to scheduler/jobs - filter on name: GET /scheduler/jobs/search?name=<jobid> Delete a job POST to /scheduler/job/<jobid> Example 21

INDIGO TOSCA custom types for describing Chronos jobs The Orchestrator interprets the TOSCA template and orchestrates the deployment on Chronos 22

INDIGO Chronos Job: TOSCA Templates Scenario I: the job data are staged in/out using the user s onedata spaces (providing proper access token(s)) example template: https://github.com/indigo-dc/tosca-types/ blob/master/examples/indigo_job_onedata.yaml Scenario II: the job data are fetched from public URLs and uploaded to a repository (web, swift/s3, etc.) using the credentials specified by the user example template: https://github.com/indigo-dc/tosca-types/ blob/master/examples/indigo_job_output_upload_swift.yaml 23

Chronos Job: Parameter Sweep The TOSCA template describes multiple jobs Each job is run with a specific set of input parameters The jobs are run in parallel on the Mesos cluster the scaling service ensures that new slave nodes are added to the cluster, if needed. 24

Demos Outline Elastic Galaxy Cluster (Recorded) Demo: a Galaxy portal is automatically deployed from TOSCA and configured to use a SLURM elastic cluster worker nodes are added as soon as jobs are submitted through the portal High-Available Mesos Cluster (Recorded) Demo: a complete HA Mesos cluster with Chronos/Marathon framework is automatically deployed from a TOSCA template Application execution (Live) Demos: Amber EMSO-INGV (Rscript) Lifewatch (barridocker) 25

Demo Outline (cont.) Long-Running Service deployment Demo: deploy Long-Running Services: nginx (web service), rstudio auto-scaling PoC load-balancing 26