SlideShare ist ein Scribd-Unternehmen logo
qaware.de
Cloud-Migration
mit KI: der Turbo
Andreas Zitzelsberger
andreas.zitzelsberger@qaware.de
Agenda
● Einführung: Wie Cloud-Migration geht und wie KI
dabei helfen kann
● Case Studies: Ausgewählte Beispiele aus dem
echten Leben zeigen, was KI kann
● Ausblick: Zukünftige Entwicklungen, die sich auf
den Einsatz von KI für Migration und
Modernisierung auswirken
● Fazit: Chancen, Grenzen und Risiken des Einsatzes
von KI für Migration und Modernisierung
Illustration: Dall-E
3
Transparenz schaffen Alignment herstellen Architektur & Blueprint
4 5 6
Acceleration Cloud-friendly Migration Cost Control
1 2 3
Sprachmodelle haben eine lange Historie –
sind aber erst seit kurzem vielseitig praktisch nutzbar
4
QAware
1967
Eliza
1997
LSTM
2010
Stanford
Core NLP
2011
Google
Brain
2017
Google
Transformer
Architecture
2020
GPT-3
2021
GitHub
Copilot
2022
ChatGPT
Wir benutzen im folgenden GPT als Stellvertreter für Large
Language Models (LLMs)
5
QAware
● GPT 3.5/4 ist aktuell das beste Modell zur
Verarbeitung von Source Code.
● ChatGPT lässt sich leicht automatisieren und auf
große Codebasen anwenden:
○ OpenAI API
○ OpenAI Python Bindings
○ CLI-Werkzeuge wie Chatblade
● Einschränkungen:
○ Die Anzahl der Eingangs-Token ist begrenzt.
Code-Files vernünftiger Größe können am
Stück verarbeitet werden, ganze Code-Basen
müssen Stück für Stück verarbeitet werden.
○ Serverseitige Verarbeitung erfordert
Vertrauen.
Generated with Stable Diffusion
6
Transparenz schaffen Alignment herstellen Architektur & Blueprint
4 5 6
Acceleration Cloud-friendly Migration Cost Control
1 2 3
🤖
🤖 🤖 ?
?
Case Study: Analyse und Acceleration von COBOL
● Ziel: Code-Verständnis schaffen
● Methode: Analyse und Übersetzung mit ChatGPT
● Ergebnis: Sehr hilfreich für Analysen und vorbereitende
Handlungen
○ ✅ Analyse funktioniert sehr gut (Demo)
○ ✅ 1:1-Übersetzung von Code und Struktur
○ ⚠️ Ein echter Rebuild mit semantischer
Reduktion ist so aber nicht möglich.
○ ✅ Stiftet Nutzen für Analysen und zur
Vorbereitung von Rebuilds
○ ✅ Funktioniert genauso für andere Sprachen,
für die es ausreichend publizierten Code und
Dokumente gibt (PL/1, Java, C#, …).
7
QAware
Megatherium von Heinrich Harder
8
QAware
LLMs können KPIs berechnen und maschinenlesbar ausgeben
9
QAware
❯ chatblade -o -e "Count the number of selected files in this COBOL program." 
"Provide JSON output in the following form: {"selected-files": <count>}." 
"Only provide the JSON output." 
< fxsort.cbl
{"selected-files": 5}
⚠️ Dabei ist ChatGPT leider nicht zuverlässig: AI doing AI things.
➜ Akzeptabel, wenn man mit einer gewissen Unschärfe leben kann.
Leider ist ChatGPT ein Teil der #NoEstimates-Bewegung
10
QAware
“Das Schätzen der Entwicklerstunden für einen neuen Codeabschnitt kann schwierig sein, da es
von Faktoren abhängt wie der Vertrautheit des Entwicklers mit der Programmiersprache, seiner
Erfahrung, der Komplexität des Codes und den spezifischen Anforderungen des Projekts.
Zusätzlich kann das Nachbilden von Code mehr beinhalten als nur das Übersetzen des Codes in
eine andere Sprache, da Optimierungen, Verbesserungen oder Fehlerbehebungen erforderlich
sein könnten.”
Übersetzung: ChatGPT
11
QAware
Das, was wir sehen, wenn wir mit einem Sprachmodell
interagieren…
● Die Eingriffe sind notwendig, um
hochwertige Ergebnisse zu liefern.
● Aber: Die Eingriffe werden auch genutzt,
um Kontroversen zu vermeiden.
● ⚠️ Sprachmodelle haben menschliche
Schlagseiten und Vorurteile.
12
QAware
… ist das Ergebnis eines komplexen Trainingsprozesses mit
menschlichen Eingriffen
Quelle: Twitter @anthrupad
KI-gestützte Framework-Migration in Java
● Ziel: Migration von Legacy J2EE zu Spring
● Methode: Code-Transformation mit ChatGPT
● Ergebnis: Erleichtert die Migration im kleinen
deutlich
✅ Sterotype Transformationen, “Boilerplate”
✅ Transpilierung (Z.B. Python → JavaScript)
⚠️ Begrenzte Zahl an Input-Token.
Funktioniert nur Stück-für-Stück
➜ keine semantische Transformation einer ganzen
Architektur
❌ Technologien mit beschränkter öffentlicher
Datenbasis funktionieren schlecht.
13
QAware
Es gibt erste FOSS-Unterstützung für die AI-gestützte Migration.
Case Study
Der Report Program Generator (RPG) ist “Die
Brücke von der Stecktafel zur Datenbank”.
Analyse von IBM RPG
● Ziel: Code-Verständnis schaffen und Abhängig-
keiten ermitteln
● Methode: Analyse und Transpilierung mit ChatGPT
● Ergebnis: ❌ Nicht brauchbar
● Ursachen:
○ RPG ist heutzutage zu exotisch. Es gibt kaum
öffentliche Quellen, von denen ein Modell
lernen könnte
○ RPG ist eine kontext-behaftete Sprache
● Alternative Lösung: Parsing mittels eines
kommerziellen Parsers, non-AI Auswertungen auf
dem Syntaxbaum
14
QAware
C MOVEL'HELLO' HELLO 11
C MOVE 'WORLD' HELLO
C HELLO DSPLY WAIT 1
C SETON
LR
Hello World in RPG III
Quelle: Die Geschichte der maschinellen Datenverarbeitung. Band 1, Untertitel IBM
Enzyklopädie der Informationsverarbeitung, - IBM Form D 12-0028 (3/91), Überschrift Seite 140
Case Study
Fehlersuche und Qualitätshub in Java
● Ziel: Bestandscode in Java modernisieren
● Methode: Analyse mit ChatGPT
● Ergebnis: Brauchbare Ergänzung zu bekannten
Werkzeugen
✅ Findet viele Probleme im Kleinen
⚠️ Aber nicht alle und auch nicht zuverlässig
⚠️ Semantische Probleme werden oft erkannt –
oft aber auch nicht
⚠️ Die Ergebnisse können auch mal Fehler
enthalten. Es braucht Experten, um die
Ergebnisse zu verwerten
15
QAware
Foto von James Wainscoat auf
Unsplash
Case Study
You are a an expert software engineer proficient in source code
analysis. Explain potential issues with the following Java code:
Wer findet alle Probleme im Code?
16
QAware
String input = "{" +
""consumerId": "_$CONSUMER_ID$_"," +
""transactionId": "_$TRANSACTION_ID$_"," +
""targetId": "_$TARGET_ID$_"," +
""docId": "_$DOC_ID$_"" +
"}";
input = input.replaceAll("_$CONSUMER_ID$_", consumerId);
input = input.replaceAll("_$TRANSACTION_ID$_", transactionId);
input = input.replaceAll("_$TARGET_ID$_", targetId);
input = input.replaceAll("_$DOC_ID$_", docId);
Wer findet alle Probleme im Code?
➜ ChatGPT leider nicht
17
QAware
String input = "{" +
""consumerId": "_$CONSUMER_ID$_"," +
""transactionId": "_$TRANSACTION_ID$_"," +
""targetId": "_$TARGET_ID$_"," +
""docId": "_$DOC_ID$_"" +
"}";
input = input.replaceAll("_$CONSUMER_ID$_", consumerId);
input = input.replaceAll("_$TRANSACTION_ID$_", transactionId);
input = input.replaceAll("_$TARGET_ID$_", targetId);
input = input.replaceAll("_$DOC_ID$_", docId);
ChatGPT findet 5 potenzielle Probleme auf der Grasnarbe
und liefert ein Code-Beispiel, um diese zu verbessern:
1. Keine Fehlerbehandlung
2. Performance-Probleme durch String.replaceAll
3. Wiederholte Erzeugung des input-String
4. Keine JSON-Validierung
5. Die Platzhalter können Verwirrung stiften
⚠️ Erkennt dabei aber nicht den Elefanten im Raum:
Der Code sollte so nicht existieren!
JSON sollte allein schon aus Sicherheitsgründen nicht von
Hand erzeugt werden.
Wir setzen GitHub Copilot breit ein,
nicht nur für Migrationen
GitHub Copilot bietet Code-Generierung direkt in der IDE
● Beschleunigt Programmieraufgaben.
● Hilft Entwicklern sich in neuen Technologien schneller
zurecht zu finden.
Vergleichbar mit einem Junior Pair Programmer
● Kann Bugs, Sicherheitslücken oder schlechten Code
produzieren.
● Entwickler müssen in der Lage sein, Probleme zu
erkennen und die generierten Lösungen passend
umzuarbeiten,
18
QAware
Zweischneidiges Schwert:
● ✅ Macht gute und erfahrene
Entwickler spürbar produktiver.
● ⚠️ Für alle anderen: Hohes Potential
sich in den Fuß zu schießen.
Small LLMs am Beispiel: LMSYS Vicuna
● verspricht 90% ChatGPT-Qualität
● in ~66GB Größe
● zu ~300$ Trainingskosten
● Viele Modelle sind mit Quellcode als Open
Source verfügbar
● Der Betrieb auf einem PC ist sinnvoll möglich
Eigenständig nutzbare Modelle werden
völlig neue Anwendungen ermöglichen
LLaMA / LLaMA 2 von Meta
● Large Language Model Meta AI
● Großes, hochqualitatives, mit GPT vergleichbares
Datenmodell
● Die LLaMA 2-Gewichte sind offiziell offen verfügbar
● Kann in vielen Fälle kommerziell genutzt werden
19
QAware
Ausblick
Das Forschungsprojekt DeepQuali bewertet
Softwarequalität mit KI
Thema: Software-Qualität mit KI bewerten
■ fachliche/technische Schulden
■ Beurteilung der Qualität mit KI-Modellen
■ Beurteilung der Qualität mit konventionellen
Methoden
■ Kombination mit Machine Learning Ops für
Produktionsreife Modellentwicklung
BMBF Forschungsprojekt im Programm KI4KMU
Laufzeit: 1.6.23 - 30.11.25
20
QAware
Foto von Tima Miroshnichenko auf Pexels
Ausblick
Fazit: Moderne KI bietet bei Migration und Modernisierung
handfeste Vorteile, braucht aber Experten
21
QAware
■ Code-Analysen, sowohl explorativ als auch
autmatisierbar
■ Fehlersuche, Performance- und Qualitäts-
verbesserungen
■ Übersetzungen von einer Programmiersprache
in eine andere
■ Unterstützung von Framework- und Tool-
Migrationen
■ Beschleunigung von Programmieraufgaben
Chancen
■ Die begrenzte Anzahl an Input Token macht eine
Stück-für-Stück-Verarbeitung notwendig.
■ Blockchain-Syndrom:Viele Probleme lassen sich
mit klassischen Ansätzen besser lösen.
■ Falsche und unzureichende Ausgaben, die aber
plausibel aussehen können, verursacht durch
Halluzinationen, d.h. falsche, vom Modell
erzeugte Ausgaben, sowie Lücken, Fehler und
falsche Daten in den Trainingsdaten
■ Das Urheberrecht. Generierter Code und Daten
sollten nicht 1:1 verwendet werden.
Grenzen und Risiken
qaware.de
Hier gibt’s Infos zu
Cloud-friendly Migration
qaware.de
QAware GmbH
Aschauer Straße 32
81549 München
Tel. +49 89 232315-0
info@qaware.de
twitter.com/qaware
linkedin.com/company/qaware-gmbh
xing.com/companies/qawaregmbh
slideshare.net/qaware
github.com/qaware
Danke für’s Zuhören
Welche Fragen habt ihr?

Weitere ähnliche Inhalte

Ähnlich wie Cloud Migration mit KI: der Turbo

Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Mayflower GmbH
 
3D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 20163D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 2016
Robert Siegel
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
inovex GmbH
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
QAware GmbH
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Gregor Biswanger
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
Patrick Baumgartner
 
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
QAware GmbH
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklungrico.fritzsche
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBR
Alexander Hundt
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
JanWeinschenker
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
agilemethoden
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
Christian Heilmann
 
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Christian Baranowski
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
Ulrich Krause
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
QAware GmbH
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
Ulrich Krause
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Bjoern Reinhold
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
Hendrik Lösch
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Markus Unterauer
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
Michael Mirold
 

Ähnlich wie Cloud Migration mit KI: der Turbo (20)

Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
 
3D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 20163D - Spiel mit der Technik, Tekom 2016
3D - Spiel mit der Technik, Tekom 2016
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
 
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklung
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBR
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
 
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
 

Mehr von QAware GmbH

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
QAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
QAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
QAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
QAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
QAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
QAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
QAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-ClusterAus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 
Cloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertCloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniert
QAware GmbH
 

Mehr von QAware GmbH (20)

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-ClusterAus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Cloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertCloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniert
 

Cloud Migration mit KI: der Turbo

  • 1. qaware.de Cloud-Migration mit KI: der Turbo Andreas Zitzelsberger andreas.zitzelsberger@qaware.de
  • 2. Agenda ● Einführung: Wie Cloud-Migration geht und wie KI dabei helfen kann ● Case Studies: Ausgewählte Beispiele aus dem echten Leben zeigen, was KI kann ● Ausblick: Zukünftige Entwicklungen, die sich auf den Einsatz von KI für Migration und Modernisierung auswirken ● Fazit: Chancen, Grenzen und Risiken des Einsatzes von KI für Migration und Modernisierung Illustration: Dall-E
  • 3. 3 Transparenz schaffen Alignment herstellen Architektur & Blueprint 4 5 6 Acceleration Cloud-friendly Migration Cost Control 1 2 3
  • 4. Sprachmodelle haben eine lange Historie – sind aber erst seit kurzem vielseitig praktisch nutzbar 4 QAware 1967 Eliza 1997 LSTM 2010 Stanford Core NLP 2011 Google Brain 2017 Google Transformer Architecture 2020 GPT-3 2021 GitHub Copilot 2022 ChatGPT
  • 5. Wir benutzen im folgenden GPT als Stellvertreter für Large Language Models (LLMs) 5 QAware ● GPT 3.5/4 ist aktuell das beste Modell zur Verarbeitung von Source Code. ● ChatGPT lässt sich leicht automatisieren und auf große Codebasen anwenden: ○ OpenAI API ○ OpenAI Python Bindings ○ CLI-Werkzeuge wie Chatblade ● Einschränkungen: ○ Die Anzahl der Eingangs-Token ist begrenzt. Code-Files vernünftiger Größe können am Stück verarbeitet werden, ganze Code-Basen müssen Stück für Stück verarbeitet werden. ○ Serverseitige Verarbeitung erfordert Vertrauen. Generated with Stable Diffusion
  • 6. 6 Transparenz schaffen Alignment herstellen Architektur & Blueprint 4 5 6 Acceleration Cloud-friendly Migration Cost Control 1 2 3 🤖 🤖 🤖 ? ?
  • 7. Case Study: Analyse und Acceleration von COBOL ● Ziel: Code-Verständnis schaffen ● Methode: Analyse und Übersetzung mit ChatGPT ● Ergebnis: Sehr hilfreich für Analysen und vorbereitende Handlungen ○ ✅ Analyse funktioniert sehr gut (Demo) ○ ✅ 1:1-Übersetzung von Code und Struktur ○ ⚠️ Ein echter Rebuild mit semantischer Reduktion ist so aber nicht möglich. ○ ✅ Stiftet Nutzen für Analysen und zur Vorbereitung von Rebuilds ○ ✅ Funktioniert genauso für andere Sprachen, für die es ausreichend publizierten Code und Dokumente gibt (PL/1, Java, C#, …). 7 QAware Megatherium von Heinrich Harder
  • 9. LLMs können KPIs berechnen und maschinenlesbar ausgeben 9 QAware ❯ chatblade -o -e "Count the number of selected files in this COBOL program." "Provide JSON output in the following form: {"selected-files": <count>}." "Only provide the JSON output." < fxsort.cbl {"selected-files": 5} ⚠️ Dabei ist ChatGPT leider nicht zuverlässig: AI doing AI things. ➜ Akzeptabel, wenn man mit einer gewissen Unschärfe leben kann.
  • 10. Leider ist ChatGPT ein Teil der #NoEstimates-Bewegung 10 QAware “Das Schätzen der Entwicklerstunden für einen neuen Codeabschnitt kann schwierig sein, da es von Faktoren abhängt wie der Vertrautheit des Entwicklers mit der Programmiersprache, seiner Erfahrung, der Komplexität des Codes und den spezifischen Anforderungen des Projekts. Zusätzlich kann das Nachbilden von Code mehr beinhalten als nur das Übersetzen des Codes in eine andere Sprache, da Optimierungen, Verbesserungen oder Fehlerbehebungen erforderlich sein könnten.” Übersetzung: ChatGPT
  • 11. 11 QAware Das, was wir sehen, wenn wir mit einem Sprachmodell interagieren…
  • 12. ● Die Eingriffe sind notwendig, um hochwertige Ergebnisse zu liefern. ● Aber: Die Eingriffe werden auch genutzt, um Kontroversen zu vermeiden. ● ⚠️ Sprachmodelle haben menschliche Schlagseiten und Vorurteile. 12 QAware … ist das Ergebnis eines komplexen Trainingsprozesses mit menschlichen Eingriffen Quelle: Twitter @anthrupad
  • 13. KI-gestützte Framework-Migration in Java ● Ziel: Migration von Legacy J2EE zu Spring ● Methode: Code-Transformation mit ChatGPT ● Ergebnis: Erleichtert die Migration im kleinen deutlich ✅ Sterotype Transformationen, “Boilerplate” ✅ Transpilierung (Z.B. Python → JavaScript) ⚠️ Begrenzte Zahl an Input-Token. Funktioniert nur Stück-für-Stück ➜ keine semantische Transformation einer ganzen Architektur ❌ Technologien mit beschränkter öffentlicher Datenbasis funktionieren schlecht. 13 QAware Es gibt erste FOSS-Unterstützung für die AI-gestützte Migration. Case Study
  • 14. Der Report Program Generator (RPG) ist “Die Brücke von der Stecktafel zur Datenbank”. Analyse von IBM RPG ● Ziel: Code-Verständnis schaffen und Abhängig- keiten ermitteln ● Methode: Analyse und Transpilierung mit ChatGPT ● Ergebnis: ❌ Nicht brauchbar ● Ursachen: ○ RPG ist heutzutage zu exotisch. Es gibt kaum öffentliche Quellen, von denen ein Modell lernen könnte ○ RPG ist eine kontext-behaftete Sprache ● Alternative Lösung: Parsing mittels eines kommerziellen Parsers, non-AI Auswertungen auf dem Syntaxbaum 14 QAware C MOVEL'HELLO' HELLO 11 C MOVE 'WORLD' HELLO C HELLO DSPLY WAIT 1 C SETON LR Hello World in RPG III Quelle: Die Geschichte der maschinellen Datenverarbeitung. Band 1, Untertitel IBM Enzyklopädie der Informationsverarbeitung, - IBM Form D 12-0028 (3/91), Überschrift Seite 140 Case Study
  • 15. Fehlersuche und Qualitätshub in Java ● Ziel: Bestandscode in Java modernisieren ● Methode: Analyse mit ChatGPT ● Ergebnis: Brauchbare Ergänzung zu bekannten Werkzeugen ✅ Findet viele Probleme im Kleinen ⚠️ Aber nicht alle und auch nicht zuverlässig ⚠️ Semantische Probleme werden oft erkannt – oft aber auch nicht ⚠️ Die Ergebnisse können auch mal Fehler enthalten. Es braucht Experten, um die Ergebnisse zu verwerten 15 QAware Foto von James Wainscoat auf Unsplash Case Study
  • 16. You are a an expert software engineer proficient in source code analysis. Explain potential issues with the following Java code: Wer findet alle Probleme im Code? 16 QAware String input = "{" + ""consumerId": "_$CONSUMER_ID$_"," + ""transactionId": "_$TRANSACTION_ID$_"," + ""targetId": "_$TARGET_ID$_"," + ""docId": "_$DOC_ID$_"" + "}"; input = input.replaceAll("_$CONSUMER_ID$_", consumerId); input = input.replaceAll("_$TRANSACTION_ID$_", transactionId); input = input.replaceAll("_$TARGET_ID$_", targetId); input = input.replaceAll("_$DOC_ID$_", docId);
  • 17. Wer findet alle Probleme im Code? ➜ ChatGPT leider nicht 17 QAware String input = "{" + ""consumerId": "_$CONSUMER_ID$_"," + ""transactionId": "_$TRANSACTION_ID$_"," + ""targetId": "_$TARGET_ID$_"," + ""docId": "_$DOC_ID$_"" + "}"; input = input.replaceAll("_$CONSUMER_ID$_", consumerId); input = input.replaceAll("_$TRANSACTION_ID$_", transactionId); input = input.replaceAll("_$TARGET_ID$_", targetId); input = input.replaceAll("_$DOC_ID$_", docId); ChatGPT findet 5 potenzielle Probleme auf der Grasnarbe und liefert ein Code-Beispiel, um diese zu verbessern: 1. Keine Fehlerbehandlung 2. Performance-Probleme durch String.replaceAll 3. Wiederholte Erzeugung des input-String 4. Keine JSON-Validierung 5. Die Platzhalter können Verwirrung stiften ⚠️ Erkennt dabei aber nicht den Elefanten im Raum: Der Code sollte so nicht existieren! JSON sollte allein schon aus Sicherheitsgründen nicht von Hand erzeugt werden.
  • 18. Wir setzen GitHub Copilot breit ein, nicht nur für Migrationen GitHub Copilot bietet Code-Generierung direkt in der IDE ● Beschleunigt Programmieraufgaben. ● Hilft Entwicklern sich in neuen Technologien schneller zurecht zu finden. Vergleichbar mit einem Junior Pair Programmer ● Kann Bugs, Sicherheitslücken oder schlechten Code produzieren. ● Entwickler müssen in der Lage sein, Probleme zu erkennen und die generierten Lösungen passend umzuarbeiten, 18 QAware Zweischneidiges Schwert: ● ✅ Macht gute und erfahrene Entwickler spürbar produktiver. ● ⚠️ Für alle anderen: Hohes Potential sich in den Fuß zu schießen.
  • 19. Small LLMs am Beispiel: LMSYS Vicuna ● verspricht 90% ChatGPT-Qualität ● in ~66GB Größe ● zu ~300$ Trainingskosten ● Viele Modelle sind mit Quellcode als Open Source verfügbar ● Der Betrieb auf einem PC ist sinnvoll möglich Eigenständig nutzbare Modelle werden völlig neue Anwendungen ermöglichen LLaMA / LLaMA 2 von Meta ● Large Language Model Meta AI ● Großes, hochqualitatives, mit GPT vergleichbares Datenmodell ● Die LLaMA 2-Gewichte sind offiziell offen verfügbar ● Kann in vielen Fälle kommerziell genutzt werden 19 QAware Ausblick
  • 20. Das Forschungsprojekt DeepQuali bewertet Softwarequalität mit KI Thema: Software-Qualität mit KI bewerten ■ fachliche/technische Schulden ■ Beurteilung der Qualität mit KI-Modellen ■ Beurteilung der Qualität mit konventionellen Methoden ■ Kombination mit Machine Learning Ops für Produktionsreife Modellentwicklung BMBF Forschungsprojekt im Programm KI4KMU Laufzeit: 1.6.23 - 30.11.25 20 QAware Foto von Tima Miroshnichenko auf Pexels Ausblick
  • 21. Fazit: Moderne KI bietet bei Migration und Modernisierung handfeste Vorteile, braucht aber Experten 21 QAware ■ Code-Analysen, sowohl explorativ als auch autmatisierbar ■ Fehlersuche, Performance- und Qualitäts- verbesserungen ■ Übersetzungen von einer Programmiersprache in eine andere ■ Unterstützung von Framework- und Tool- Migrationen ■ Beschleunigung von Programmieraufgaben Chancen ■ Die begrenzte Anzahl an Input Token macht eine Stück-für-Stück-Verarbeitung notwendig. ■ Blockchain-Syndrom:Viele Probleme lassen sich mit klassischen Ansätzen besser lösen. ■ Falsche und unzureichende Ausgaben, die aber plausibel aussehen können, verursacht durch Halluzinationen, d.h. falsche, vom Modell erzeugte Ausgaben, sowie Lücken, Fehler und falsche Daten in den Trainingsdaten ■ Das Urheberrecht. Generierter Code und Daten sollten nicht 1:1 verwendet werden. Grenzen und Risiken
  • 22. qaware.de Hier gibt’s Infos zu Cloud-friendly Migration
  • 23. qaware.de QAware GmbH Aschauer Straße 32 81549 München Tel. +49 89 232315-0 info@qaware.de twitter.com/qaware linkedin.com/company/qaware-gmbh xing.com/companies/qawaregmbh slideshare.net/qaware github.com/qaware Danke für’s Zuhören Welche Fragen habt ihr?