continuous delivery in der cloud eine symbiose aus ... · •Übergangslos in gitlab integriert...
TRANSCRIPT
![Page 1: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/1.jpg)
OpenShift und GitLab
Continuous Delivery in der Cloud
Alexander Griesbaum
Andreas Günzel
![Page 2: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/2.jpg)
Agenda
1. OpenShift
2. GitLab CI
3. Migrationsszenarien
4. Fazit und Ausblick
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 2
![Page 3: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/3.jpg)
Referenten
Alexander Griesbaum
Senior Manager
Java Enterprise Solutions
Andreas Günzel
Director
Java Enterprise Solutions
@leichtundkross @agrsbm
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 3
![Page 4: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/4.jpg)
Unser Leitsatz
WIR
VERBINDEN
WELTEN
![Page 5: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/5.jpg)
EXXETA auf einen Blick
Wir sind ein unabhängiges mittelständisches Technologie- und Beratungsunternehmen mit einer wertorientierten
Unternehmensführung
>780Mitarbeiter
2005gegründet
85Mio. Umsatz*
11Standorte
(D, CH, SK)
München
Stuttgart
Frankfurt/Main
Karlsruhe
Mannheim
Zürich
Nürnberg
Bratislava
Berlin
Leipzig
Braunschweig
![Page 6: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/6.jpg)
Was ist OpenShift?
Think of OpenShift as an operating system, images as applications
that you run on them, and the containers as the actual running
instances of those applications.
![Page 7: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/7.jpg)
Kubernetes vs. OpenShift
Kubernetes OKD (ehem. OpenShift Origin)
System zur Automatisierung von
Deployments, Skalierung und
Management von Container basierten
Applikationen.
De‐facto Standard zur Ochestrierung
von Docker Containern.
Kubernetes Distribution angereichert mit Tools um
die Entwicklung zu beschleunigen sowie
Deployment und Skalierung zu vereinfachen.
OKD ist das Upstream Community Project hinter
OpenShift.
Maintainer • Google, Red Hat, CoreOS, … • Red Hat
Lizenz Apache License (Version 2.0)
Plattformen AWS, Azure, Google Cloud, VMware, Hyper-V, …
Zusätzliche
Frameworks
Docker, Image Registry
Netzwerk Management
Log Management, Monitoring
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 7
![Page 8: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/8.jpg)
OpenShift Versionen im Überblick
OpenShift Online OpenShift Dedicated OpenShift Container Platform (OCP)*
On-demand Public Cloud Enterprise Public Cloud On-premises private PAAS
Kosten &
Support
Starter
• Kostenlos
• Limitiert auf 1 Projekt,
1GB Ram, 1GB Storage
• Geteilte Ressourcen
• Kein Support
Pro
• ab $50/Monat
• Geteilte Ressourcen
• Basis Support
• ab $48.000/Jahr
• HA Cluster mit
4 Application Nodes,
100GB Storage,
48TB I/O
• Dedizierte Ressourcen
• Premium Support
Subscription „Starter“
• $4.000/Jahr
• Limitiert auf 2 Cores
• Basis Support
Subscription „Premium“
• $6.000/Jahr
• Limitiert auf 2 Cores
• Premium Support
Plattformen • Gehostet in Public Cloud
• Betrieben von Red Hat
• Gehostet in Public Cloud
(AWS, GCP, Azure*)
• Betrieben von Red Hat
• Gehostet und betrieben im
firmeneigenen Rechenzentrum oder
Private Cloud
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 8
![Page 9: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/9.jpg)
OpenShift Architektur
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 9
![Page 10: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/10.jpg)
OpenShift Architektur
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 10
![Page 11: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/11.jpg)
OpenShift Architektur
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 11
![Page 12: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/12.jpg)
Warum OpenShift?
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 12
![Page 13: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/13.jpg)
Warum OpenShift?
• Aus strategischer Sicht
Open Source
Enterprise Support & Trainings
Runs everywhere
• Aus Sicht von Entwicklung und Betrieb
Templates
Source-to-Image
Lokale Installation
Minishift
Red Hat Container Development Kit (CDK)*
* Zugang nur im Rahmen des Red Hat Developer Program
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 13
![Page 14: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/14.jpg)
OpenShift Templates
• Ein Template definiert
Images (Registry)
Ressourcen (Deployment und Build Konfiguration, Storage, Service, Monitoring ...)
Parameter (Umgebungsvariablen)
• Templates werden durch den Provider (Ops Team) vorgegeben
Ermöglicht Kontrolle über Applikationen die erstellt werden können
Sicherstellung von SLAs (Definierte Ressourcen je Applikation)
• Templates werden als JSON oder YAML definiert
• OpenShift liefert eine Vielzahl vorkonfigurierter Templates
JBoss/Wildfly, MySQL, MongoDB, …
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 14
![Page 15: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/15.jpg)
DEMO
![Page 16: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/16.jpg)
GitLab
• Source Code Repository
• Wiki & Ticketsystem
• Docker Registry
• DevOps Tools / CI/CD
• Monitoring
• „From Idea to Production“
Planung
Erstellung/Entwicklung
Packaging
Releases
Konfiguration
Deployment
Monitoring
© gitlab.com
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 16
![Page 17: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/17.jpg)
GitLab Architektur
© gitlab.com
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 17
![Page 18: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/18.jpg)
GitLab CI
• Pipeline as Code
.gitlab-ci.yml
Feste Syntax, Validierung mit Lint
Dennoch: kann kompliziert und lang werden
• Übergangslos in GitLab integriert
• Workload als „gitlab-runner“ ausgelagert
Einbindung z.B. via lokalem Dateisystem, ssh, Docker, Kubernetes
• Build erfordert Verbindung zu laufender GitLab-Instanz
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 18
![Page 19: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/19.jpg)
GitLab CI Architektur (klassisch)
Branch erstellen
Feature entwickeln
GitLabIssue anlegen
1
2
git push3 Build
Pipeline trigger4
gitlab-
runner(s)
delegieren
6
5
Monitor8
Build via
FS, ssh, docker
Ziel-
umgebung
deploy7
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 19
![Page 20: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/20.jpg)
GitLab CI Architektur (dynamische Runner in OpenShift)
Branch erstellen
Feature entwickeln
GitLabIssue anlegen
1
2
git push3 Build & deploy
Pipeline trigger4
runner-
gitlab-runner
delegieren
6
5
Monitor
Monitor
7
7
OpenShift
container pro stage (docker, kubernetes)
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 20
![Page 21: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/21.jpg)
GitLab CI Architektur (OpenShift)
Branch erstellen
Feature entwickeln
GitLabIssue anlegen
1
2
git push3
Pipeline trigger4
delegieren5
Monitor
Monitor
7
7
OpenShift
Build & deploy
runner-
gitlab-runner
6
container pro stage (docker, kubernetes)
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 21
![Page 22: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/22.jpg)
GitLab CI extended
• Anbindung an Kubernetes/OpenShift ermöglicht Deployments On-Demand
• Review Apps
Anwendung bei Merge Request live ansehen und validieren
Anwendung nach Merge automatisch herunterfahren
• Monitoring
Integration von Prometheus zum Monitoring von Applikationen im Cluster
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 22
![Page 23: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/23.jpg)
DEMO
![Page 24: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/24.jpg)
Eigenes Data Center
Migrationsszenarien - Ist Zustand
Infrastruktur Setup: Entwicklungsumgebung & Applikation im eigenen Data Center
Infrastruktur
Entwicklungsumgebung
Gitlab
SonarQubeNexus
Gitlab
Runner
Infrastruktur
Applikation
Application
Server Datenbank
Web Server
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 24
![Page 25: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/25.jpg)
Eigenes Data Center OpenShift
Migrationsszenarien (1)
Infrastruktur Setup: Applikation in OpenShift Container Platform
Infrastruktur
Entwicklungsumgebung
Gitlab
SonarQubeNexus
Gitlab
Runner
Infrastruktur
Applikation
Application
Server Datenbank
Web Server
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 25
![Page 26: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/26.jpg)
Eigenes Data Center OpenShift
Migrationsszenarien (2)
Infrastruktur Setup: Applikation in OpenShift Online/Dedicated
Infrastruktur
Entwicklungsumgebung
Gitlab
SonarQubeNexus
Gitlab
Runner
Infrastruktur
Applikation
Application
Server Datenbank
Web Server
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 26
![Page 27: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/27.jpg)
OpenShift
Infrastruktur
Applikation
Infrastruktur
Entwicklungsumgebung
Migrationsszenarien (3)
Infrastruktur Setup: Entwicklungsumgebung & Applikation in OpenShift Online/Dedicated
Gitlab
SonarQubeNexus
Gitlab
Runner
Application
Server Datenbank
Web Server
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 27
![Page 28: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/28.jpg)
Fazit und Ausblick
• … für den Betrieb
Einheitliche Plattform für alle Systeme
Schnelles & einheitliches Aufsetzen neuer Systeme
Integriertes & einheitliches Monitoring aller Systeme
Leichte & automatische Skalierung
• … für die Entwicklungsteams
Kaum Umstellungen notwendig
Review Apps
Produktionsnahes Deployment auf lokalen Entwicklungsmaschinen möglich
Was haben wir erreicht…
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 28
![Page 29: Continuous Delivery in der Cloud eine Symbiose aus ... · •Übergangslos in GitLab integriert •Workload als „gitlab-runner“ ausgelagert Einbindung z.B. via lokalem Dateisystem,](https://reader030.vdocuments.pub/reader030/viewer/2022041208/5d66c50088c993f0438b5cf7/html5/thumbnails/29.jpg)
www.EXXETA.com
WIR VERBINDEN WELTEN
www.EXXETA.comwww.EXXETA.com