platform as a service (paas) and openstack
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 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:
http://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. 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
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
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
Vuoi sapere di più? Guarda il video
completo del webinar!
https://youtu.be/90HOYKznIsI