SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt...

76
SUSE Container as a Service Platform Paweł Mirończuk Starszy konsultant [email protected]

Transcript of SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt...

Page 1: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE Container as a Service Platform

Paweł Mirończuk

Starszy konsultant

[email protected]

Page 2: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Agenda

• Omówienie• Microservices

• Docker

• Kubernetes

• SUSE CaaS Platform

• Prezentacja

• Pytania

2

Page 3: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Microservices

3

Page 4: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Czym jest Microservice?

4

Sposób realizacji architektury SOA w której aplikacja jest zbiorem luźno powiązanych usług.

Usługi powinny realizować drobne zadania i używać „lekkich” protokołów.

(Myślcie o nich jak o narzędziach z Uniksa/Linuksa – jest ich wiele, a każde z nich wykonuje tylko jedną czynność)

Page 5: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

5

Page 6: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Zalety architektury monolitycznej?

6

• Jak już działa jest spora szansa, że będzie wydajniejsza.

Page 7: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

7

Page 8: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

The Scale Cube

8

Page 9: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Zalety Microservices?

9

• Zwiększa modułowość aplikacji

• Aplikacja jest łatwiejsza do zrozumienia, rozwoju i testowania

• Pozwala na zrównoleglenie rozwoju poprzez podział prac na wiele niewielkich, niezależnych zespołów z których każdy może zajmować się rozwojem własnej usługi niezależnie

• Upraszcza CI/CD

• Pozwala na dostarczenie produktu szybciej i lepszej jakości

• Elementy aplikacji nie muszą być uruchamiane na tym samym komputerze

Page 10: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

How do I design a Microservice?

10

I. CodebaseOne codebase tracked in revision control, manydeploys

II. DependenciesExplicitly declare and isolate dependencies

III. ConfigStore config in the environment

IV. Backing servicesTreat backing services as attached resources

V. Build, release, runStrictly separate build and run stages

VI. ProcessesExecute the app as one or more statelessprocesses

VII. Port bindingExport services via port binding

VIII. ConcurrencyScale out via the process model

IX. DisposabilityMaximize robustness with fast startup andgraceful shutdown

X. Dev/prod parityKeep development, staging, and productionas similar as possible

XI. LogsTreat logs as event streams

XII. Admin processesRun admin/management tasks as one-offprocesses

Page 11: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Docker

11

Page 12: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Rewolucja w datacenter

12

Na początku były serwery…

Page 13: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Rewolucja w datacenter

13

Lecz był też problem… Dlaczego one nie są w pełni wykorzystywane?

Page 14: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Rewolucja w datacenter

14

Rozwiązanie! Wirtualizacja!

Page 15: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Rewolucja w datacenter

15

Ale czy nie można by zrobić coś więcej?

Virtualisation

Page 16: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Rewolucja w datacenter

16

…Przecież jest tyle wspólnych elementów…

We need to go deeper!

Virtualisation

Page 17: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Rewolucja w datacenter

17

…Hypervisor… System operacyjny gościa…

Virtualisation Containerisation

Page 18: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Rewolucja w datacenter

18

…pozbądźmy się ich! A binarki i biblioteki uwspólnijmy!

Virtualisation Containerisation

Page 19: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Key Benefits

19

A container engine coupled with an ecosystem of user/developer tools

Developers create a layered image of their application that contains everything their application requires to run

When done correctly container image will be able to be built once and run everywhere

Developers can focus on what they do best – development - opposed to dealing with packaging or library dependency management

Perfect for Microservices

RdC1RdC [2]1

Page 20: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Slajd 19

RdC1 Rob de Canha-Knight; 21.06.2017

RdC [2]1 Rob de Canha-Knight; 21.06.2017

Page 21: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Docker Features

RdC [3] [2]1RdC [2] [2] [2]1

Page 22: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Slajd 20

RdC [3] [2]1 Rob de Canha-Knight; 21.06.2017

RdC [2] [2] [2]1 Rob de Canha-Knight; 21.06.2017

Page 23: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Why should I care?

RdC [3]1RdC [2] [2]1

Page 24: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Slajd 21

RdC [3]1 Rob de Canha-Knight; 21.06.2017

RdC [2] [2]1 Rob de Canha-Knight; 21.06.2017

Page 25: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Kubernetes

22

Page 26: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Czym jest Kubernetes (k8s)?

Kompletne rozwiązanie do zarządzania zadaniami opartymi o kontenery• Deploy (rozmieszczenie)

• Manage (zarządzanie)

• Scale (skalowalność)

• Clustered (niezawodność)

Scheduling of containers

Critical for Micro Services and distributed applications

Pozwala na korzystanie z kontenerów w sposób przyjazny dla developerów• Dodaje warstwę abstrakcji nad „czystą” infrastrukturę. I jest to dostępne przez API

• Pozwala użytkownikom zarządzać aplikacjami, a nie maszynami23

Page 27: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

24

Sposób na zawstydzenie Masłowa(gdyby nadal żył)

Page 28: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Kubernetes – słownictwo, pojęcia, architektura

25

Page 29: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Wszystko jest obiektem(a przynajmniej powinno być)

26

Page 30: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Podstawowe pojęcia

Container: Zamknięty pakiet aplikacji (Docker).

Pod: Mała grupa ściśle powiązanych kontenerów (containers).

Service: Zestaw „podów” (pods) które ze sobą współpracują i mają być osiągalne przez sieć z zewnątrz.

Controller: Komponent dbający o to aby bieżący stan dążył do stanu pożądanego

Labels: Identyfikują metadane powiązane z obiektem

Selector: Zapytanie do zestawu „labeli” (labels), w efekcie którego można podjąć określone akcje

27

Page 31: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Architektura Kubernetes

28

Page 32: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Hierarchia logiczna

29

Pod

C CC C

ReplicaSet

Service

Deployment

Namespace

Page 33: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Controller – zasada działania

Dąż do zmiany z bieżącego stanu

do stanu oczekiwanego

Działaj niezależnie

To co widzisz jest prawdą

Przykład: ReplicationController

30

Page 34: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Replica Set (formalnie ReplicationController)

31

Rodzaj controllera

Upewnij się, że N kopii poda zawsze jest uruchomiona

Pamiętaj, że zrepikowane pody są wymienialne

• Bez konkretnej kolejności lub rozróżniania

Page 35: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Pod: Grupowanie kontenerów

32

Easier/Faster to start

Focused package

Easier multi-tenancy

Many pods per node

Page 36: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Pods: Sieć

33

Each pod has own IP

No port brokering

Security benefits

Local service grouping

Page 37: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Pod – cykl życia

34

Raz wystartowany na węźle pod nie zostanie przeniesiony gdzie indziej.• Restart policy oznacza na tym samym węźle

Pod może osiągnąć stan pending, running, succeeded or failed• Failed oznacza naprawdę koniec – żadnych restartów więcej

• Ee – żadnej skomplikowanej logiki w tym nie ma

Pod jest restartowany przez controller nie przez schedulera, lub apiserver

• Nawet jeżeli węzeł padnie

• Scheduler nie temu służy aby restartować pody

Page 38: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Pods: Woluminy

35

Storage support

Choice of backend

Longer lifetime

Data for pod containers

Page 39: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Pods: Labels

36

Organise pods

Query pods

Organise objects

API abstraction

Page 40: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Pods: Labels

37

Role: Frontend

Version: 1.2

Environment: Dev

Environment: Staging

Page 41: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Stałe Woluminy

38

Administratorzy dostarczają. Użytkownicy podejmują

Niezależny czas życia, czy przeznaczenie

Mogą być rozdzielane między podami i istnieć dopóki są potrzebne

Dynamicznie przydzielane i zarządzane

Page 42: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Labels

39

Metadane identyfikujące

Dołączane do dowolnego obiektu API

Można o nie pytać za użyciem selektorów

To jedyny mechanizm grupujący w k8s

Są używane do określania których obiektów ma tyczyć podejmowana operacja

Page 43: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Selectors

40

Page 44: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Selectors

41

Page 45: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Selectors

42

Page 46: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Selectors

43

Page 47: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Selectors

44

Page 48: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Selectors

45

Page 49: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Services

46

“Exposed” “Hidden”

Page 50: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Services

47

Page 51: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Atomic Cluster Data Storage

Backing store for all the master state data• Vital for a distributed system

Hidden behind an abstract interface

Stateless and scalable• Distributed, reliable key-value store

Watchable• K8s doesn’t poll, it watches

Uses CoreOS etcd48

Page 52: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SuSE CAASP

49

Page 53: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Kiedy kontener to jednak za mało

50

Provision AutomateHost

ServicesManage

Container Lifecycle

OrchestrationContainer

Microservices

Scale

Page 54: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Czym jest SUSE Container as a Service Platform

51

SUSE Container as a Service Platform jest platformą dla kontenerów, która pozwala na aprowizację, zarządzanie i skalowanie aplikacji opartych o kontenery.

Cel:Dostarczenie rozwiązania do rozwoju aplikacji platformy, która zautomatyzuje nudne czynności administracyjne.

Page 55: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

CaaS Platform skupia się na trzech obszarach

52

OS for Containers

OS for Containers

OrchestrationOrchestration ConfigurationConfiguration

Zarządzanie kontenerami Uruchamianie kontenerów Budowanie i zarządzanieinfrastrukturą

Page 56: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE CaaS Platform składa się z trzech komponentów

53

SUSE MicroOSKubernetesSalt,

Container Engines

OS for Containers

OS for Containers

OrchestrationOrchestration ConfigurationConfiguration

Page 57: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE MicroOS – Główne cechy

54

Transactional UpdatesAtomic updates

Automatic updates. Can be disabled.Maintenance Window/Policy defined updates

Scalability (up to 1000s of nodes)

Use core technologiesbtrfs, rpms, cloud-init

Three System RolesAdmin Dashboard

Worker (Kubernetes Admin OR Node)Plain System (No Kubernetes)

Easy to use Installer“1 Click” Install

*SUSE MicroOS not available as a standalone product

Page 58: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE CaaS Platform Architektura

55

Page 59: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE CaaS Platform

56

SL

ES

Automation (Salt + cloud-init)Configuration & Management of each node

Persistent Storage (local disk, NFS,

SES)Networking Registry Security Logging

Orchestration (Kubernetes) Services (e.g. Deployment Dashboard)

Container Container Container Container Container Container Container Container Container

Container Runtime & Packaging

SUSE Linux Enterprise MicroOS (Container Host OS)

(Physical) Infrastructure

Page 60: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

57

1 x VM/Bare Metal Each

K8s Master

K8s Worker

K8s Worker

K8s Worker

K8s Worker

K8s Worker

1 x VM/Bare Metal

Page 61: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

58

SUSE CaaS PlatformKubernetes Cluster

ClusterNode

ClusterNode

ClusterNode

ClusterNode

ClusterNode

ClusterNode

Dashboard

AdminNode

1 x Instance Each

ClusterNode

ClusterNode

ClusterNode

ClusterNode

ClusterNode

ClusterNode

Availability Zone 1 Availability Zone 2

*Built in k8s feature

Page 62: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

59

Page 63: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE CaaS Platform Deployment Scenario

60

IT Operations (Administrator)

DevOps & Developer End User

Setup IT Infrastructure for

Containers

DeveloperCreate Microservice Apps for

Containers

Access & Use LoanApplication

DevOpsManages the cluster. Run Loan App (High

Availability, Load Balancer, Orchestrate nodes).

A Financial Services company wants to launch a new Loan application.

Page 64: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

PXE / DHCP / SMTPortus

External Logging System

Adminnode

IT Ops/DevOps

Admin Dashboard

node node node

node node node

node node node

Kubernetes

Master

SUSE CaaSP

SUSE RegistrySCC

SUSE CaaS Platform Deployment - Setup Infrastructure

61

1 Install Admin nodeMicroOS one step installationCreate AutoYaST profileSet up Admin Dashboard

2 Connect to Admin Dashboard

3 Deploy NodesUses AutoYaST profile

4 Configure ClusterSet up kubernetes, etcd, flannel,...

Page 65: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE CaaS Platform Deployment – Run Containers

62

Dev/DevOps

node node node

node node node

node node node

Kubernetes

Master

Private RegistryCI

Git

KubernetesDashboard /

kubectl

HA Proxy

1 Push code to git 2 Build container image(s) 3 Run app on kubernetes cluster

4 Ready for production

SUSE RegistrySCC

Page 66: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

CaaS Platform Deployment Scenario – End User view

63

Loan App

node node node

node node node

node node node

Kubernetes

Master

End user accesses application via HA-proxy

HA Proxy

Page 67: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Adminnode

IT Ops/DevOps

Admin Dashboard

node node node

node node node

node node node

Kubernetes

Master

SUSE CaaSP

SUSE CaaS Platform Deployment – Full Picture

64

Private Registry

CI

Git

HA Proxy

Loan App

Dev/DevOps

SUSE RegistrySCC

Page 68: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE Linux Enterprise MicroOS

65

Page 69: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

What is SUSE Linux Enterprise MicroOS

66

SLE MicroOS is a modern Linux Operating System, designed for containers and optimized for large deployments.

MicroOS inherits the SLE knowledge while redefining the operating system into a small, efficient and reliable distribution.

SUSE OpenStack

Cloud

MicroOS

Page 70: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE Linux Enterprise MicroOS – Key Design Elements

67

OS Designed for

Containers

Designed for Cloud,

Kubernetes, PaaS

Transactional Updates

Minimal Images

Minimal Configuration

Large Deployments

Ready to Run

Page 71: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Transaction Update - Definition

68

Is AtomicThe update does not influence running system

Can be rolled backEasily restore original state

Page 72: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Transactional Update – Rollback is easy with btrfs

69

ro roro ro rw

ro roro rocurrrw

roNew rw

1 ro-Clone 3 Zypper up 5 rw-Clone = Rollback2 Change rw 4 Change ro

Page 73: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

SUSE Linux Enterprise MicroOS – Key Features

70

Transactional UpdatesAtomic updates

Automatic updates. Can be disabled.Maintenance Window/Policy defined updates

Scalability (upto 1000s of nodes)

Use core technologies: btrfs

Three System RolesAdmin Dashboard

Worker (Kubernetes Admin + Node)Plain System (No Kubernetes)

Easy to use Installer

Page 74: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Demo

71

Page 75: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

Pytania

72

Page 76: SUSE Container as a Service Platform - Polska | SUSE · SUSE CaaS Platform 56 SLES Automation(Salt + cloud-init) Configuration & Management of each node Persistent Storage (local

73

Unpublished Work of SUSE LLC. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE LLC. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.

General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.