Stell Dir vor: Du willst einen 6000er besteigen. Eine gute Vorbereitung, gutes Material und professionelles Wissen sind dabei unabdingbar.
Du schnappst Dir einen Berg-Guide, der Dich bei schwierigen Passagen unterstützt und Dir das passende Know-How weitergibt. Das schwere Material kannst Du auf ein Team aufteilen, das genau weiss, welche Pakete Du am sinnvollsten schnürst. Sie zeigen Dir zudem, welchen unnötigen Ballast Du abwerfen kannst.
Am Ende stehst Du am Ziel – Dich erwartet ein grossartiges Resultat und die Zufriedenheit des Vollbrachten.
Genau so fühlt sich die Reise Deiner Legacy Applikation an.
Im Webinar zeigen Dir die drei Partnerfirmen Object Engineering, Puzzle und VSHN, wie Du Deine Applikationen fit hältst. Dabei geben sie Dir einen Einblick, wie Experten die Applikationen analysieren, aufpeppen und den Betrieb sicherstellen können.
4. Ist deine Applikation ready für die Zukunft?
Modularisierung, Modernisierung & Containerisierung einer Applikation
● Support & juristische Sicherheit: Tech-Stack und End-of-Life Drittbibliotheken aktualisieren
● Security
● Skalierbarkeit
● Entwicklungs- und Deployment-Prozesse vereinfachen
● Höhere Qualität & schnellere Entwicklungsgeschwindigkeit
○ Einfachere Handhabung beim Entwickeln & Testen (Umgebung lokal aufsetzbar,
Integrationstests während Build)
○ Einfacher zu Warten, da weniger Abhängigkeiten
● Schnellere Software-Lieferzyklen (Time to Market)
● Infrastruktur Unabhängigkeit
● Im eigenen RZ, in der Cloud, oder mit einer hybrid Lösung
Ziel: «Bestehende Applikation fit für die Zukunft machen, um diese weitere
Jahre sicher und geschützt betreiben zu können»
5. Wie entstehen
Legacy-Applikationen?
● Software „zerfällt“ nicht, sie wird praktisch unanpassbar
● Plattformen und Technologien sind laufend Veränderungen unterworfen
● Integration und Flexibilität für Digitalisierung wird behindert
● Schnelle Reaktion auf Marktanforderungen werden verunmöglicht
● Fluktuation/ Pensionierung Personal: Know-How “versickert”
● Betriebskosten steigen schleichend, aber stetig
● Grösstes Risiko oft bei Applikationen, die problemlos laufen
6. Refactoring / Re-Engineering?
SW-Paket
Entwicklung
Betrieb
Anpassungen
Betriebskosten
● Über die Jahre entsteht eine grosse und komplexe Code-Basis
● Wechselnde Entwicklerteams und -Kulturen
● Risiko von überraschendem Totalausfall steigt
● Kosten steigen ins Unermessliche ohne Marktvorteil
“Motto”: «Alles gut – keiner weiss Bescheid!»
Typischer Life-Cycle einer Software-Applikation
7. ● Wissen, was man hat
● Wissen, was man will
wissen, was man nicht mehr will
● Wertvolles erhalten – Unbrauchbares ersetzen!
● Wissen, wie man es tun kann
Legacy-Engineering
Bereite Deine Applikation für die
Zukunft vor!
8. Teilautomatisiertes Vorgehen: Pfad - Finder
Datenquellen
finden
Parsen & Filtern
Metadaten
speichern
Exponenten befragen
Daten sichten,
ergänzen
Knowledge-Base für
Architektur/Design
des Neuen
verwenden,
Migrationsplan
erstellen
Neue Artefakte
automatisiert erstellen
und damit Zeit und
Geld sparen
System visualisieren
9. ● Analyse des Bestehenden (Systemlandschaft oder Applikationen)
● Anforderungen an die modernisierte Umgebung
● Erfahrungen nutzen
● Ziel-Architektur definieren (Modularisierung, Deployment)
● Phasenplan aufstellen
● Effiziente Realisierung durch Automatisieren
Fazit: «Es gibt immer einen vernünftigen, gangbaren Weg
und gute Planung zahlt sich aus!»
… aber wie finde ich den Weg?
10. Modernisierung der Applikation
Methodik/ Vorgehen
● Iteratives-Vorgehen/ Agile Implementation nach Scrum
○ Aufteilung in Sprints & nach jedem Sprint eine lauffähige Version der
Applikation
● Inhalte der Sprints sind grundsätzlich pro Applikation individuell je nach
Ausgangslage, Anforderungen und gewählter Ziel-Architektur
● Neben den technischen Aspekten, gibt es diverse andere Faktoren, wie z. B.
Budget, Zeitdruck, Abhängigkeiten, Verpflichtungen, regulatorische Anforderungen
etc. zu berücksichtigen
11. Modernisierung der Applikation
Mögliche Schritte bei der Umsetzung einer Modernisierung
Mögliche Schritte:
● Tech-Stack erneuern
● Monolith ‹containerisieren›
● Applikation nach fachlichen Kriterien auftrennen
○ Modularisierte Komponenten ‹containerisieren›
○ Skalierbarkeit ermöglichen
○ Entwicklungs- und Deployment-Prozesse vereinfachen
● Support, Wartung & Weiterentwicklung der Lösung
Begleitung durch interdisziplinäre Teams (Architekten, SW-Engineers, Scrum Master,
UX, PL) während des gesamten Prozesses
13. Modernisierung der Applikation
Mögliche Schritte bei der Umsetzung einer Modernisierung
>80% der fachlichen Anforderungen gleich, Code Qualität & Archtektur der
Applikation gut. Neubau wäre teurer und nicht nötig:
● Tech-Stack erneuern
● Monolith ‹containerisieren›
● Applikation nach fachlichen Kriterien auftrennen
○ Modularisierte Komponenten ‹containerisieren›
■ neues Frontend API & neue Single Page App
○ Skalierbarkeit ermöglichen
○ Entwicklungs- und Deployment-Prozesse vereinfachen
● Support, Wartung & Weiterentwicklung der Lösung
Begleitung durch interdisziplinäre Teams (Architekten, SW-Engineers, Scrum Master,
UX, PL) während des gesamten Prozesses
18. VSHN - The DevOps Company
● “Full Stack Audit”
● Prüfung von Design & Applikation
● Analyse jeder manuellen Komponente
○ Physikalische Hardware
○ Handgefertigte Server
○ Manueller Applikationsbetrieb
● Überprüfung jeder Komponente
● Überprüfung jeder Komponente in jedem
Folgejahr...
Traditionelle IT governance
19. VSHN - The DevOps Company
● Standardisierte Komponenten
○ bereits auditiert, extern zertifiziert
○ wiederverwendet, Skaleneffekte,
CMMI Level 5
○ technische Kontrollmechanismen
(AAI, RBAC, logs/SIEM) einmal
implementiert
○ finanzielle Kontrollmechanismen
einmal implementiert
● Infrastruktur: private oder public cloud
● Ops: Container orchestration platform
● Periodische überprüfung der Applikation
& Plattform Konfiguration
Cloud-native IT governance
20. 24x7 Betrieb
● Wartung
○ Stetige Weiterentwicklung, Verbesserung und Aktualisierung der
generischen Plattform und Infrastruktur
○ Tools zur Detektion und Aktualisierung der
Applikations-Komponenten
● Support
○ 24x7 Störfallmanagement für Applikation, Plattform und
Infrastruktur
● Betriebsprozesse (Cloud oder On Prem)
○ Überwachung, Sicherung, Datenbanken, Kapazitätsmanagement
21. Fazit
● Anforderungen schärfen & Machbarkeit überprüfen
● Mögliche Architektur unter Berücksichtigung der
funktionalen- und nicht-funktionalen Anforderungen
Entwerfen (iterativ)
● Umsetzung gemäss der gewählten Architektur
● Betrieb, Support & Weiterentwicklung sicherstellen