The Cloud Convergence: OpenStack and Kubernetes

15
The Cloud Convergence: OpenStack and Kubernetes Ihor Dvoretskyi - Operations Engineer at Mirantis Inc.

Transcript of The Cloud Convergence: OpenStack and Kubernetes

Page 1: The Cloud Convergence: OpenStack and Kubernetes

The Cloud Convergence: OpenStack and Kubernetes

Ihor Dvoretskyi - Operations Engineer at Mirantis Inc.

Page 2: The Cloud Convergence: OpenStack and Kubernetes

#dfua

Agenda

● What the OpenStack is, why it might be called as the

perfect solution for building clouds?

● Murano as a special tool for application management in

OpenStack

● Containers and the benefits of application

containerization

● An awesome tool for managing container clusters -

Kubernetes

● Demo

● Q&A

Page 3: The Cloud Convergence: OpenStack and Kubernetes

What is OpenStack?And why it might be called as the best solution for building clouds?

Page 4: The Cloud Convergence: OpenStack and Kubernetes

#dfua

What is OpenStack?

● OpenStack is a free and open-source cloud-computing software

platform

● OpenStack is a complex set of tools that provides possibility for

anyone to build a ready-to-use cloud environment

● OpenStack is the most popular open source cloud project in the

world*

*according to a survey of more than 550 respondents conducted by Linux.com and The New Stack

Page 5: The Cloud Convergence: OpenStack and Kubernetes

MuranoA special tool for application management in OpenStack

Page 6: The Cloud Convergence: OpenStack and Kubernetes

#dfua

Murano: An OpenStack App Management Tool

● The Application catalog - a single-point to publish different ready-

to-use applications

● The Murano Project introduces an application catalog to OpenStack,

enabling application developers and cloud administrators to publish

various cloud-ready applications in a browsable categorized catalog.

● Murano ready-to-use applications are being published on

Community App Catalog - http://apps.openstack.org

● Murano provides possibility to to be abstract from underlying IaaS

resources

● Murano supports multiple OS options (Linux & Windows)

Page 7: The Cloud Convergence: OpenStack and Kubernetes

ContainersAnd the benefits of application containerization

Page 8: The Cloud Convergence: OpenStack and Kubernetes

#dfua

Containers: benefits of usage

● Container - is a lightweight isolation technology that allows users to

launch applications in an isolated environment on Linux

● Containers usage is a totally different way of application

management

● Containers have the huge benefits, that should be the perfect

reasons to prefer them over the rest technologies:

○ Performance

○ Repeatability

○ Isolation

○ Portability

Page 9: The Cloud Convergence: OpenStack and Kubernetes

#dfua

Containers - are not VMs

Containers VMsPrimary use case Containers are build for

managing applications, not for the infrastructure

VM management solution has capabilities for managing the infrastructure (network, compute, storage etc.)

Guest OS support For production environments only Linux might be used natively

Any common operating system

Security and isolation Containers are using the shared kernel - that’s not a full isolation

VMs are fully isolated, any kind of failure will not affect other VM

Performance Containers do not incur performance overhead

VMs incur performance overhead

Application management Containers are managed as a code and do need specific management software (e.g. Kubernetes)

VMs are managed as the fully-loaded machines

Page 10: The Cloud Convergence: OpenStack and Kubernetes

KubernetesAn awesome tool for managing container clusters

Page 11: The Cloud Convergence: OpenStack and Kubernetes

#dfua

Kubernetes as a container cluster orchestration tool● Originally developed as the “Borg” container orchestration tool by Google, Kubernetes

has been open sourced and is available for everyone and runs everywhere

● Kubernetes is a container orchestrator that runs Docker containers and supports

various underlying environments

● Kubernetes consists of the following core components:

○ Pod - a colocated group of applications, running the same context (e.g. -

Webserver)

○ Controller - a loop that drives current state towards expected state (e.g. -

replication controller)

○ Service - a set of running pods that run together (e.g. - load-balanced backends)

○ Layers - identifying metadata attached to their objects (dev vs prod)

○ and the Docker containers themselves

Page 12: The Cloud Convergence: OpenStack and Kubernetes

#dfua

Kubernetes & Murano

Page 13: The Cloud Convergence: OpenStack and Kubernetes

#dfua

Kubernetes with Docker and OpenStack Murano: what do they provide?● Docker provides:

○ The benefits of containers usage

● Kubernetes provides:

○ Portability, isolation from the underlying layers (infrastructure)

○ Container management, service discovery, load balancing

● Murano provides:

○ Ready-to-install applications

○ Cluster management

○ Infrastructure automation and autoscaling options

○ Application catalogue

● OpenStack provides:

○ Infrastructure as a Service for everything above

Page 14: The Cloud Convergence: OpenStack and Kubernetes

#dfua

Demo

Page 15: The Cloud Convergence: OpenStack and Kubernetes

Thank you!Questions?Questions?

@idvoretskyi