SlideShare ist ein Scribd-Unternehmen logo
DevOps-CI/CD-Automatisierung in einem multi-
cloud-Umfeld
Ralf Knobloch, rene Kießig, Jens Großmann
„EinfachEr lEbEn mit
DevOps bEi dEr mmS !!“
Herausforderungen der T-Systems MMS
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 2
Mehr als 2000 Kundenprojekte, Tendenz steigend
Digitalisierung durchdringt alles, neue disruptive Technologien und Geschäftsmodelle
Einsatz unterschiedlichster IT-Technologien
Cloudifizierung
Mehr als 1700 Mitarbeiter, Tendenz steigend
Quadratur des Kreises: In kürzerer Zeit, in höherer Qualität, zu geringeren Kosten
Von Business-Anforderung bis Deployment in Produktion in 1 Stunde
Devops-Framework
Übersicht zu den Bestandteilen.
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 4
SWE-, Test- und Betriebs-Services
Cloud-Plattformen
Infrastruktur-Management Services
Automatisierungslogik
(individuell implementierte durchgängige
Prozessverkettung)
Zusammenfassung aller Best-of-Breed Produkte zur
Unterstützung der Softwareentwicklung, Test und
Betriebsaufgaben. Die Services werden vorwiegend zentral
und nach den erforderlichen SLAs betrieben.
Alle Automatisierungsskripte, Rezepte und Tools werden in
einem Repository für alle Mitarbeiter verfügbar verwaltet und
zur Wiederverwendung zur Verfügung gestellt. Es erfolgt eine
zentrale Architektur-, Integrations-, und Qualitätssicherung
sowie Dokumentation.
Zusammenfassung aller Best-of-Breed Produkte zur
Unterstützung des Infrastrukturbetriebs.
Management und Sourcing der zum Portfolio der MMS
gehörenden Cloud Produkte.
DevOps-Framework
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 5
Automatisierungslogik
(individuell implementierte durchgängige Prozessverkettung)
SWE-, Test- und Betriebs-Services
(Prozess: Requirements-2-Solution-Services)
Cloud-Plattformen - Infrastruktur-Management Services
(Prozess: Requirements-2-Solution-Services)
DevOps-framework – 10 Design-Paradigmen
(10 Gebote)
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 6
Nr. Beschreibung
1. Die Bereitstellung von Komponenten des Frameworks sowie der Update von bereits im Einsatz befindlichen Framework-Komponentenerfolgt automatisiert und
qualitätsgesichert und getestet.
2. Die Bestellung der DevOps-Framework-Komponenten erfolgt über My-Servicein festen Paket-Bundeln. Einzelne do-Services sind später über MyService anpassbar. Die
Architektur, die Nutzerberechtigungen sowie die Anforderungen der zu verwendenden Tools setzen eine Integrationsmöglichkeit in MyService und TALEND voraus.
3. Everything is code (SDx - Software defined everything), alles ist als Sourcecode versionierbar und änderbar.
4. Das DevOps-Framework und seine Komponenten sollen unabhängig von Hardwareanbietern und Cloud-agnostischfunktionieren. Weiterhin sind die einzelnen Services
modular aufgesetzt, so dass diese jeweils in enger Kopplung an Puppet auch einzeln einsetzbar sind.
5. Die Architektur des DevOps-Frameworks folgt dem Grundsatz Security by Design.
6. Die Komponenten des DevOps-Frameworks laufensowohl lokal auf dem lokalen Entwicklungs-PC (Windows7/10, Mac OS) als auch unter VMWARE, AWS, AZURE und
OTC und verhalten sich auf allen Umgebungengleich. DevOps-Framework Entwicklung lokal und in der Cloud ist transparent.
7. Alle genutzte SW ist OSS und Freeware, frei von Nachnutzungsrechten, unsere SW ist potentiell als OSS veröffentlichbar.
8. Als zentrales Konfigurationmanagement wird im DevOps-Framework Puppet eingesetzt. Alle Komponenten des DevOps-Frameworkwerden darüber installiert und
konfiguriert.
9. Das DevOps-Framework soll so einfach und robust wie möglich gebaut werden. Die Nutzung und Erweiterung soll einfachsein.
10. Soviel wie möglich Funktionen sollen über eine Self-Service-Portal Funktionalität zur Verfügung gestellt werden.
Devops – UmsetzungsBeispiele
MMSPuppet-Modul-Template
Best-Practice-Vorlage zum Erstellen
neuer Puppet-Module
Showcase AdobeExperience
Manager
Eine Beispiel-Implementierung des
gesamten DevOps-Frameworks
Eine Auswahl aus dem DevOps-framework
Terraform
Infrastructure as Code
1
DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 06.04.2017 7
8
Puppet = IT – Infrastruktur –
Programmierung
DevDay 2017| Dresden4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 06.04.2017 8
Puppet-Entwicklung
DevDay 2017| Dresden4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 906.04.2017
Module sind Bausteine
MMS Puppet-Modul-Template
DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 1006.04.2017
Das Problem
Puppet ist toll, aber: wieschreibe ich gute Puppet-
Module?
Wie kann ich meinen Puppet-Code testen?
Ich bindoch nicht der erste, der ein Puppet-Modul für X
braucht!
MMS Puppet-Modul-Template
DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 1106.04.2017
Die Lösung
Einfacher Befehl: puppet module generate
Unit- und Integrationstests fertig konfiguriert
Lokale, unabhängige Entwicklungsumgebung
Best Practices der Community &der MMS (Innersource)
MMS Puppet-Modul-Template
DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 1206.04.2017
Unsere Vorteile
Einfacher Start in diePuppet-Modul-Entwicklung
Tests von derersten Zeile Code: Test-Driven Development
Entwicklung ohne Notwendigkeit von Commit/Push
Gemeinsames Arbeiten in MMS und Community dank
Best-Practice-Standard
MMSStandard-VM-
Image
 Hohe Qualität,
Produktionstauglich
 Sicherheit inkl. SoC-
Listen-Antworten
 Einheitliche Basis Dev–
Test–Ops und über alle
Plattformen
MMSPuppet-Modul-
Template
 Puppet-Modul von
Anfang an mit
Qualitätssicherung
 Einheitliche Struktur,
erprobt im DevOps-
Framework und in
AMCS
Business Service
ManagedPuppetmaster
 Puppetmaster als
„Software as a Service“
– wenig Aufwand für
Projekt/Service
 Einheitliche Struktur,
problemloser Übergang
Dev–Test–Ops
Puppet - Unterstützung der Projekte
DevDay 2017| Dresden4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 06.04.2017 13
Devops – UmsetzungsBeispiele
1406.04.2017
MMSPuppet-Modul-Template
Best-Practice-Vorlage zum Erstellen
neuer Puppet-Module
Showcase AdobeExperience
Manager
Eine Beispiel-Implementierung des
gesamten DevOps-Frameworks
Eine Auswahl aus dem DevOps-framework
Terraform
Infrastructure as Code
2
DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“
DevOps mit TerRaform
CoDE Once in every Cloud Run‘s
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 15
 Anforderungen
• Vier Cloudplattformen (AWS, Azure, Openstack, VMWARE) sollen mit Infrastruktur as Code mit
einem Tool als N-Tier-Architektur autoskalierbar ansteuerbar sein
• Templatefähig, Code soll als GIT-Repo wiederverwendbar sein
• Das Tool soll kein zusätzliches Geld kosten
• Leicht nachnutzbar
Tool-Auswahlzwischencloudify,sparkleformation,terraform
• Terraform: Ein Infrastruktur-Steuerungstool von Hashicorp (vagrant, u.a.)
DevOps mit TerRaform
CoDE Once in every Cloud Run‘s
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 16
 AutoscalierendeDrei-Tier-ArchitektureinerKundenapplikationamBeispielAWS
DevOps mit TerRaform
CoDE Once in every Cloud Run‘s
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 17
 Terraform
• Resource Graph: terraform graph | dot –Tpng > demo.png
18
Terraform
• Vereinigte Syntax für alle Infrastrukturen
terraform
AWS
AZURE
OTC
VMWARE*
*Bei VMWARE ist VREALIZE und NSX notwendig
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 18
DevOps mit TerRaform
CoDE Once in every Cloud Run‘s
Devops – UmsetzungsBeispiele
1906.04.2017
MMSPuppet-Modul-Template
Best-Practice-Vorlage zum Erstellen
neuer Puppet-Module
Showcase AdobeExperience
Manager
Eine Beispiel-Implementierung des
gesamten DevOps-Frameworks
Eine Auswahl aus dem DevOps-framework
Terraform
Infrastructure as Code
3
DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“
DevOps – Adobe experience Manager
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 20
 Ziel
• Es sollen Entwicklungs-, Test- und Betriebsumgebungen für Adobe Experience Manager Projekte
automatisiert nach dem DevOps@MMS-Vorgehen "per Knopdruck" bereitgestellt werden.
Umfang
• die Bereitstellung der CI-Infrastruktur (Jenkins, Source Code Verwaltung)
• die Bereitstellung einer lokalen/zentralen Entwicklungs- und Testumgebung im MMSLAN sowie
einer oder mehrerer Betriebsumgebung in einer Cloud (z.B. Amazon Web Services)
• das Deployment der Entwicklungs- und Betriebsumgebungen erfolgt aus der gleichen Quelle
und mit den gleichen Prozessen (inkl. Konfigurationsmanagement)
• die Umetzung des Konzeptes für automatisierte Tests
• die Integration von Collaborationtools zu Anforderungsmanagement, Issue- und Bugtracking,
Dokumentation, Reports
DevOps - Adobe experience Manager
Showcase Content-management-plattform
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 21
CODE Entwicklung TEST Transition
Dev Cloud Test Cloud Preprod- Cloud
Produktion- Cloud
Commit
Betrieb
AWSVMWARE bei MMS
Local Dev
Webhook -> Build
Webhook -> Compile
Servicecatalog
Puppet-Run
Puppet-Run
Puppet-Run
Puppet-Run
Build
Build / Deploy
Build / Deploy
Local Commit
Local Build
Local Puppet Run
Plan
Entwickler PC
Build / Deploy
DevOps – Framework
Ausblick
Industrialisierung mittels
Automatisierung von Entwicklung, Test
und Betrieb ist notwendig um die
Unternehmensziele der MMS zu
erreichen
 Ausbau der Multi-Cloud-Fähigkeit
 Funktionen für automatische Anonymisierung und
Pseudonymisierung (gemäß den Anforderungen des BSI)
 Komplette automatische Verkettung der einzelnen Schritte in
Entwicklung, Test und Betrieb
 Zentrales Lifecycle Management inklusive Versionierung und
Release-Steuerung für IaaS/PaaS-Stack-Umgebungen,
Container -Services
 Such- und Evaluierungs-Funktion für Software Pattern,
Sourcecode Artefakte und UML-Diagramme für die
Wiederverwendung von bereits gelösten Problemen –
Vermeidung „reiventing the wheel“
 Integration von weiteren Test-Automatisierungsplattformen
 Robotic Process Automation durch Einsatz von KI im Betrieb
06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 22
Fragen ?
Rene Kießig
Entwickler/Buildmanager
Rene.Kiessig@t-systems.com
Ralf Knobloch
Principal DevOps Architekt
Ralf.Knobloch@t-systems.com
Jens Großmann
Buildmanager
Jens.Grossmann@t-systems.com
DevDay 2017| Dresden4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 06.04.2017 23

Weitere ähnliche Inhalte

Was ist angesagt?

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
Christian Baranowski
 
Gruppenarbeit Filesharing
Gruppenarbeit FilesharingGruppenarbeit Filesharing
Gruppenarbeit Filesharing
tim_mario
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
Christian Baranowski
 

Was ist angesagt? (20)

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Continuous Delivery @ FriendScout24 | Webinale 2012
Continuous Delivery @ FriendScout24 | Webinale 2012Continuous Delivery @ FriendScout24 | Webinale 2012
Continuous Delivery @ FriendScout24 | Webinale 2012
 
DevOps Meetup Freiburg - DevOps in Practice
DevOps Meetup Freiburg - DevOps in PracticeDevOps Meetup Freiburg - DevOps in Practice
DevOps Meetup Freiburg - DevOps in Practice
 
Serverless Survival Guide
Serverless Survival GuideServerless Survival Guide
Serverless Survival Guide
 
Devops ohne root
Devops ohne rootDevops ohne root
Devops ohne root
 
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
 
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!“
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
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...
 
Verteidigung - "Migration zu Kubernetes: Anforderungen, Umsetzung und Auswert...
Verteidigung - "Migration zu Kubernetes: Anforderungen, Umsetzung und Auswert...Verteidigung - "Migration zu Kubernetes: Anforderungen, Umsetzung und Auswert...
Verteidigung - "Migration zu Kubernetes: Anforderungen, Umsetzung und Auswert...
 
Gruppenarbeit Filesharing
Gruppenarbeit FilesharingGruppenarbeit Filesharing
Gruppenarbeit Filesharing
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
DevOps: Revolution im IT Betrieb?
DevOps: Revolution im IT Betrieb?DevOps: Revolution im IT Betrieb?
DevOps: Revolution im IT Betrieb?
 
Seafile auf einen Blick
Seafile auf einen BlickSeafile auf einen Blick
Seafile auf einen Blick
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 

Andere mochten auch

Andere mochten auch (6)

DevDay 2017: Christof Fetzer - SCONE: Secure Linux Container Environments wit...
DevDay 2017: Christof Fetzer - SCONE: Secure Linux Container Environments wit...DevDay 2017: Christof Fetzer - SCONE: Secure Linux Container Environments wit...
DevDay 2017: Christof Fetzer - SCONE: Secure Linux Container Environments wit...
 
DevDay 2017: Marc Rohlfs - Maven-Projekte mit Gitflow über Jenkins steuern
DevDay 2017: Marc Rohlfs - Maven-Projekte mit Gitflow über Jenkins steuernDevDay 2017: Marc Rohlfs - Maven-Projekte mit Gitflow über Jenkins steuern
DevDay 2017: Marc Rohlfs - Maven-Projekte mit Gitflow über Jenkins steuern
 
DevDay 2017: Daniel Meixner - Von 0 auf DevOps
DevDay 2017: Daniel Meixner - Von 0 auf DevOpsDevDay 2017: Daniel Meixner - Von 0 auf DevOps
DevDay 2017: Daniel Meixner - Von 0 auf DevOps
 
DevDay 2017: Karen Otte - Augmented Medicine - On Using Kinect and Hololens i...
DevDay 2017: Karen Otte - Augmented Medicine - On Using Kinect and Hololens i...DevDay 2017: Karen Otte - Augmented Medicine - On Using Kinect and Hololens i...
DevDay 2017: Karen Otte - Augmented Medicine - On Using Kinect and Hololens i...
 
DevDay 2017: Johannes Nicolai - How GitHub uses GitHub to design, develop and...
DevDay 2017: Johannes Nicolai - How GitHub uses GitHub to design, develop and...DevDay 2017: Johannes Nicolai - How GitHub uses GitHub to design, develop and...
DevDay 2017: Johannes Nicolai - How GitHub uses GitHub to design, develop and...
 
DevDay 2017: Ulrich Deiters - Empathie und Sympathie in der Softwareentwicklung
DevDay 2017: Ulrich Deiters - Empathie und Sympathie in der SoftwareentwicklungDevDay 2017: Ulrich Deiters - Empathie und Sympathie in der Softwareentwicklung
DevDay 2017: Ulrich Deiters - Empathie und Sympathie in der Softwareentwicklung
 

Ähnlich wie DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - DevOps-CI/CD-Automatisierung in einem Multi-Cloud-Umfeld

Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue Schwarz
QAware GmbH
 

Ähnlich wie DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - DevOps-CI/CD-Automatisierung in einem Multi-Cloud-Umfeld (20)

Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue Schwarz
 
Modernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesenModernisierung in Zeiten wie diesen
Modernisierung in Zeiten wie diesen
 
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.
 
Creating a customer centric travel-Commerce experience
Creating a customer centric travel-Commerce experienceCreating a customer centric travel-Commerce experience
Creating a customer centric travel-Commerce experience
 
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
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
Übersetzungsproduktivität: Der nächste Schritt
Übersetzungsproduktivität: Der nächste SchrittÜbersetzungsproduktivität: Der nächste Schritt
Übersetzungsproduktivität: Der nächste Schritt
 
Config as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeConfig as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as Code
 
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
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOps
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
 
Nanoservice Architekturen
Nanoservice ArchitekturenNanoservice Architekturen
Nanoservice Architekturen
 
Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"Using openArchitectureWare 4.0 in domain "registration"
Using openArchitectureWare 4.0 in domain "registration"
 
Microservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary PatternMicroservices und das Entity Control Boundary Pattern
Microservices und das Entity Control Boundary Pattern
 
Devops
DevopsDevops
Devops
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Was braucht ein DevOps-Team von einem DevOps? DevOps4DevOps
Was braucht ein DevOps-Team von einem DevOps? DevOps4DevOpsWas braucht ein DevOps-Team von einem DevOps? DevOps4DevOps
Was braucht ein DevOps-Team von einem DevOps? DevOps4DevOps
 

Mehr von DevDay Dresden

Mehr von DevDay Dresden (20)

The Architecture of Uncertainty - Kevlin Henney
The Architecture of Uncertainty - Kevlin HenneyThe Architecture of Uncertainty - Kevlin Henney
The Architecture of Uncertainty - Kevlin Henney
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
 
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-ProjektenTobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
 
Andreas Roth - GraphQL erfolgreich im Backend einsetzen
Andreas Roth - GraphQL erfolgreich im Backend einsetzenAndreas Roth - GraphQL erfolgreich im Backend einsetzen
Andreas Roth - GraphQL erfolgreich im Backend einsetzen
 
Alexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for DevelopersAlexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for Developers
 
DevDay 19 Accessibility: Praxistipps für Entwickler
DevDay 19 Accessibility: Praxistipps für EntwicklerDevDay 19 Accessibility: Praxistipps für Entwickler
DevDay 19 Accessibility: Praxistipps für Entwickler
 
Dev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
Dev Day 2019: Phillip Krenn – Aggregierte Logging PatternsDev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
Dev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
 
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
 
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
 
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
 
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
 
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
 
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
 
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-TeamsDev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
 
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den RadverkehrDev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
 
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
 
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
 
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
 
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
 

DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - DevOps-CI/CD-Automatisierung in einem Multi-Cloud-Umfeld

  • 1. DevOps-CI/CD-Automatisierung in einem multi- cloud-Umfeld Ralf Knobloch, rene Kießig, Jens Großmann „EinfachEr lEbEn mit DevOps bEi dEr mmS !!“
  • 2. Herausforderungen der T-Systems MMS 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 2 Mehr als 2000 Kundenprojekte, Tendenz steigend Digitalisierung durchdringt alles, neue disruptive Technologien und Geschäftsmodelle Einsatz unterschiedlichster IT-Technologien Cloudifizierung Mehr als 1700 Mitarbeiter, Tendenz steigend Quadratur des Kreises: In kürzerer Zeit, in höherer Qualität, zu geringeren Kosten Von Business-Anforderung bis Deployment in Produktion in 1 Stunde
  • 3.
  • 4. Devops-Framework Übersicht zu den Bestandteilen. 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 4 SWE-, Test- und Betriebs-Services Cloud-Plattformen Infrastruktur-Management Services Automatisierungslogik (individuell implementierte durchgängige Prozessverkettung) Zusammenfassung aller Best-of-Breed Produkte zur Unterstützung der Softwareentwicklung, Test und Betriebsaufgaben. Die Services werden vorwiegend zentral und nach den erforderlichen SLAs betrieben. Alle Automatisierungsskripte, Rezepte und Tools werden in einem Repository für alle Mitarbeiter verfügbar verwaltet und zur Wiederverwendung zur Verfügung gestellt. Es erfolgt eine zentrale Architektur-, Integrations-, und Qualitätssicherung sowie Dokumentation. Zusammenfassung aller Best-of-Breed Produkte zur Unterstützung des Infrastrukturbetriebs. Management und Sourcing der zum Portfolio der MMS gehörenden Cloud Produkte.
  • 5. DevOps-Framework 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 5 Automatisierungslogik (individuell implementierte durchgängige Prozessverkettung) SWE-, Test- und Betriebs-Services (Prozess: Requirements-2-Solution-Services) Cloud-Plattformen - Infrastruktur-Management Services (Prozess: Requirements-2-Solution-Services)
  • 6. DevOps-framework – 10 Design-Paradigmen (10 Gebote) 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 6 Nr. Beschreibung 1. Die Bereitstellung von Komponenten des Frameworks sowie der Update von bereits im Einsatz befindlichen Framework-Komponentenerfolgt automatisiert und qualitätsgesichert und getestet. 2. Die Bestellung der DevOps-Framework-Komponenten erfolgt über My-Servicein festen Paket-Bundeln. Einzelne do-Services sind später über MyService anpassbar. Die Architektur, die Nutzerberechtigungen sowie die Anforderungen der zu verwendenden Tools setzen eine Integrationsmöglichkeit in MyService und TALEND voraus. 3. Everything is code (SDx - Software defined everything), alles ist als Sourcecode versionierbar und änderbar. 4. Das DevOps-Framework und seine Komponenten sollen unabhängig von Hardwareanbietern und Cloud-agnostischfunktionieren. Weiterhin sind die einzelnen Services modular aufgesetzt, so dass diese jeweils in enger Kopplung an Puppet auch einzeln einsetzbar sind. 5. Die Architektur des DevOps-Frameworks folgt dem Grundsatz Security by Design. 6. Die Komponenten des DevOps-Frameworks laufensowohl lokal auf dem lokalen Entwicklungs-PC (Windows7/10, Mac OS) als auch unter VMWARE, AWS, AZURE und OTC und verhalten sich auf allen Umgebungengleich. DevOps-Framework Entwicklung lokal und in der Cloud ist transparent. 7. Alle genutzte SW ist OSS und Freeware, frei von Nachnutzungsrechten, unsere SW ist potentiell als OSS veröffentlichbar. 8. Als zentrales Konfigurationmanagement wird im DevOps-Framework Puppet eingesetzt. Alle Komponenten des DevOps-Frameworkwerden darüber installiert und konfiguriert. 9. Das DevOps-Framework soll so einfach und robust wie möglich gebaut werden. Die Nutzung und Erweiterung soll einfachsein. 10. Soviel wie möglich Funktionen sollen über eine Self-Service-Portal Funktionalität zur Verfügung gestellt werden.
  • 7. Devops – UmsetzungsBeispiele MMSPuppet-Modul-Template Best-Practice-Vorlage zum Erstellen neuer Puppet-Module Showcase AdobeExperience Manager Eine Beispiel-Implementierung des gesamten DevOps-Frameworks Eine Auswahl aus dem DevOps-framework Terraform Infrastructure as Code 1 DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 06.04.2017 7
  • 8. 8 Puppet = IT – Infrastruktur – Programmierung DevDay 2017| Dresden4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 06.04.2017 8
  • 9. Puppet-Entwicklung DevDay 2017| Dresden4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 906.04.2017 Module sind Bausteine
  • 10. MMS Puppet-Modul-Template DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 1006.04.2017 Das Problem Puppet ist toll, aber: wieschreibe ich gute Puppet- Module? Wie kann ich meinen Puppet-Code testen? Ich bindoch nicht der erste, der ein Puppet-Modul für X braucht!
  • 11. MMS Puppet-Modul-Template DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 1106.04.2017 Die Lösung Einfacher Befehl: puppet module generate Unit- und Integrationstests fertig konfiguriert Lokale, unabhängige Entwicklungsumgebung Best Practices der Community &der MMS (Innersource)
  • 12. MMS Puppet-Modul-Template DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 1206.04.2017 Unsere Vorteile Einfacher Start in diePuppet-Modul-Entwicklung Tests von derersten Zeile Code: Test-Driven Development Entwicklung ohne Notwendigkeit von Commit/Push Gemeinsames Arbeiten in MMS und Community dank Best-Practice-Standard
  • 13. MMSStandard-VM- Image  Hohe Qualität, Produktionstauglich  Sicherheit inkl. SoC- Listen-Antworten  Einheitliche Basis Dev– Test–Ops und über alle Plattformen MMSPuppet-Modul- Template  Puppet-Modul von Anfang an mit Qualitätssicherung  Einheitliche Struktur, erprobt im DevOps- Framework und in AMCS Business Service ManagedPuppetmaster  Puppetmaster als „Software as a Service“ – wenig Aufwand für Projekt/Service  Einheitliche Struktur, problemloser Übergang Dev–Test–Ops Puppet - Unterstützung der Projekte DevDay 2017| Dresden4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 06.04.2017 13
  • 14. Devops – UmsetzungsBeispiele 1406.04.2017 MMSPuppet-Modul-Template Best-Practice-Vorlage zum Erstellen neuer Puppet-Module Showcase AdobeExperience Manager Eine Beispiel-Implementierung des gesamten DevOps-Frameworks Eine Auswahl aus dem DevOps-framework Terraform Infrastructure as Code 2 DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“
  • 15. DevOps mit TerRaform CoDE Once in every Cloud Run‘s 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 15  Anforderungen • Vier Cloudplattformen (AWS, Azure, Openstack, VMWARE) sollen mit Infrastruktur as Code mit einem Tool als N-Tier-Architektur autoskalierbar ansteuerbar sein • Templatefähig, Code soll als GIT-Repo wiederverwendbar sein • Das Tool soll kein zusätzliches Geld kosten • Leicht nachnutzbar Tool-Auswahlzwischencloudify,sparkleformation,terraform • Terraform: Ein Infrastruktur-Steuerungstool von Hashicorp (vagrant, u.a.)
  • 16. DevOps mit TerRaform CoDE Once in every Cloud Run‘s 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 16  AutoscalierendeDrei-Tier-ArchitektureinerKundenapplikationamBeispielAWS
  • 17. DevOps mit TerRaform CoDE Once in every Cloud Run‘s 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 17  Terraform • Resource Graph: terraform graph | dot –Tpng > demo.png
  • 18. 18 Terraform • Vereinigte Syntax für alle Infrastrukturen terraform AWS AZURE OTC VMWARE* *Bei VMWARE ist VREALIZE und NSX notwendig 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 18 DevOps mit TerRaform CoDE Once in every Cloud Run‘s
  • 19. Devops – UmsetzungsBeispiele 1906.04.2017 MMSPuppet-Modul-Template Best-Practice-Vorlage zum Erstellen neuer Puppet-Module Showcase AdobeExperience Manager Eine Beispiel-Implementierung des gesamten DevOps-Frameworks Eine Auswahl aus dem DevOps-framework Terraform Infrastructure as Code 3 DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“
  • 20. DevOps – Adobe experience Manager 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 20  Ziel • Es sollen Entwicklungs-, Test- und Betriebsumgebungen für Adobe Experience Manager Projekte automatisiert nach dem DevOps@MMS-Vorgehen "per Knopdruck" bereitgestellt werden. Umfang • die Bereitstellung der CI-Infrastruktur (Jenkins, Source Code Verwaltung) • die Bereitstellung einer lokalen/zentralen Entwicklungs- und Testumgebung im MMSLAN sowie einer oder mehrerer Betriebsumgebung in einer Cloud (z.B. Amazon Web Services) • das Deployment der Entwicklungs- und Betriebsumgebungen erfolgt aus der gleichen Quelle und mit den gleichen Prozessen (inkl. Konfigurationsmanagement) • die Umetzung des Konzeptes für automatisierte Tests • die Integration von Collaborationtools zu Anforderungsmanagement, Issue- und Bugtracking, Dokumentation, Reports
  • 21. DevOps - Adobe experience Manager Showcase Content-management-plattform 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 21 CODE Entwicklung TEST Transition Dev Cloud Test Cloud Preprod- Cloud Produktion- Cloud Commit Betrieb AWSVMWARE bei MMS Local Dev Webhook -> Build Webhook -> Compile Servicecatalog Puppet-Run Puppet-Run Puppet-Run Puppet-Run Build Build / Deploy Build / Deploy Local Commit Local Build Local Puppet Run Plan Entwickler PC Build / Deploy
  • 22. DevOps – Framework Ausblick Industrialisierung mittels Automatisierung von Entwicklung, Test und Betrieb ist notwendig um die Unternehmensziele der MMS zu erreichen  Ausbau der Multi-Cloud-Fähigkeit  Funktionen für automatische Anonymisierung und Pseudonymisierung (gemäß den Anforderungen des BSI)  Komplette automatische Verkettung der einzelnen Schritte in Entwicklung, Test und Betrieb  Zentrales Lifecycle Management inklusive Versionierung und Release-Steuerung für IaaS/PaaS-Stack-Umgebungen, Container -Services  Such- und Evaluierungs-Funktion für Software Pattern, Sourcecode Artefakte und UML-Diagramme für die Wiederverwendung von bereits gelösten Problemen – Vermeidung „reiventing the wheel“  Integration von weiteren Test-Automatisierungsplattformen  Robotic Process Automation durch Einsatz von KI im Betrieb 06.04.2017DevDay 2017 | Dresden 4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 22
  • 23. Fragen ? Rene Kießig Entwickler/Buildmanager Rene.Kiessig@t-systems.com Ralf Knobloch Principal DevOps Architekt Ralf.Knobloch@t-systems.com Jens Großmann Buildmanager Jens.Grossmann@t-systems.com DevDay 2017| Dresden4. April 2017 | „Einfacher leben mit DevOps bei der MMS !!“ 06.04.2017 23