devops on ibm z systems - cwi gruppe - devops on...2018/10/04 · continuous delivery continuous...
TRANSCRIPT
DEVOPS ON IBM Z SYSTEMS
AGILE SOFTWAREENTWICKLUNG AM MAINFRAME – EIN WIDERSPRUCH
ING. ALEXANDER L. PAWLIK
04. OKTOBER 2018
www.cwi.at 3
▪ DEVelopment/OPerationS
▪ 2009 Patrick Debois veranstaltet erstmals die "DevOpsDays" in Gent
▪ Wurzeln liegen im "agilen Manifest" 2001
Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen. Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:
Individuen und Interaktionen mehr als Prozesse und WerkzeugeFunktionierende Software mehr als umfassende DokumentationZusammenarbeit mit dem Kunden mehr als VertragsverhandlungReagieren auf Veränderung mehr als das Befolgen eines Plans
Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden,schätzen wir die Werte auf der linken Seite höher ein.
DEVOPSBEGRIFFSBESTIMMUNG
www.cwi.at 4
EVOLUTION
DEVOPS
www.cwi.at 5
▪ Continuous Integration
▪ Continuous Delivery
▪ Continuous Testing
▪ Continuous Feedback
▪ Continuous Monitoring
DEVOPS – C5
www.cwi.at 6
▪ SCRUM
Zyklus von 2-4 Wochen
DevOps ermöglicht rasche Bereitstellung am Zyklusende
▪ KANBAN
Zyklus von 24 Stunden
DevOps ermöglicht Bereitstellung in Minuten
DEVOPSUNTERSTÜTZUNG FÜR DIE AGILE SOFTWAREENTWICKLUNG
www.cwi.at 7
▪ PLAN
Planung vor der Umsetzung
▪ DO
Test/Optimierung
▪ CHECK
Überprüfung/Freigabe
▪ ACT
Einsatz/Audit
DEVOPS KONTINUIERLICHE VERBESSERUNG MITTELS DEMING KREIS
www.cwi.at 8
▪ Entwicklung (Agile Development)
Entwickeln lokal oder remote
Sollten gegen "Echtsysteme" automatisiert testen
Tauschen sich gegenseitig aus
▪ Revisions/Kontrollsystem
Source Management
Build Server (Continuous Integration)
Artifact Repository
▪ Testumgebungen (Continuous Delivery, Continuous Testing)
Testautomatisierung, Integrationstest, Staging, Performancetest, ...
▪ Release-Management
▪ Betrieb (Continuous Monitoring)
Monitoring, Logauswertungen, ...
DEVOPSVOGELPERSPEKTIVE
www.cwi.at 9
▪ Änderungsantrag in der SW-Entwicklung eingelangt
▪ SW-Team teilt den Antrag in kleinere Änderungsmengen auf
▪ Erste Änderung wird von einem Entwickler lokal entwickelt und lokal getestet
▪ Entwickler übergibt die Änderungen an das Revisions/Kontrollsystem
▪ Das Build-System übernimmt die Änderung und erzeugt eine neue Version.
▪ Nach einem automatisierten Unit-Test wird die Änderung in das Binär-Repository übernommen
▪ Das Configurations-Management-System erkennt die Änderung und verteilt sie in die Integrationsumgebung
▪ In der Integrationsumgebung werden entsprechende Regressionstests automatisiert gestartet. Danach erfolgen die manuellen Tests des QA-Teams
▪ Nach Freigabe durch QA wird die Änderung in Produktion übernommen
DEVOPSEIN MÖGLICHER WEG
www.cwi.at 10
▪ Datenbank-Änderungen (Schema, Tabellen, ...)
▪ Fehlende oder fehlerhafte Testdaten
▪ Personenbezogene Deployment-Prozesse
▪ Monolithische Software
▪ ...
DEVOPSUND DIE FLASCHENHÄLSE ...
www.cwi.at 11
DEVOPSKANN AUCH NICHT IMMER FUNKTIONIEREN ...
www.cwi.at 12
▪ Automatisierung von DB-Änderungen
▪ "Rolling Updates" – "Zero Downtime"
▪ "Aufwärtskompatibilität" vs. "Abwärtskompatibilität"
▪ Vom Monolith zu Micro-Services
„Organisationen, die Systeme entwerfen, […] sind auf Entwürfe festgelegt, welche die Kommunikationsstrukturen dieser Organisationen abbilden.“
(Kelvin Edward Conway, 1968)
DEVOPSDIE REISE GEHT WEITER ...
www.cwi.at 13
▪ IBM Jazz Plattform
IBM Rational Doors Next Generation
IBM Rational Team Concert
IBM Rational Quality Manager
▪ Urban Code
IBM Urban Code Deploy
IBM Urban Code Release
IBM Urban Code Build
▪ IBM Developer for z
▪ Rational Business Developer
▪ …
TOOLKATALOGDIE REISE GEHT WEITER ...
www.cwi.at 14
SCHWERPUNKTEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG - TEAMARBEIT
www.cwi.at 15
RATIONAL ANSATZTIEFENWIRKUNG
www.cwi.at 16
RATIONAL TEAM CONCERTÜBERBLICK
QueryStorage
Collaboration
Discovery
Administration: Users, projects,
process
JAZZ SERVICESErweiterung
Erweiterung
Rational Developer for z
Rational Software Architect
Rational Systems Developer
Rational Business Developer
Rational Developer for Power
IDE Clients Web Clients
Visual Studio
Enterprise Clients Rational Desktop Clients
Rational Team Concert
Web 2.0Eclipse
Best Practices
Presentation:Mashups
ISPF
Your Extensions
IBM Rational ExtensionsWindows Linux AIX Solaris
IBM i on Power Linux for System z z/OS zEnterprise
Jazz Team Server
www.cwi.at 17
RATIONAL TEAM CONCERTÜBERBLICK
Jazz Team Server
▪Wiederverwendbarkeit durchKomponenten
▪“Change Sets”, “Sandboxes”
▪Einbindung SVN, Git, ClearCase oder Synergy
möglich
SCM Arbeitselemente▪Fehler, Verbesserungen
▪Auswertungen über alleArbeitselemente
▪4-Augen-Prinzip möglich
▪Leichte Anpassbarkeit
▪Verbindung mit ClearQuestoder Change möglich
▪“Work item” & “change set” “traceability”
▪Build-Definitionen für das Team oder persönlich
▪Lokaler oder entfernter Build
▪“continuous integration”
▪Integration mit Build Forge
Build
Planung▪Release/Iterationsplanung
▪Aufwandsschätzung & & Fortschrittsanzeige
▪Prozess-Templates – formal oder agil
Projekt-Transparenz▪ Adaptierbare “Dashboards”
▪ Metriken & Reports in Echtzeit
▪ Meilensteine & Statusüberprüfung
Windows Linux AIX Solaris
IBM i on Power Linux for System z z/OS zEnterprise
www.cwi.at 18
RATIONAL TEAM CONCERTLIZENZIERUNG
www.cwi.at 19
▪ 7 Entwickler
▪ Klassisches “Check-in“/“Check-out“
▪ Bestehendes „Meldewesen”
Defects
Verbesserungen
Neuerungen
▪ Keine Aufzeichnungen über die Änderungen je „Projekt“ vorhanden
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 1
www.cwi.at 20
▪ Windows 7 64-bit
Intel i5, 2 GB Hauptspeicher
▪ DB2 Express-C 9.7.2 64-bit
▪ Apache TomCat 5.5.30 64-bit
▪ Rational Team Concert 3.0
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 1
www.cwi.at 21
▪ Administration
▪ Team awareness
▪ Work item tracking
▪ Source Control
▪ Nicht in Verwendung
Planning
Continuous Builds
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 1
www.cwi.at 22
▪ IBM i (OS 5.4)
12.000 Programmdateien (COBOL, PL/I)
▪ ADM für die Softwareverteilung im Einsatz
▪ Lotus Notes für Ticket-, Vorfall- und Fehlermanagement (Workflow-basierend)
▪ „Staging“ bei der Programmübergabe
Entwicklung -> User-Akzeptanz -> Produktion
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 2
www.cwi.at 23
▪ Der erste Schritt
Umstieg auf moderne Entwicklungsumgebung
Rational Developer für Power Systems 7.6
„1:1“- Umstellung der aktuellen Lösung
Team Concert for Power Systems Software 2.0
▪ Der zweite Schritt
Migration auf RDp 8.0
Migration auf Rational TeamConcert 3.0
Prozessvereinfachung – „weniger ist mehr“
Neuer Ansatz beim Build der Anwendung
▪ Der dritte Schritt
Rational Team Concert unter Linux – nur mehr Datenbank auf IBM I
Integration des externen Ticketing-Systems in den Build der Anwendung
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 2
www.cwi.at 24
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 2
www.cwi.at 25
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 2
RTC PRODUCTION STREAM
TEST INTEGRATION PRODUCTIONPERSONAL
B
RTC INTEGRATION STREAM
RTC DEVELOPMENT STREAM
B
B
B
B B B
www.cwi.at 26
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 2
RTC DEVELOPMENT STREAM
TEST INTEGRATION PRODUCTIONPERSONAL
B
B
B B B
RTC BUILD SERVERPart List
www.cwi.at 27
▪ IBM i (OS 6.1)
3.000 Programmdateien (RPG)
▪ „Individuelle“ Softwareverwaltung
▪ Direktzugriff auf die Produktion
▪ Ein-Maschinen-Konzept
▪ tlw. RDP Version 6 im Einsatz
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 3
www.cwi.at 28
▪ Der erste Schritt
Mehr-Maschinen-Konzept
Kein Entwicklerzugriff auf die Produktionsmaschine
Einheitliche Verwendung von RDp 8.0
▪ Der zweite Schritt
Einsatz von Rational TeamConcert 3.01
Einführung eines Übergabeprozesses
Neuer Ansatz beim Build der Anwendung
Nutzung/Verwendung der Planungswerkzeuge
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 3
www.cwi.at 29
▪ “Ticketing-System” für Unternehmen mit weltweiten Niederlassungen
▪ Statistiken über Fehlerhäufigkeit, Anzahl der gemeldeten Tickets pro Niederlassung, “Zeitfresser”
▪ Strukturierte, prozessgesteuerte Abwicklung
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 4
www.cwi.at 31
▪ Embedded Development
▪ Überführung von Wasserfall nach SCRUM
▪ Weltweit ca. 2600 RTC-Benutzer
▪ Einführung von RTC, Eclipse
Agile Planung
Agile Softwareentwicklung
Continuous Integration
▪ Schulung/Dokumentation/Beratung
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 5
www.cwi.at 34
PRAXISBEISPIELE
OEM1OEM1
CORE
Dev-Stream
Snapshot Sprint 1
Snapshot Sprint 2
Snapshot Sprint 3
Snapshot RELEASE
Release-
Stream
Fix-Stream
Release
OEM1, …
Core
Stream
Snapshot Sprint 4
Snapshot Sprint 5
Snapshot Sprint 6
Snapshot RELEASE
Binary Stream
Integration-
Stream
www.cwi.at 35
▪ Host-Entwicklung
▪ Ca. 360 Entwickler
▪ Ca. 36.000 PL/I-Sourcen
▪ Schrittweise Einführung mit “Ko-Existenz”
▪ Anbindung an bestehende Systeme
ClearQuest
Innovator
Host-Utilities (z. B. Programmreservierung)
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 6
www.cwi.at 36
Änderungskonfiguration
Realisierungsauftrag Fehlerauftrag
TaskTaskTaskTaskTaskTaskTaskTask
PRAXISBEISPIELEMODERNISIERUNG DER ANWENDUNGSENTWICKLUNG – BEISPIEL 6
www.cwi.at 43
PRAXISBEISPIELE
Fachtest
Vorproduktion
Produktion UebergabePR
DE
T7
TS
TF
TGTH
PROD
INT
FT
Team-Build
Team-Build
Team-Build
EntwicklungProjekte T7Team-Build
User XUser-Build (Debug)
www.cwi.at 44
▪ Der Weg ist das Ziel ...
▪ Hinterfragung des bisherigen Prozesses
“1:1”-Übernahme meistens nicht sinnvoll
▪ Aufbau einer “Sandbox”
Rasche Überprüfung der Konzepte möglich
▪ Rascher Start
Schrittweise Nutzung der Funktionalität
▪ Sanfter, aber bestimmter Umstieg
„Die Genialität einer Konstruktion liegt in ihrer Einfachheit. Kompliziert bauen kann jeder.“
(Sergej P. Koroljow)
ZUSAMMENFASSUNG
www.cwi.at 45
ING. ALEXANDER L. PAWLIKGESCHÄFTSFÜHRER
CWI SOFTWAREMIGRATIONS GMBH
NORDWESTBAHNSTR. 8-10/2. STOCK
1200 WIEN
T: +43 (1) 240 90 55 – 11
F: +43 (1) 240 90 55 – 55
M: +43 (676) 840 900 200
FRAGEN ?