SlideShare ist ein Scribd-Unternehmen logo
10. – 13.12.2018
Frankfurt am Main
#ittage
OpenShift und GitLab
Andreas Günzel, Alexander Griesbaum
Continuous Delivery in der Cloud
Agenda
1. OpenShift
2. GitLab CI
3. Migrationsszenarien
4. Fazit und Ausblick
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 2
Referenten
ANDREAS GÜNZEL
Director
Java Enterprise Solutions
@ Andreas.Guenzel@EXXETA.com
@leichtundkross
ALEXANDER GRIESBAUM
Senior Manager
Java Enterprise Solutions
@ Alexander.Griesbaum@EXXETA.com
@agrsbm
EXXETA AG
WIR
VERBINDEN
WELTEN
EXXETA auf einen Blick
*geplant für 2018
München
Stuttgart
Frankfurt/Main
Karlsruhe
Mannheim
Zürich
Nürnberg
Bratislava
Berlin
Leipzig
Braunschweig
750
Mitarbeiter
2005
Gegründet
11
Standorte
(D, CH, SK)
80
Mio. Umsatz
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.
Kubernetes vs. OpenShift
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 7
Kubernetes
OKD
(ehem. OpenShift Origin)
Maintainer
Lizenz
Plattformen
Zusätzliche Frameworks
System zur Automatisierung von
Deployments, Skalierung und
Management von Container basierten
Applikationen.
De‐facto Standard zur Orchestrierung
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.
Google, Red Hat, CoreOS, … Red Hat
Apache License (Version 2.0)
AWS, Azure, Google Cloud, VMware, Hyper-V, …
Docker, Image Registry
Netzwerk Management
Log Management, Monitoring
…
-
Kubernetes vs. OpenShift
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 8
OpenShift Online
OpenShift Container
Platform (OCP)
Kosten & Support
Plattformen
On-demand Public Cloud Enterprise Public Cloud
Starter
• Kostenlos
• Limitiert auf 1 Projekt,
1GB Ram, 1GB Storage
• Geteilte Ressourcen
• Kein Support
Pro
• ab $50/Monat
• Geteilte Ressourcen
• Basis Support
On-premises private PAAS
OpenShift Dedicated
• 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
• 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 Architektur
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 9
Routing Layer
Service Layer
Registry
Persistent
Storage
Physical Virtual Private Public
OpenShift Architektur
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 10
Routing Layer
Service Layer
Registry
Persistent
Storage
SCM
(Git/Svn)
CI/CD
Manage
ment
Toolsets
Physical Virtual Private Public
Developer
Operations
OpenShift Architektur
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 11
DOCKER
IMAGE
CONTAINER
POD
Warum OpenShift?
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 12
SOURCE TO IMAGE
(S2I)
INTEGRATED
DOCKER REGISTRY
REPLICATION
CONTROLLER
BUILD
CONFIGURATION
IMAGE STREAM DEPLOYEMENT
CONFIGURATION
PODSPERSISTENT
VOLUME CLAIMS
SERVICESPERSISTENT
VOLUMES
ROUTES
SOFTWARE DEFINED
NETWORK (SDN)
KubernetesOpenShift
Warum OpenShift?
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 13
AUS
STRATEGISCHER SICHT
AUS SICHT VON
ENTWICKLUNG & BETRIEB
• Open Source
• Enterprise Support & Trainings
• Runs everywhere
• Templates
• Source-to-Image
• Lokale Installation
• Minishift
• Red Hat Container Development Kit (CDK)
OpenShift Templates
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 14
EIN TEMPLATE
DEFINIERT
• Images (Registry)
• Ressourcen (Deployment
und Build Konfiguration,
Storage, Service,
Monitoring, ... )
• Parameter (Umgebungs-
variablen)
TEMPLATES WERDEN
DURCH DAS OPS TEAM
VORGEGEBEN
• Ermöglicht Kontrolle über
Applikationen die erstellt
werden können
• Sicherstellung von SLAs
(Definierte Ressourcen je
Applikation)
OPENSHIFT LIEFERT
EINE VIELZAHL
FERTIGER TEMPLATES
• JBoss EAP, Wildfly
• Nginx oder Apache
HTTP Server
• MySQL, MongoDB,
PostgreSQL
• …
DEMO
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
16OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum
GitLab Architektur
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 17
Redis
All connections use Unix
sockets unless noted
otherwise; © gitlab.com
SSH HTTP
HTTPS
TCP 8080
GitLab Shell
GitLab
Workhorse
Unicorn
(GitLab Rails)
TCP 22 TCP 80, 443
NGINX
GitLab Pages
TCP 800
GitalyRedis
PostgreSQL
Sidekiq
(GitLab Rails)
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
Günzel / Griesbaum OpenShift und GitLab: Continuous Delivery in der Cloud 18
GitLab CI Architektur (klassisch)
Branch erstellen
Feature entwickeln
GitLabIssue anlegen
1
2
git push
3 Build
Pipeline trigger
4
gitlab-
runner(s)
delegieren
6
5
Monitor
8
Build via
FS, ssh, docker
Ziel-
umgebung
deploy
7
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 19
GitLab CI Architektur (dynamische Runner in OpenShift)
Branch erstellen
Feature entwickeln
GitLabIssue anlegen
git push
Pipeline trigger
delegieren
7
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 20
Monitor
Monitor
7
OpenShift
container pro stage (docker, kubernetes)
Build & deploy
6
runner
gitlab-runner(s)
1
2
3
4
5
GitLab CI Architektur (OpenShift)
Branch erstellen
Feature entwickeln
Pipeline trigger
runner
gitlab-runner(s)
delegieren
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 21
Monitor
Monitor
OpenShift
container pro stage (docker, kubernetes)
Issue anlegen GitLab
git push
1
2
4
7
7
3
5
Build & deploy
6
GitLab CI extended
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 22
ANBINDUNG AN
KUBERNETES/
OPENSHIFT
REVIEW APPS
• Anwendung bei Merge
Request live ansehen und
validieren
• Anwendung nach Merge
automatisch herunterfahren
• Ermöglicht Deployments
on-demand
MONITORING
• Integration von Prometheus
zum Monitoring von
Applikationen im Cluster
DEMO
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
Eigenes 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 25
OpenShift
Migrationsszenarien (1)
Infrastruktur Setup: Applikation in OpenShift Container Platform
Eigenes 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 26
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 27
OpenShift
Migrationsszenarien (3)
Infrastruktur Setup: Entwicklungsumgebung & Applikation in OpenShift Online/Dedicated
Fazit
Was haben wir erreicht…
OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 28
FÜR DEN BETRIEB
FÜR DIE ENTWICKLUNGSTEAMS
• Einheitliche Plattform für alle Systeme
• Schnelles & einheitliches Aufsetzen neuer Systeme
• Integriertes & einheitliches Monitoring aller Systeme
• Leichte & automatische Skalierung
• Kaum Umstellungen notwendig
• Review Apps
• Produktionsnahes Deployment auf lokalen
Entwicklungsmaschinen möglich
www.EXXETA.com
WIR VERBINDEN WELTEN
www.EXXETA.comwww.EXXETA.com

Weitere ähnliche Inhalte

Was ist angesagt?

Warum gRPC? – und wie in Python implementieren?
Warum gRPC? – und wie in Python implementieren?Warum gRPC? – und wie in Python implementieren?
Warum gRPC? – und wie in Python implementieren?
cusy GmbH
 
Devops
DevopsDevops
Devops
inovex GmbH
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
Tobias Schneck
 
Stackstorm – Event driven Automation
Stackstorm – Event driven AutomationStackstorm – Event driven Automation
Stackstorm – Event driven Automation
inovex GmbH
 
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Tobias Schneck
 
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
inovex GmbH
 
Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und Gerrit
Stefan Lay
 
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
msohn
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
QAware GmbH
 
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldEnterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
QAware GmbH
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
QAware GmbH
 
Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Stefan Lay
 
Cloud Native Computing
Cloud Native ComputingCloud Native Computing
Cloud Native Computing
Aarno Aukia
 
Moderne abap entwicklung mit abapGit
Moderne abap entwicklung mit abapGitModerne abap entwicklung mit abapGit
Moderne abap entwicklung mit abapGit
Christian Günter
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
QAware GmbH
 
Kubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererKubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container Orchestrierer
QAware GmbH
 

Was ist angesagt? (17)

Warum gRPC? – und wie in Python implementieren?
Warum gRPC? – und wie in Python implementieren?Warum gRPC? – und wie in Python implementieren?
Warum gRPC? – und wie in Python implementieren?
 
Devops
DevopsDevops
Devops
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
 
Stackstorm – Event driven Automation
Stackstorm – Event driven AutomationStackstorm – Event driven Automation
Stackstorm – Event driven Automation
 
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
 
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
 
Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und Gerrit
 
Gearconf 2011
Gearconf 2011Gearconf 2011
Gearconf 2011
 
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldEnterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011
 
Cloud Native Computing
Cloud Native ComputingCloud Native Computing
Cloud Native Computing
 
Moderne abap entwicklung mit abapGit
Moderne abap entwicklung mit abapGitModerne abap entwicklung mit abapGit
Moderne abap entwicklung mit abapGit
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Kubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererKubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container Orchestrierer
 

Ähnlich wie Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud

Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
QAware GmbH
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
Hendrik Lösch
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
OPEN KNOWLEDGE GmbH
 
3d mit Python (PythonCamp)
3d mit Python (PythonCamp)3d mit Python (PythonCamp)
3d mit Python (PythonCamp)
Martin Christen
 
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Bernd Zuther
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
QAware GmbH
 
QGIS das Opensource GIS at Linuxwochen Wien 2019
QGIS das Opensource GIS at Linuxwochen Wien 2019QGIS das Opensource GIS at Linuxwochen Wien 2019
QGIS das Opensource GIS at Linuxwochen Wien 2019
Anita Graser
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
Robin Sedlaczek
 
Günzel/Griesbaum - Polycloud: Kann ein Vendor Lock-in Vorteile bringen?
Günzel/Griesbaum - Polycloud: Kann ein Vendor Lock-in Vorteile bringen?Günzel/Griesbaum - Polycloud: Kann ein Vendor Lock-in Vorteile bringen?
Günzel/Griesbaum - Polycloud: Kann ein Vendor Lock-in Vorteile bringen?
Andreas Günzel
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
QAware GmbH
 
G&L Tech News 02/17
G&L Tech News 02/17G&L Tech News 02/17
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
Andreas Koop
 
Frank Schlotter, Mag. Christoph Domanig (Active Business Consult – Cenit)
Frank Schlotter, Mag. Christoph Domanig (Active Business Consult – Cenit)Frank Schlotter, Mag. Christoph Domanig (Active Business Consult – Cenit)
Frank Schlotter, Mag. Christoph Domanig (Active Business Consult – Cenit)
Praxistage
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
QAware GmbH
 
OSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
OSMC 2012 | Monitoring bei der DB Systel by Ralf DöringOSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
OSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
NETWAYS
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
enpit GmbH & Co. KG
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
QAware GmbH
 
Eclipse Ditto Vorstellung (German)
Eclipse Ditto Vorstellung (German)Eclipse Ditto Vorstellung (German)
Eclipse Ditto Vorstellung (German)
Daniel Fesenmeyer
 
Continuous Delivery in ADF Projekten
Continuous Delivery in ADF ProjektenContinuous Delivery in ADF Projekten
Continuous Delivery in ADF Projekten
Ulrich Gerkmann-Bartels
 

Ähnlich wie Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud (20)

Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
3d mit Python (PythonCamp)
3d mit Python (PythonCamp)3d mit Python (PythonCamp)
3d mit Python (PythonCamp)
 
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
QGIS das Opensource GIS at Linuxwochen Wien 2019
QGIS das Opensource GIS at Linuxwochen Wien 2019QGIS das Opensource GIS at Linuxwochen Wien 2019
QGIS das Opensource GIS at Linuxwochen Wien 2019
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
Günzel/Griesbaum - Polycloud: Kann ein Vendor Lock-in Vorteile bringen?
Günzel/Griesbaum - Polycloud: Kann ein Vendor Lock-in Vorteile bringen?Günzel/Griesbaum - Polycloud: Kann ein Vendor Lock-in Vorteile bringen?
Günzel/Griesbaum - Polycloud: Kann ein Vendor Lock-in Vorteile bringen?
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
G&L Tech News 02/17
G&L Tech News 02/17G&L Tech News 02/17
G&L Tech News 02/17
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Frank Schlotter, Mag. Christoph Domanig (Active Business Consult – Cenit)
Frank Schlotter, Mag. Christoph Domanig (Active Business Consult – Cenit)Frank Schlotter, Mag. Christoph Domanig (Active Business Consult – Cenit)
Frank Schlotter, Mag. Christoph Domanig (Active Business Consult – Cenit)
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
 
OSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
OSMC 2012 | Monitoring bei der DB Systel by Ralf DöringOSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
OSMC 2012 | Monitoring bei der DB Systel by Ralf Döring
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
 
Eclipse Ditto Vorstellung (German)
Eclipse Ditto Vorstellung (German)Eclipse Ditto Vorstellung (German)
Eclipse Ditto Vorstellung (German)
 
Continuous Delivery in ADF Projekten
Continuous Delivery in ADF ProjektenContinuous Delivery in ADF Projekten
Continuous Delivery in ADF Projekten
 

Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud

  • 1. 10. – 13.12.2018 Frankfurt am Main #ittage OpenShift und GitLab Andreas Günzel, Alexander Griesbaum Continuous Delivery in der Cloud
  • 2. Agenda 1. OpenShift 2. GitLab CI 3. Migrationsszenarien 4. Fazit und Ausblick OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 2
  • 3. Referenten ANDREAS GÜNZEL Director Java Enterprise Solutions @ Andreas.Guenzel@EXXETA.com @leichtundkross ALEXANDER GRIESBAUM Senior Manager Java Enterprise Solutions @ Alexander.Griesbaum@EXXETA.com @agrsbm
  • 5. EXXETA auf einen Blick *geplant für 2018 München Stuttgart Frankfurt/Main Karlsruhe Mannheim Zürich Nürnberg Bratislava Berlin Leipzig Braunschweig 750 Mitarbeiter 2005 Gegründet 11 Standorte (D, CH, SK) 80 Mio. Umsatz
  • 6. 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.
  • 7. Kubernetes vs. OpenShift OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 7 Kubernetes OKD (ehem. OpenShift Origin) Maintainer Lizenz Plattformen Zusätzliche Frameworks System zur Automatisierung von Deployments, Skalierung und Management von Container basierten Applikationen. De‐facto Standard zur Orchestrierung 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. Google, Red Hat, CoreOS, … Red Hat Apache License (Version 2.0) AWS, Azure, Google Cloud, VMware, Hyper-V, … Docker, Image Registry Netzwerk Management Log Management, Monitoring … -
  • 8. Kubernetes vs. OpenShift OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 8 OpenShift Online OpenShift Container Platform (OCP) Kosten & Support Plattformen On-demand Public Cloud Enterprise Public Cloud Starter • Kostenlos • Limitiert auf 1 Projekt, 1GB Ram, 1GB Storage • Geteilte Ressourcen • Kein Support Pro • ab $50/Monat • Geteilte Ressourcen • Basis Support On-premises private PAAS OpenShift Dedicated • 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 • 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
  • 9. OpenShift Architektur OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 9 Routing Layer Service Layer Registry Persistent Storage Physical Virtual Private Public
  • 10. OpenShift Architektur OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 10 Routing Layer Service Layer Registry Persistent Storage SCM (Git/Svn) CI/CD Manage ment Toolsets Physical Virtual Private Public Developer Operations
  • 11. OpenShift Architektur OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 11 DOCKER IMAGE CONTAINER POD
  • 12. Warum OpenShift? OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 12 SOURCE TO IMAGE (S2I) INTEGRATED DOCKER REGISTRY REPLICATION CONTROLLER BUILD CONFIGURATION IMAGE STREAM DEPLOYEMENT CONFIGURATION PODSPERSISTENT VOLUME CLAIMS SERVICESPERSISTENT VOLUMES ROUTES SOFTWARE DEFINED NETWORK (SDN) KubernetesOpenShift
  • 13. Warum OpenShift? OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 13 AUS STRATEGISCHER SICHT AUS SICHT VON ENTWICKLUNG & BETRIEB • Open Source • Enterprise Support & Trainings • Runs everywhere • Templates • Source-to-Image • Lokale Installation • Minishift • Red Hat Container Development Kit (CDK)
  • 14. OpenShift Templates OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 14 EIN TEMPLATE DEFINIERT • Images (Registry) • Ressourcen (Deployment und Build Konfiguration, Storage, Service, Monitoring, ... ) • Parameter (Umgebungs- variablen) TEMPLATES WERDEN DURCH DAS OPS TEAM VORGEGEBEN • Ermöglicht Kontrolle über Applikationen die erstellt werden können • Sicherstellung von SLAs (Definierte Ressourcen je Applikation) OPENSHIFT LIEFERT EINE VIELZAHL FERTIGER TEMPLATES • JBoss EAP, Wildfly • Nginx oder Apache HTTP Server • MySQL, MongoDB, PostgreSQL • …
  • 15. DEMO
  • 16. 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 16OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum
  • 17. GitLab Architektur OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 17 Redis All connections use Unix sockets unless noted otherwise; © gitlab.com SSH HTTP HTTPS TCP 8080 GitLab Shell GitLab Workhorse Unicorn (GitLab Rails) TCP 22 TCP 80, 443 NGINX GitLab Pages TCP 800 GitalyRedis PostgreSQL Sidekiq (GitLab Rails)
  • 18. 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 Günzel / Griesbaum OpenShift und GitLab: Continuous Delivery in der Cloud 18
  • 19. GitLab CI Architektur (klassisch) Branch erstellen Feature entwickeln GitLabIssue anlegen 1 2 git push 3 Build Pipeline trigger 4 gitlab- runner(s) delegieren 6 5 Monitor 8 Build via FS, ssh, docker Ziel- umgebung deploy 7 OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 19
  • 20. GitLab CI Architektur (dynamische Runner in OpenShift) Branch erstellen Feature entwickeln GitLabIssue anlegen git push Pipeline trigger delegieren 7 OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 20 Monitor Monitor 7 OpenShift container pro stage (docker, kubernetes) Build & deploy 6 runner gitlab-runner(s) 1 2 3 4 5
  • 21. GitLab CI Architektur (OpenShift) Branch erstellen Feature entwickeln Pipeline trigger runner gitlab-runner(s) delegieren OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 21 Monitor Monitor OpenShift container pro stage (docker, kubernetes) Issue anlegen GitLab git push 1 2 4 7 7 3 5 Build & deploy 6
  • 22. GitLab CI extended OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 22 ANBINDUNG AN KUBERNETES/ OPENSHIFT REVIEW APPS • Anwendung bei Merge Request live ansehen und validieren • Anwendung nach Merge automatisch herunterfahren • Ermöglicht Deployments on-demand MONITORING • Integration von Prometheus zum Monitoring von Applikationen im Cluster
  • 23. DEMO
  • 24. 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
  • 25. Eigenes 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 25 OpenShift Migrationsszenarien (1) Infrastruktur Setup: Applikation in OpenShift Container Platform
  • 26. Eigenes 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 26 OpenShift Migrationsszenarien (2) Infrastruktur Setup: Applikation in OpenShift Online/Dedicated
  • 27. Infrastruktur Entwicklungsumgebung Gitlab SonarQubeNexus Gitlab Runner Infrastruktur Applikation Application Server Datenbank Web Server OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 27 OpenShift Migrationsszenarien (3) Infrastruktur Setup: Entwicklungsumgebung & Applikation in OpenShift Online/Dedicated
  • 28. Fazit Was haben wir erreicht… OpenShift und GitLab: Continuous Delivery in der CloudGünzel / Griesbaum 28 FÜR DEN BETRIEB FÜR DIE ENTWICKLUNGSTEAMS • Einheitliche Plattform für alle Systeme • Schnelles & einheitliches Aufsetzen neuer Systeme • Integriertes & einheitliches Monitoring aller Systeme • Leichte & automatische Skalierung • Kaum Umstellungen notwendig • Review Apps • Produktionsnahes Deployment auf lokalen Entwicklungsmaschinen möglich