Platform as a Service (PaaS) and OpenStack

Download Platform as a Service (PaaS) and OpenStack

Post on 19-Feb-2017

548 views

Category:

Technology

1 download

Embed Size (px)

TRANSCRIPT

  • Platform As a Service (Paas) and Openstack

    Alessandro M. Martellone - Cloud EngineerDaniel Depaoli - Cloud Developer

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

  • Hello!I am Alessandro M. Martellone

    I am Daniel Depaoli

    I am an enthusiastic user of OpenStack too!

    I work at Create-Net and Im involved in software defined

    networking and cloud network project. Im also an

    Openstack devops.

    Contacts:

    ddepaoli@create-net.orghttp://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:

    amartellone@create-net.org

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

    mailto:ddepaoli@create-net.orghttp://www.linkedin.com/in/ddepaolimailto:amartellone@create-net.orghttp://www.linkedin.com/in/alessandromartellone

  • 1.Introduction

    A brief introduction

  • 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

  • 2.aContainers

    What are Containers? How are they implemented?

  • Many objects to transport

    Many transports type

    The problem in real world

  • The problem in real world

  • Many frameworks, many

    libraries, softwares, versions,

    etc.

    Many operating systems

    Many steps and many times to

    configure a working environment

    The problem

  • Software Containers

    a. traditional case b. containers case

  • 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.

  • Hypervisor vs Containers

  • Hypervisor Operating System

    Kernel

    1

    VM 1(Ubuntu)

    Kernel

    2

    VM 2(Centos)

    Kernel

    3

    VM 3(Windows)

    Hypervisor

    Kernel

  • Containers Service

    Service container

    1(Web Server)

    Service container

    2(Database)

    Service container

    3(Continuous

    Integration)

    Container engine

    Kernel

  • Containers Operating System

    Container 1(Ubuntu)

    Container 2(Centos)

    Container 3(Debian)

    Container engine

    Kernel

  • 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

  • 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

  • 2.bContainers implementation

    How are they implemented?

  • Containers

    Docker

    Linux Containers

    many others

    Kubernetes

  • 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.

  • 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.

  • Docker

  • 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)

  • 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

  • Kubernetes architecture

    Cluster: set of nodes

    Master: Main cluster node. Its the main management contact point for administrators

    Minion: working server

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

  • 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

  • 3.Murano

    An Openstack application catalog

  • Why Murano?

    Applications deployment

    Integration with Openstack

    Public and browsable applications

  • Murano

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

    applications in a browsable categorized catalog

  • Murano

  • Murano

  • 4.Containers in Openstack

    How to integrate containers in Openstack cloud

  • Containers in Openstack

    Nova docker

    Murano and Docker Murano and Kubernetes

    Magnum

  • Nova docker

    An hypervisor driver for Nova Compute

    Deprecated

  • Nova docker

    replace the Nova compute hypervisor

    runs only docker containers

    consider a containers as a virtual machine

    compute node dedicated for it

  • Docker and Murano

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

  • Kubernetes and Murano

    Murano should also deploy a Kubernetes environment.

  • Magnum

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

    resource

  • Magnum

    Multi containers type support

    Uses Heat to orchestrate an OS image with containers engine

    Full OpenStack integrate

  • 5.Video Demo

  • Demo 1 Murano

    Demo 2 Docker by Murano

    Demo 3 Kubernetes by Murano

  • 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

    openstack@create-net.org

  • 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

    https://www.docker.com/whatisdockerhttp://www.slideshare.net/jpetazzo/introduction-docker-linux-containers-lxchttps://linuxcontainers.org/lxc/introduction/https://coreos.com/blog/rocket/http://kubernetes.io/v1.0/docs/whatisk8s.htmlhttps://docs.docker.com/swarm/https://coreos.com/http://www.projectatomic.io/https://wiki.openstack.org/wiki/Dockerhttps://wiki.openstack.org/wiki/Muranohttps://wiki.openstack.org/wiki/Magnumhttp://kubernetes.io/v1.0/docs/whatisk8s.htmlhttp://aucouranton.com/2014/06/13/linux-containers-parallels-lxc-openvz-docker-and-more/http://www.socallinuxexpo.org/sites/default/files/presentations/Jerome-Scale11x LXC Talk.pdfhttp://martinfowler.com/articles/microservices.htmlhttps://www.digitalocean.com/community/tutorials/an-introduction-to-kuberneteshttps://blog.risingstack.com/operating-system-containers-vs-application-containers/https://github.com/appc/spec/blob/master/SPEC.mdhttp://media.wix.com/ugd/295986_d5059f95a78e451db5de3d54f711e45d.pdf

  • You can find us at:

    ddepaoli@create-net.org

    amartellone@create-

    net.org

    Thanks!

    Any questions?

  • Vuoi sapere di pi? Guarda il video

    completo del webinar!

    https://youtu.be/90HOYKznIsI

    https://youtu.be/90HOYKznIsI