1 of 12

Composition and Deployment of Complex Container-Based Application Architectures on Multi-Clouds

DEEP-Hybrid-DataCloud funded by the EU Horizon 2020 Framework Programme; grant agreement 777435

DI4R

Lisbon, Portugal

October 2018

Andy S. Alic1, Marica Antonacci2, Ignacio Blanquer1, Miguel Caballer1, Giacinto Donvito2, Álvaro López3, Germán Moltó1

1Universitat Politècnica de València

2Istituto Nazionale di Fisica Nucleare

3Consejo Superior de Investigaciones Científicas

2 of 12

The Problem. The Why.

  • Universal infrastructure support
    • Or at least close to
    • Bare clouds, Kubernetes clusters, Mesos/Marathon clusters, Docker Swarm
  • Let's speak the same (descriptive) language
  • Academia+industry standard
  • Extensible
  • Approachable to non-IT fellows

3 of 12

TOSCA

  • Topology and Orchestration Specification for Cloud

Applications

  • Standard created by the OASIS Consortium

… and others

4 of 12

TOSCA template general skeleton

tosca_definition_version: tosca_simple_yaml_1_0

description: Insert your description here

imports:

# List your imports, each on a new line, each line starting with a hyphen

topology_templates:

inputs:

# List your inputs, each on a new line

node_templates:

# List your nodes, each on a new line

outputs:

# List outputs, each on a new line

5 of 12

TOSCA example

node_templates:

mesos_master_server:

type: tosca.nodes.indigo.Compute

capabilities:

scalable:

properties:

min_instances: 1

max_instances: 1

count: 1

default_instances: 1

os:

properties:

gpu_driver: true

cuda_support: true

image: "ubuntu-16.04"

instance_type: "g5.large"

endpoint:

endpoint:

properties:

dns_name: mesosserverpublic

private_ip: true

ports:

marathon_port:

protocol: tcp

source: 8443

secure: false

network_name: PUBLIC

host:

properties:

num_gpus: 1

mem_size: "2 GB"

Num_cpus: 2

properties

6 of 12

Topology building/composing

  • One can use
    • A simple text editor
      • Even Notepad would do
    • A GUI
      • Eclipse Winery
      • OpenTosca
      • Cloudify
      • Alien4Cloud

7 of 12

Alien4Cloud

  • Portal to graphically edit YAML-based TOSCA templates
  • Built in Java + HTML5 (Spring Boot, Angular)
  • Open - Source on Github; Apache 2.0
    • https://github.com/alien4cloud
  • Extensible - Plugin based
    • Easy to add new orchestrators
      • An orchestrator creates the actual

infrastructure using a TOSCA topology

Defined by the user

8 of 12

DEEP

Today’s focus

9 of 12

Alien4Cloud in DEEP

  • User’s entry point
  • Plugin to communicate with our Orchestrator
  • Freely at (as bundle Alien4Cloud + plugin, under Apache 2.0)
    • indigo-dc/alien4cloud-deep on
    • indigodatacloud/alien4cloud-deep on
  • Next, video deployment Jupyter+Tensorflow on Mesos/Marathon
    • Use GPUs
    • 3 x Virtual Machines
      • 1 x Mesos Master to control (running Marathon too)
      • 1 x Mesos Slave doing the hard work
      • 1 x Load Balancer - Marathon-LB (HAProxy) exposed to internet

10 of 12

Alien4Cloud in action

11 of 12

Thank you!

Want more? Check us on:

DEEP-Hybrid-DataCloud funded by the EU Horizon 2020 Framework Programme; grant agreement 777435

@DEEP_eu

12 of 12

What’s the idea

  • Standardizes the language to describe:
    • The structure of an IT Service (its topology model)
    • How to orchestrate operational behavior (plans such as build, deploy, patch, shutdown, etc.)
    • Declarative model that spans applications, virtual and physical infrastructure