platform as a service (paas) and openstack

44
Platform As a Service (Paas) and Openstack Alessandro M. Martellone - Cloud Engineer Daniel Depaoli - Cloud Developer Webinar on September 24th, 2015 - 15:00 CET

Upload: create-net

Post on 19-Feb-2017

559 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Platform as a Service (PaaS) and OpenStack

Platform As a Service (Paas) and Openstack

Alessandro M. Martellone - Cloud EngineerDaniel Depaoli - Cloud Developer

Webinar on September 24th, 2015 - 15:00 CET

Page 2: Platform as a Service (PaaS) and OpenStack

Hello!I am Alessandro M. Martellone

I am Daniel Depaoli

I am an enthusiastic user of OpenStack too!

I work at Create-Net and I’m involved in software defined

networking and cloud network project. I’m also an

Openstack devops.

Contacts:

[email protected]://www.linkedin.com/in/ddepaoli

I am an enthusiastic user of OpenStack.

I work at Create-Net as Cloud Platform Engineer. Mainly

involved on Future Internet infrastructures and cloud

platforms.Contacts:

[email protected]

http://www.linkedin.com/in/alessandromartellone

Page 3: Platform as a Service (PaaS) and OpenStack

1.Introduction

A brief introduction

Page 4: Platform as a Service (PaaS) and OpenStack

Content

1. Introduction2. Containers

a. What are containers

b. LXC

c. Docker

d. Kubernetes3. Murano4. Container in Openstack

a. Nova docker

b. Murano

c. Magnum5. Demo

a. Murano

b. Murano and Kubernetes

Page 5: Platform as a Service (PaaS) and OpenStack

2.aContainers

What are Containers? How are they implemented?

Page 6: Platform as a Service (PaaS) and OpenStack

■ Many objects to transport

■ Many transports type

The problem in real world

Page 7: Platform as a Service (PaaS) and OpenStack

The problem in real world

Page 8: Platform as a Service (PaaS) and OpenStack

■ Many frameworks, many

libraries, softwares, versions,

etc.

■ Many operating systems

■ Many steps and many times to

configure a working environment

The problem

Page 9: Platform as a Service (PaaS) and OpenStack

Software Containers

a. traditional case b. containers case

Page 10: Platform as a Service (PaaS) and OpenStack

Hardware resource

A container is an allocation, portioning, and assignment of host (compute) resources such as CPU Shares, Network I/O, Bandwidth, Block I/O, and Memory (RAM).

Software Containers

Namespace

Using of namespaces to isolate processes, networks, mount points from one container to others.

Common Kernel

Containers model eliminates the hypervisor layer, redundant OS kernels, binaries and libraries needed to typically run workloads in a vm.

Page 11: Platform as a Service (PaaS) and OpenStack

Hypervisor vs Containers

Page 12: Platform as a Service (PaaS) and OpenStack

Hypervisor Operating System

Kernel

1

VM 1(Ubuntu)

Kernel

2

VM 2(Centos)

Kernel

3

VM 3(Windows)

Hypervisor

Kernel

Page 13: Platform as a Service (PaaS) and OpenStack

Containers Service

Service container

1(Web Server)

Service container

2(Database)

Service container

3(Continuous

Integration)

Container engine

Kernel

Page 14: Platform as a Service (PaaS) and OpenStack

Containers Operating System

Container 1(Ubuntu)

Container 2(Centos)

Container 3(Debian)

Container engine

Kernel

Page 15: Platform as a Service (PaaS) and OpenStack

Software Containers

Hypervisor Containers

Runs operating system Runs processes

Heavyweight isolated virtual machines Lightweight kernel namespaces

Can theoretically emulate any architecture Is less flexible in architecture emulation

VMs start via a full boot-up process Very fast namespace + process creation

Platform-oriented solution Service-oriented solution

Optimized for generality Optimized for minimalism and speed

Page 16: Platform as a Service (PaaS) and OpenStack

Why Containers?

SpeedShips within

seconds, automated deploy in seconds, boot in

seconds.

FootprintIn a single machine

100-1000 containers, against

10-100 virtual machines

Still Virtualization

Networks, file system, resource

isolation

Page 17: Platform as a Service (PaaS) and OpenStack

2.bContainers implementation

How are they implemented?

Page 18: Platform as a Service (PaaS) and OpenStack

Containers

● Docker

● Linux Containers

● many others

● Kubernetes

Page 19: Platform as a Service (PaaS) and OpenStack

LXC (Linux Containers)

■ Working with Linux Kernel > 2.6.24 when cgroups was introduced

■ It combines kernel's cgroups and support for isolated namespaces to provide an isolated environment for applications.

Page 20: Platform as a Service (PaaS) and OpenStack

Docker

API + tools for developers

cross platform

component re-use

● online containers repository

Docker is an open platform for developers and sysadmins to build, ship, and run distributed

applications.

Page 21: Platform as a Service (PaaS) and OpenStack

Docker

Page 22: Platform as a Service (PaaS) and OpenStack

Other implementations

Warden

BSD Jails

Workload partitions Parallels Virtuozzo Containers

Sandboxie

WPARS

Solaris Containers

Linux V-Server

iCore Virtual Accounts

Hp-UX Containers

Rocket (rkt)

Page 23: Platform as a Service (PaaS) and OpenStack

Kubernetes

Open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications.

● deployment automation

● scaling application

● cluster management

● container organizer

Page 24: Platform as a Service (PaaS) and OpenStack

Kubernetes architecture

● Cluster: set of nodes

● Master: Main cluster node. It’s the main management contact point for administrators

● Minion: working server

● Pod: one or more containers that should be controlled as a single application

Page 25: Platform as a Service (PaaS) and OpenStack

Kubernetes main processes

Replicationcontrollers

Replication pods

management

Proxy

Load balancing for

pods

Label

key/value pair for objects

identification

Kubelet

Container agent, ensure

containers running

Api

Api service

Page 26: Platform as a Service (PaaS) and OpenStack

3.Murano

An Openstack application catalog

Page 27: Platform as a Service (PaaS) and OpenStack

Why Murano?

■ Applications deployment

■ Integration with Openstack

■ Public and browsable applications

Page 28: Platform as a Service (PaaS) and OpenStack

Murano

An application catalog that enable developers and cloud administrators to publish various cloud-ready

applications in a browsable categorized catalog

Page 29: Platform as a Service (PaaS) and OpenStack

Murano

Page 30: Platform as a Service (PaaS) and OpenStack

Murano

Page 31: Platform as a Service (PaaS) and OpenStack

4.Containers in Openstack

How to integrate containers in Openstack cloud

Page 32: Platform as a Service (PaaS) and OpenStack

Containers in Openstack

● Nova docker

● Murano and Docker● Murano and Kubernetes

● Magnum

Page 33: Platform as a Service (PaaS) and OpenStack

Nova docker

An hypervisor driver for Nova Compute

Deprecated

Page 34: Platform as a Service (PaaS) and OpenStack

Nova docker

● “replace” the Nova compute hypervisor

● runs only docker containers

● consider a containers as a virtual machine

● compute node dedicated for it

Page 35: Platform as a Service (PaaS) and OpenStack

Docker and Murano

Murano should deploy a Machine with docker engine and load on it a container.

Page 36: Platform as a Service (PaaS) and OpenStack

Kubernetes and Murano

Murano should also deploy a Kubernetes environment.

Page 37: Platform as a Service (PaaS) and OpenStack

Magnum

An OpenStack API service making container orchestration engines available as first class

resource

Page 38: Platform as a Service (PaaS) and OpenStack

Magnum

● Multi containers type support

● Uses Heat to orchestrate an OS image with containers engine

● Full OpenStack integrate

Page 39: Platform as a Service (PaaS) and OpenStack

5.Video Demo

Page 40: Platform as a Service (PaaS) and OpenStack

Demo 1 Murano

Demo 2 Docker by Murano

Demo 3 Kubernetes by Murano

Page 41: Platform as a Service (PaaS) and OpenStack

OpenStack Bootcamp

The main topics covered are:

Overview on OpenStack and its

architecture,

OpenStack networking;

Swift;

Ceilometer and its architecture,

Heat Overview;

OpenStack deployment.

At the end of the Bootcamp each

student will be able to:

Describe the architecture of an

OpenStack deployment;

Discuss the main functionalities of

OpenStack;

Deploy, configure and use the

Openstack services;

Create and manage VMs and

Virtual Networks;

Create and manage, suers, roles,

and quotas;

Use the OpenStack CLI and

Dashboard.

In partnership with Mirantis

For further information:

http://openstack.create-net.org

[email protected]

Page 42: Platform as a Service (PaaS) and OpenStack

Reference

[1] https://www.docker.com/whatisdocker[2] http://www.slideshare.net/jpetazzo/introduction-docker-linux-containers-lxc[3] https://linuxcontainers.org/lxc/introduction/[4] https://coreos.com/blog/rocket/[5] http://kubernetes.io/v1.0/docs/whatisk8s.html[6] https://docs.docker.com/swarm/[7] https://coreos.com/[8] http://www.projectatomic.io/[9] https://wiki.openstack.org/wiki/Docker[10] https://wiki.openstack.org/wiki/Murano[11] https://wiki.openstack.org/wiki/Magnum[12] http://kubernetes.io/v1.0/docs/whatisk8s.html[13] http://aucouranton.com/2014/06/13/linux-containers-parallels-lxc-openvz-docker-and-more/[14] http://www.socallinuxexpo.org/sites/default/files/presentations/Jerome-Scale11x%20LXC%20Talk.pdf[15] http://martinfowler.com/articles/microservices.html[16] https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes[17] https://blog.risingstack.com/operating-system-containers-vs-application-containers/[18] https://github.com/appc/spec/blob/master/SPEC.md[19] http://media.wix.com/ugd/295986_d5059f95a78e451db5de3d54f711e45d.pdf

Page 43: Platform as a Service (PaaS) and OpenStack

You can find us at:

[email protected]

amartellone@create-

net.org

Thanks!

Any questions?

Page 44: Platform as a Service (PaaS) and OpenStack

Vuoi sapere di più? Guarda il video

completo del webinar!

https://youtu.be/90HOYKznIsI