SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Copyright © 2015 Mirantis, Inc. All rights reserved
www.mirantis.com
Kolla
Containerizing the cloud itself
Michał Rostecki | OpenStack Software Engineer
mrostecki@mirantis.com
Copyright © 2015 Mirantis, Inc. All rights reserved
What is LXC (Linux Containers)?
LXC is isolation of Linux systems which separates resources,
filesystem, network namespace, but shares the common
kernel.
It’s based on cgroups which is kernel’s feature to limit
resources for processes.
It’s much more lightweight than virtualization.
Copyright © 2015 Mirantis, Inc. All rights reserved
What is Docker?
Docker is a RESTful API for containerization technologies.
One of them (and the main one) is LXC.
It provides layers for containers to utilize disk space when
different containers have a common base.
Copyright © 2015 Mirantis, Inc. All rights reserved
Problems that Docker solves
● Separation of applications which share common libraries
in different versions
● Upgradability of software
● “It worked on my machine”
● Possible differences in deployments due to i.e. packages
installation in different time
Copyright © 2015 Mirantis, Inc. All rights reserved
Typical Docker application
Cloud
Developer’s machine
Application
Database
Application
Message
queue
Database
Other app
Message
queue
Copyright © 2015 Mirantis, Inc. All rights reserved
But… what’s the cloud?
Cloud consists of a lot of hardware and a complicated
software which manages:
● Virtual machines
● Block or objective storage
● Networking
● Bare metal hardware
● Containers (running both on VM-s and bare metal)
Copyright © 2015 Mirantis, Inc. All rights reserved
OpenStack architecture
Copyright © 2015 Mirantis, Inc. All rights reserved
Problems of OpenStack
● Separation of OpenStack components which share
common libraries in different versions
● Upgradability of OpenStack
● “It worked on my devstack”, “It worked on my test env”
● Possible differences in deployments due to i.e. packages
installation in different time
Almost the same like for “usual” applications, but in much
bigger scale!
Copyright © 2015 Mirantis, Inc. All rights reserved
Docker solves them too!
That’s why Kolla project was created.
It provides Docker images with different OpenStack services.
Copyright © 2015 Mirantis, Inc. All rights reserved
What we containerized
● MariaDB
● RabbitMQ
● Ceph
● Openvswitch
● Memcached
● Keystone
● Glance
● Nova
● Cinder
● Swift
● Heat
● Horizon
Copyright © 2015 Mirantis, Inc. All rights reserved
Components of Kolla
● Docker images templates and builder - which supports
different Linux distributions (RH family and Debian
family) and types of OpenStack installation (from binary
packages or source)
● Ansible playbooks and modules, which generate config
files and deploy containers
Copyright © 2015 Mirantis, Inc. All rights reserved
Development in progress
● “Docker in Docker” - for testing multinode Kolla
deployments using only Docker, without VM-s
● Running OpenStack on Mesos - orchestration/scheduling
service for containers
● Storing OpenStack services configuration in ZooKeeper
Copyright © 2015 Mirantis, Inc. All rights reserved
Technologies
● Docker
● Python
● docker-py
● Jinja2
● Ansible modules
● Ansible
● ZooKeeper
● Mesos
● Pecan
Copyright © 2015 Mirantis, Inc. All rights reserved
docker-py
Docker-py is a Python client for Docker API.
Used by us for building Docker images.
Copyright © 2015 Mirantis, Inc. All rights reserved
Jinja2
Jinja2 is a templating engine for Python, which provides
environment (variables), forloops, “if” conditionals, blocks,
inheritance etc. into text files.
Mostly known by Flask (it’s a integrated part of it).
Commonly used in the other lightweight frameworks (often
as a standalone lib).
Copyright © 2015 Mirantis, Inc. All rights reserved
Ansible
Ansible is a configuration and orchestration system which
can deploy any kind of software. It uses SSH to connect to
the servers (it’s agentless).
It has module to run Docker containers on deployed hosts.
It’s written in Python and supports Python-based modules.
Copyright © 2015 Mirantis, Inc. All rights reserved
ZooKeeper
ZooKeeper is a key-value store used for keeping the
configuration of high-available services.
Copyright © 2015 Mirantis, Inc. All rights reserved
Mesos
Mesos is the container orchestration and scheduling service.
It can isolate applications by Docker or “vanilla” cgroups.
Exposes its API to users by frameworks. The main one is
Marathon, but Kubernetes is also supported as a framework.
Copyright © 2015 Mirantis, Inc. All rights reserved
Pecan
Pecan is a lightweight web framework. Based on WebOb.
Provides Mako templates.
Mostly used framework in OpenStack API-s. OpenStack doesn’
t use Pecan’s (Mako) templating - there are only JSON views.
Copyright © 2015 Mirantis, Inc. All rights reserved
Pecan vs Flask
Flask
● you have to use “app”
object in every view or
plugin - risk of circular
imports
● you have to define
routing “by hand”, with
string
Pecan
● you define “app” with
config once on server
running and don’t use it
anymore
● routing is discovered
dynamically
Copyright © 2015 Mirantis, Inc. All rights reserved
Pecan vs Flask
Flask
app.py
import flask
app = flask.Flask(__name__)
views.py
import flask
import app
@app.route(“/foo”):
flask.jsonify(foo=’bar’)
Pecan
app.py
import pecan
app = pecan.make_app(
‘controllers.RootController’)
controllers.py
class RootController(object):
foo = FooController()
[...]
Copyright © 2015 Mirantis, Inc. All rights reserved
Pecan vs Flask
Pecan has an app object with root controller defined. App
object is not needed to be called anywhere. Other controllers
are defined as attributes of the root one.
app
RootController
/
FooController
/foo
Copyright © 2015 Mirantis, Inc. All rights reserved
Pecan vs Flask
Flask has an app object which has to be used as a decorator
of every view and plugin.
app
root_view
/
foo_view
/foo
Copyright © 2015 Mirantis, Inc. All rights reserved
Contributors
Kolla is one of the most diverse OpenStack project in terms
of companies.
Copyright © 2015 Mirantis, Inc. All rights reserved
Contributors
Copyright © 2015 Mirantis, Inc. All rights reserved
Why OpenStack is needed here?
Why cannot be use Mesos without OpenStack? We need just
containers!
Copyright © 2015 Mirantis, Inc. All rights reserved
Why OpenStack is needed here?
The answer is networking and its isolation, which is not
present in Mesos and Docker itself, but is in OpenStack:
● Currently - OpenStack can separate containers by putting
them into different VM-s or bare metal servers, which
have different networks.
● In near future - OpenStack’s project Kuryr will bring
virtualized networking directly to Docker containers.
Copyright © 2015 Mirantis, Inc. All rights reserved
Q&A
Thank you for your attention

Mais conteúdo relacionado

Mais procurados

OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryMirantis
 
Build a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-managerBuild a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-managerK Rain Leander
 
ContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStackContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStackDocker-Hanoi
 
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin	Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin Vietnam Open Infrastructure User Group
 
Running and Managing Kubernetes on OpenStack
Running and Managing Kubernetes on OpenStackRunning and Managing Kubernetes on OpenStack
Running and Managing Kubernetes on OpenStackVictor Palma
 
OpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CDOpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CDEdgar Magana
 
OpenShift In a Nutshell - Episode 03 - Infrastructure part I
OpenShift In a Nutshell - Episode 03 - Infrastructure part IOpenShift In a Nutshell - Episode 03 - Infrastructure part I
OpenShift In a Nutshell - Episode 03 - Infrastructure part IBehnam Loghmani
 
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Docker, Inc.
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stackopenstackindia
 
Kubernetes 101 for Developers
Kubernetes 101 for DevelopersKubernetes 101 for Developers
Kubernetes 101 for DevelopersRoss Kukulinski
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Daniel Krook
 
Kubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleKubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleStephen Gordon
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 WorkshopVishal Biyani
 
Orchestrating Docker Containers with Google Kubernetes on OpenStack
Orchestrating Docker Containers with Google Kubernetes on OpenStackOrchestrating Docker Containers with Google Kubernetes on OpenStack
Orchestrating Docker Containers with Google Kubernetes on OpenStackTrevor Roberts Jr.
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 

Mais procurados (20)

OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service Delivery
 
OpenStack with OpenDaylight
OpenStack with OpenDaylightOpenStack with OpenDaylight
OpenStack with OpenDaylight
 
Build a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-managerBuild a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-manager
 
Devstack On Demand
Devstack On DemandDevstack On Demand
Devstack On Demand
 
Openstack ansible
Openstack ansibleOpenstack ansible
Openstack ansible
 
ContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStackContainerDayVietnam2016: Containers with OpenStack
ContainerDayVietnam2016: Containers with OpenStack
 
Building Containers: How Many Ways Are Too Many?
Building Containers: How Many Ways Are Too Many?Building Containers: How Many Ways Are Too Many?
Building Containers: How Many Ways Are Too Many?
 
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin	Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
 
Containers & Security
Containers & SecurityContainers & Security
Containers & Security
 
Running and Managing Kubernetes on OpenStack
Running and Managing Kubernetes on OpenStackRunning and Managing Kubernetes on OpenStack
Running and Managing Kubernetes on OpenStack
 
OpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CDOpenStack @ Workday - CI/CD
OpenStack @ Workday - CI/CD
 
OpenShift In a Nutshell - Episode 03 - Infrastructure part I
OpenShift In a Nutshell - Episode 03 - Infrastructure part IOpenShift In a Nutshell - Episode 03 - Infrastructure part I
OpenShift In a Nutshell - Episode 03 - Infrastructure part I
 
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
 
Kubernetes 101 for Developers
Kubernetes 101 for DevelopersKubernetes 101 for Developers
Kubernetes 101 for Developers
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
Kubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleKubernetes and OpenStack at Scale
Kubernetes and OpenStack at Scale
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 
Orchestrating Docker Containers with Google Kubernetes on OpenStack
Orchestrating Docker Containers with Google Kubernetes on OpenStackOrchestrating Docker Containers with Google Kubernetes on OpenStack
Orchestrating Docker Containers with Google Kubernetes on OpenStack
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 

Destaque

Openstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamOpenstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamBeny Raja
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryLew Tucker
 
Containers #101 Meetup: Containers & OpenStack
Containers #101 Meetup: Containers & OpenStack Containers #101 Meetup: Containers & OpenStack
Containers #101 Meetup: Containers & OpenStack Brittany Ingram
 
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions-Cisco Live! US 20...
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions-Cisco Live! US 20...BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions-Cisco Live! US 20...
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions-Cisco Live! US 20...Rohit Agarwalla
 
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitLew Tucker
 
Immutable infrastructure 介紹與實做:以 kolla 為例
Immutable infrastructure 介紹與實做:以 kolla 為例Immutable infrastructure 介紹與實做:以 kolla 為例
Immutable infrastructure 介紹與實做:以 kolla 為例kao kuo-tung
 
Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayQiming Teng
 
Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)hongbin034
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationGiacomo Vacca
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStackopenstackindia
 
[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about Containers[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about ContainersDustin Kirkland
 

Destaque (12)

Openstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamOpenstack workshop @ Kalasalingam
Openstack workshop @ Kalasalingam
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service Delivery
 
Containers #101 Meetup: Containers & OpenStack
Containers #101 Meetup: Containers & OpenStack Containers #101 Meetup: Containers & OpenStack
Containers #101 Meetup: Containers & OpenStack
 
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions-Cisco Live! US 20...
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions-Cisco Live! US 20...BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions-Cisco Live! US 20...
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions-Cisco Live! US 20...
 
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
 
Immutable infrastructure 介紹與實做:以 kolla 為例
Immutable infrastructure 介紹與實做:以 kolla 為例Immutable infrastructure 介紹與實做:以 kolla 為例
Immutable infrastructure 介紹與實做:以 kolla 為例
 
BRKSDN-2115
BRKSDN-2115 BRKSDN-2115
BRKSDN-2115
 
Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native Way
 
Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about Containers[Container world 2017] The Questions You're Afraid to Ask about Containers
[Container world 2017] The Questions You're Afraid to Ask about Containers
 

Semelhante a Kolla - containerizing the cloud itself

Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDr Ganesh Iyer
 
The Cloud Convergence: OpenStack and Kubernetes.
The Cloud Convergence: OpenStack and Kubernetes.The Cloud Convergence: OpenStack and Kubernetes.
The Cloud Convergence: OpenStack and Kubernetes.Ihor Dvoretskyi
 
Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Filipe Miranda
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachPROIDEA
 
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
OpenShift In a Nutshell - Episode 05 - Core Concepts Part IOpenShift In a Nutshell - Episode 05 - Core Concepts Part I
OpenShift In a Nutshell - Episode 05 - Core Concepts Part IBehnam Loghmani
 
Running Cloudbreak on Kubernetes
Running Cloudbreak on KubernetesRunning Cloudbreak on Kubernetes
Running Cloudbreak on KubernetesKrisztián Horváth
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryAnimesh Singh
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Krishna-Kumar
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna KumarCodeOps Technologies LLP
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoopGergely Devenyi
 
presentation @ docker meetup
presentation @ docker meetuppresentation @ docker meetup
presentation @ docker meetupDaniël van Gils
 
Kubernetes Java Operator
Kubernetes Java OperatorKubernetes Java Operator
Kubernetes Java OperatorAnthony Dahanne
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07Jorge Hidalgo
 
Introducing Cloud Development with Project Shipped and Mantl: a deep dive
Introducing Cloud Development with Project Shipped and Mantl: a deep diveIntroducing Cloud Development with Project Shipped and Mantl: a deep dive
Introducing Cloud Development with Project Shipped and Mantl: a deep diveCisco DevNet
 

Semelhante a Kolla - containerizing the cloud itself (20)

Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
The Cloud Convergence: OpenStack and Kubernetes.
The Cloud Convergence: OpenStack and Kubernetes.The Cloud Convergence: OpenStack and Kubernetes.
The Cloud Convergence: OpenStack and Kubernetes.
 
Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
 
What is Docker?
What is Docker?What is Docker?
What is Docker?
 
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
OpenShift In a Nutshell - Episode 05 - Core Concepts Part IOpenShift In a Nutshell - Episode 05 - Core Concepts Part I
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
 
Docker with devops program
Docker with devops programDocker with devops program
Docker with devops program
 
Docker with devops program
Docker with devops programDocker with devops program
Docker with devops program
 
Running Cloudbreak on Kubernetes
Running Cloudbreak on KubernetesRunning Cloudbreak on Kubernetes
Running Cloudbreak on Kubernetes
 
Running Cloudbreak on Kubernetes
Running Cloudbreak on KubernetesRunning Cloudbreak on Kubernetes
Running Cloudbreak on Kubernetes
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoop
 
presentation @ docker meetup
presentation @ docker meetuppresentation @ docker meetup
presentation @ docker meetup
 
Kubernetes Java Operator
Kubernetes Java OperatorKubernetes Java Operator
Kubernetes Java Operator
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
 
Introducing Cloud Development with Project Shipped and Mantl: a deep dive
Introducing Cloud Development with Project Shipped and Mantl: a deep diveIntroducing Cloud Development with Project Shipped and Mantl: a deep dive
Introducing Cloud Development with Project Shipped and Mantl: a deep dive
 

Último

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Último (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Kolla - containerizing the cloud itself

  • 1. Copyright © 2015 Mirantis, Inc. All rights reserved www.mirantis.com Kolla Containerizing the cloud itself Michał Rostecki | OpenStack Software Engineer mrostecki@mirantis.com
  • 2. Copyright © 2015 Mirantis, Inc. All rights reserved What is LXC (Linux Containers)? LXC is isolation of Linux systems which separates resources, filesystem, network namespace, but shares the common kernel. It’s based on cgroups which is kernel’s feature to limit resources for processes. It’s much more lightweight than virtualization.
  • 3. Copyright © 2015 Mirantis, Inc. All rights reserved What is Docker? Docker is a RESTful API for containerization technologies. One of them (and the main one) is LXC. It provides layers for containers to utilize disk space when different containers have a common base.
  • 4. Copyright © 2015 Mirantis, Inc. All rights reserved Problems that Docker solves ● Separation of applications which share common libraries in different versions ● Upgradability of software ● “It worked on my machine” ● Possible differences in deployments due to i.e. packages installation in different time
  • 5. Copyright © 2015 Mirantis, Inc. All rights reserved Typical Docker application Cloud Developer’s machine Application Database Application Message queue Database Other app Message queue
  • 6. Copyright © 2015 Mirantis, Inc. All rights reserved But… what’s the cloud? Cloud consists of a lot of hardware and a complicated software which manages: ● Virtual machines ● Block or objective storage ● Networking ● Bare metal hardware ● Containers (running both on VM-s and bare metal)
  • 7. Copyright © 2015 Mirantis, Inc. All rights reserved OpenStack architecture
  • 8. Copyright © 2015 Mirantis, Inc. All rights reserved Problems of OpenStack ● Separation of OpenStack components which share common libraries in different versions ● Upgradability of OpenStack ● “It worked on my devstack”, “It worked on my test env” ● Possible differences in deployments due to i.e. packages installation in different time Almost the same like for “usual” applications, but in much bigger scale!
  • 9. Copyright © 2015 Mirantis, Inc. All rights reserved Docker solves them too! That’s why Kolla project was created. It provides Docker images with different OpenStack services.
  • 10. Copyright © 2015 Mirantis, Inc. All rights reserved What we containerized ● MariaDB ● RabbitMQ ● Ceph ● Openvswitch ● Memcached ● Keystone ● Glance ● Nova ● Cinder ● Swift ● Heat ● Horizon
  • 11. Copyright © 2015 Mirantis, Inc. All rights reserved Components of Kolla ● Docker images templates and builder - which supports different Linux distributions (RH family and Debian family) and types of OpenStack installation (from binary packages or source) ● Ansible playbooks and modules, which generate config files and deploy containers
  • 12. Copyright © 2015 Mirantis, Inc. All rights reserved Development in progress ● “Docker in Docker” - for testing multinode Kolla deployments using only Docker, without VM-s ● Running OpenStack on Mesos - orchestration/scheduling service for containers ● Storing OpenStack services configuration in ZooKeeper
  • 13. Copyright © 2015 Mirantis, Inc. All rights reserved Technologies ● Docker ● Python ● docker-py ● Jinja2 ● Ansible modules ● Ansible ● ZooKeeper ● Mesos ● Pecan
  • 14. Copyright © 2015 Mirantis, Inc. All rights reserved docker-py Docker-py is a Python client for Docker API. Used by us for building Docker images.
  • 15. Copyright © 2015 Mirantis, Inc. All rights reserved Jinja2 Jinja2 is a templating engine for Python, which provides environment (variables), forloops, “if” conditionals, blocks, inheritance etc. into text files. Mostly known by Flask (it’s a integrated part of it). Commonly used in the other lightweight frameworks (often as a standalone lib).
  • 16. Copyright © 2015 Mirantis, Inc. All rights reserved Ansible Ansible is a configuration and orchestration system which can deploy any kind of software. It uses SSH to connect to the servers (it’s agentless). It has module to run Docker containers on deployed hosts. It’s written in Python and supports Python-based modules.
  • 17. Copyright © 2015 Mirantis, Inc. All rights reserved ZooKeeper ZooKeeper is a key-value store used for keeping the configuration of high-available services.
  • 18. Copyright © 2015 Mirantis, Inc. All rights reserved Mesos Mesos is the container orchestration and scheduling service. It can isolate applications by Docker or “vanilla” cgroups. Exposes its API to users by frameworks. The main one is Marathon, but Kubernetes is also supported as a framework.
  • 19. Copyright © 2015 Mirantis, Inc. All rights reserved Pecan Pecan is a lightweight web framework. Based on WebOb. Provides Mako templates. Mostly used framework in OpenStack API-s. OpenStack doesn’ t use Pecan’s (Mako) templating - there are only JSON views.
  • 20. Copyright © 2015 Mirantis, Inc. All rights reserved Pecan vs Flask Flask ● you have to use “app” object in every view or plugin - risk of circular imports ● you have to define routing “by hand”, with string Pecan ● you define “app” with config once on server running and don’t use it anymore ● routing is discovered dynamically
  • 21. Copyright © 2015 Mirantis, Inc. All rights reserved Pecan vs Flask Flask app.py import flask app = flask.Flask(__name__) views.py import flask import app @app.route(“/foo”): flask.jsonify(foo=’bar’) Pecan app.py import pecan app = pecan.make_app( ‘controllers.RootController’) controllers.py class RootController(object): foo = FooController() [...]
  • 22. Copyright © 2015 Mirantis, Inc. All rights reserved Pecan vs Flask Pecan has an app object with root controller defined. App object is not needed to be called anywhere. Other controllers are defined as attributes of the root one. app RootController / FooController /foo
  • 23. Copyright © 2015 Mirantis, Inc. All rights reserved Pecan vs Flask Flask has an app object which has to be used as a decorator of every view and plugin. app root_view / foo_view /foo
  • 24. Copyright © 2015 Mirantis, Inc. All rights reserved Contributors Kolla is one of the most diverse OpenStack project in terms of companies.
  • 25. Copyright © 2015 Mirantis, Inc. All rights reserved Contributors
  • 26. Copyright © 2015 Mirantis, Inc. All rights reserved Why OpenStack is needed here? Why cannot be use Mesos without OpenStack? We need just containers!
  • 27. Copyright © 2015 Mirantis, Inc. All rights reserved Why OpenStack is needed here? The answer is networking and its isolation, which is not present in Mesos and Docker itself, but is in OpenStack: ● Currently - OpenStack can separate containers by putting them into different VM-s or bare metal servers, which have different networks. ● In near future - OpenStack’s project Kuryr will bring virtualized networking directly to Docker containers.
  • 28. Copyright © 2015 Mirantis, Inc. All rights reserved Q&A Thank you for your attention