docker & devops - rn.inf.tu-dresden.de · seite 5 docker & devops // 1. docker -...

Post on 04-Jun-2018

251 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Docker & DevOps

Stephan.Pampel@cloudandheat.com

Seite 2

Docker & DevOps //

0. Cloud&Heat

1. Docker

2. DevOps

Agenda

Seite 3

Docker & DevOps //

1. Docker - Motivation

Daniel(Developer)

BlogSoftware

Bitte blog_api.py installieren:$ export FLASK_APP=blog_api.py$ flask run

Oskar(Operator)

Seite 4

Docker & DevOps //

1. Docker - Motivation

Daniel(Developer)

Wie installiere ichdieses Flask?

Seite 5

Docker & DevOps //

1. Docker - Virtualisierungsumgebung

● Virtualisierungsumgebung auf Betriebsystembasis

● Ausführung der Anwendungen in Containern

● Ressourcen- und Verwaltung getrennt von Host-OS

Quelle: https://blog.netapp.com/blogs/containers-vs-vms/

Seite 6

Docker & DevOps //

1. Docker - Vorteile

● Isolation

– Version

– Ausführungsumgebung

● Leichtgewichtig

– Ausführung

– Transferieren

● Unkompliziert

– CLI

– Dockerfile

Seite 8

Docker & DevOps //

1. Docker● Daemon

– Images bauen

– Container ausführen/verwalten

– RESTful API

Source: https://docs.docker.com/engine/docker-overview/

● Registry

– Speichert Images

– Public (hub.docker.com)

– Private

● Client

– build – Image erstellen

– images – Images auflisten

– run – Container starten

– ps – Container auflisten

– stop – Container stoppen

– rm – Container löschen

– rmi – Image löschen

– push – Image hochladen

– pull – image herunterladen

Seite 9

Docker & DevOps //

1. Docker● Volumes

– Container sollten zustandslos sein

– Daten werden in Volumes gespeichert

– Docker run --volume /etc/blog:/etc/blog:ro

Source: https://docs.docker.com/engine/docker-overview/

Seite 10

Docker & DevOps //

1. Docker

● Demo Blog in Docker

Daniel(Developer)

Oskar(Operator)

Docker Registry

Dockerfile

Docker build

Docker push D

ocke

r run

Seite 11

Docker & DevOps //

1. Docker

● Docker swarm

– Verteilte Ausführungsumgebung

● Docker compose

– Anwendugen mit mehreren Containern

– Netzwerkbeziehungen etc.

Seite 13

Docker & DevOps //

2. DevOps - Definition

„DevOps beschreibt einen Prozessverbesserungs-Ansatz aus den Bereichen der Softwareentwicklung und Systemadministration.

DevOps ist ein Kunstwort aus den Begriffen Development (englisch für Entwicklung) und IT Operations (englisch für IT-Betrieb).

DevOps soll durch gemeinsame Anreize, Prozesse und Werkzeuge (englisch: Tools) eine effektivere und effizientere Zusammenarbeit der Bereiche Dev, Ops und Qualitätssicherung (QS) ermöglichen.

Mit DevOps sollen die Qualität der Software, die Geschwindigkeit der Entwicklung und der Auslieferung sowie das Miteinander der beteiligten Teams verbessert werden.“

Philosophie

Kunstwort

Methodik

Ziel

http://eprints.uni-kiel.de/29215/1/2015-07-10Architekturen.pdf

Seite 14

Docker & DevOps //

2. DevOps - Definition

https://en.wikipedia.org/wiki/DevOps#/media/File:Devops.svg

Seite 15

Docker & DevOps //

2. DevOps - Ziel

„Mit DevOps sollen die Qualität der Software, die Geschwindigkeit der Entwicklung und der Auslieferung sowie das Miteinander der beteiligten Teams verbessert werden.“

Daniel(Developer)

Oskar(Operator)

Neue Funktionen entwickeln!

Betrieb stabilhalten!

Erfolg der Unternehmung sicherstellen

Seite 16

Docker & DevOps //

2. DevOps - Methodik

„DevOps soll durch gemeinsame Anreize, Prozesse und Werkzeuge (englisch: Tools) eine effektivere und effizientere Zusammenarbeit der Bereiche Dev, Ops und Qualitätssicherung (QS) ermöglichen.“

https://en.wikipedia.org/wiki/DevOps#/media/File:Devops-toolchain.svg

Seite 17

Docker & DevOps //

2. DevOps - Anwenden

● „Three Ways“

– Grundlegende Prinzipien

– Methoden können abgeleitet werden

– Werte und Philosophie als Basis für Prozesse, Anwendungen und Praktiken

Seite 18

Docker & DevOps //

2. DevOps - Anwenden

● Leistung des Gesamtsystems im Fokus

● Alle Wertschöpfungsketten, deren Grundlage IT ist, werden betrachtet

● Konsequenzen:

– Defekte werden nicht weitergereicht

– Lokale Optimierung kann nie globales Ziel behindern

– Verbesserung des Gesamtflusses wird angestrebt

– Kontinuirliche Suche nach umfassendem Verständnis für das Gesamtsystem

Quelle: https://itrevolution.com/the-three-ways-principles-underpinning-devops/

Seite 19

Docker & DevOps //

2. DevOps - Anwenden

● Herstellen von Feedback Schleifen für Kontinuirliche Verbesserung

– möglichst kurz und treffend

● Besseres Verständnis für interne und externe „Kunden“

● Schnelle Verbesserung möglich

● Kontinuirliches Lernen

Quelle: https://itrevolution.com/the-three-ways-principles-underpinning-devops/

Seite 21

Docker & DevOps //

2. DevOps - Anwenden

● Kultur:

– Kontinuirliches Probieren, Risiken eingehen, aus Fehlern Lernen

– Zeit für die Verbesserung der Arbeitsweise einplanen

– Wiederholung und Übung sind der Schlüssel zum Meistern

● Injizieren von Fehlern zur Prüfung der Fehlertoleranz

Quelle: https://itrevolution.com/the-three-ways-principles-underpinning-devops/

Seite 23

Docker & DevOps //

2. DevOps - Anwenden

Quelle: http://blog.shippable.com/why-devops-efforts-fail

● Culture

– Positive Einstellung zu Änderungen

● Automation

– Manuelle Prozesse automatisieren wenn zeitraubend oder fehleranfällig

● Lean

– Vermeidung von Verschwendung

– Work-in-progress, batch size, Warteschlangen

● Measurement

– Zielüberwachung

● Sharing

– Benutzerfreundliche Kommunikationskanäle

Seite 24

Docker & DevOps //

2. DevOps – Anwenden

● Beispiel Automatisierung

– Code linting

– Build

– Test

– Deploy

Seite 25

Docker & DevOps //

Books:

– Clean Code

– The Phoenix Project

– DevOps Handbook

Web:

– 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr https://www.youtube.com/watch?v=LdOe18KhtT4

– Robert C. Martin● http://clean-code-developer.de/● https://www.youtube.com/watch?v=ecIWPzGEbFc

– Beyond CI/CD: GitLab's DevOps vision https://about.gitlab.com/2017/10/04/devops-strategy/

THE CLOUD THAT HEATS HOMES WORLDWIDE

page_26 von 00

Blind Copy Title // 14.11.17

?

top related