<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Migration | The .NET Blog</title><link>https://thedotnetblog.com/de/tags/migration/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>de</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/de/tags/migration/index.xml" rel="self" type="application/rss+xml"/><item><title>Die Monkey Work der Migration mit Agentic Platform Engineering beseitigen</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/</guid><description>Git-Ape führt durch die Migration eines echten AWS Terraform-Deployments zu Azure Bicep — dabei wird die Deployment-Intention extrahiert und die Architektur neu gemappt, anstatt eine 1:1-Syntaxkonvertierung durchzuführen.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Zur Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/agentic-platform-engineering-migration-automation/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;Removing the Monkey Work of Migration with Agentic Platform Engineering&lt;/a&gt; — eine Schritt-für-Schritt-Anleitung von Git-Ape (git agentic platform engineering tool), das ein echtes AWS-Terraform-Repo zu Azure migriert, mit Fokus auf Intent-Extraktion statt zeilenweiser Konvertierung.&lt;/p&gt;
&lt;h2 id="die-eingabe-contoso-migration"&gt;Die Eingabe: contoso-migration&lt;/h2&gt;
&lt;p&gt;Die Quelle ist ein echtes Terraform-Projekt (&lt;code&gt;contoso-migration&lt;/code&gt;), das eine Next.js-App auf AWS bereitstellt — EC2 für Compute, ALB für Load Balancing, S3 für Artefakte und IAM-Schlüssel für Identität. Kosten: ~34 $/Monat. Das Ziel ist nicht, dieselbe Infrastruktur auf Azure zu reproduzieren; es geht darum herauszufinden, was das Deployment eigentlich tun soll, und das mit nativen Azure-Diensten neu aufzubauen.&lt;/p&gt;
&lt;h2 id="schritt-1-validierung-und-authentifizierung"&gt;Schritt 1: Validierung und Authentifizierung&lt;/h2&gt;
&lt;p&gt;Git-Ape beginnt damit, alle erforderlichen CLI-Tools zu validieren — &lt;code&gt;az&lt;/code&gt;, &lt;code&gt;aws&lt;/code&gt;, &lt;code&gt;gh&lt;/code&gt;, &lt;code&gt;jq&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt; — und aktive Auth-Sessions zu bestätigen, bevor etwas angerührt wird. Keine Teilausführungen.&lt;/p&gt;
&lt;h2 id="schritt-2-intent-extraktion"&gt;Schritt 2: Intent-Extraktion&lt;/h2&gt;
&lt;p&gt;Der Agent liest das gesamte Quell-Repository über die GitHub API und extrahiert den Deployment-Intent: Laufzeit (Node.js), Compute-Typ, Ingress-Muster, Artefakt-Handling, Identitätsmodell, Netzwerk und Monitoring. Dies ist der entscheidende Schritt — es wird ein semantisches Modell dessen erstellt, was das Deployment tut, nicht welche Terraform-Keywords es verwendet.&lt;/p&gt;
&lt;h2 id="schritt-3-service-mapping"&gt;Schritt 3: Service-Mapping&lt;/h2&gt;
&lt;p&gt;AWS-Dienste werden auf Azure-Äquivalente abgebildet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EC2 → App Service (Linux, Node 20 LTS)&lt;/li&gt;
&lt;li&gt;ALB → Integriertes App Service Load Balancing&lt;/li&gt;
&lt;li&gt;IAM-Rollen/Schlüssel → Managed Identity&lt;/li&gt;
&lt;li&gt;Terraform → Bicep + GitHub Actions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="schritt-4-kritik-agent"&gt;Schritt 4: Kritik-Agent&lt;/h2&gt;
&lt;p&gt;Vor der Ausgabegenerierung läuft ein Kritik-Agent und erkennt zwei blockierende Probleme:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Build-on-Startup-Antimuster&lt;/strong&gt; — das ursprüngliche Terraform führte &lt;code&gt;npm install &amp;amp;&amp;amp; npm run build&lt;/code&gt; auf EC2 beim Start aus. Fix: In CI bauen, ein fertiges Artefakt deployen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unnötiger Blob Storage&lt;/strong&gt; — S3 wurde für Artefakt-Staging verwendet, das mit korrektem CI/CD eliminiert werden könnte. Der Kritik-Agent hat es vollständig entfernt.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="schritt-5-generierte-ausgabe"&gt;Schritt 5: Generierte Ausgabe&lt;/h2&gt;
&lt;p&gt;Das Ergebnis sind ~80 Zeilen Bicep statt der ursprünglichen 200+ Zeilen Terraform. Der Agent erstellte ein neues GitHub-Repo mit &lt;code&gt;infra/main.bicep&lt;/code&gt; und &lt;code&gt;.github/workflows/deploy.yml&lt;/code&gt; und entfernte alle AWS-spezifischen Dateien.&lt;/p&gt;
&lt;h2 id="vergleich-der-sicherheitslage"&gt;Vergleich der Sicherheitslage&lt;/h2&gt;
&lt;p&gt;Die Migration ergab auch eine bedeutende Sicherheitsverbesserung:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;AWS-Original&lt;/th&gt;
&lt;th&gt;Azure-Ausgabe&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Nur HTTP&lt;/td&gt;
&lt;td&gt;Nur HTTPS, TLS 1.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSH offen für 0.0.0.0/0&lt;/td&gt;
&lt;td&gt;Keine SSH-Exposition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IAM-Zugriffsschlüssel&lt;/td&gt;
&lt;td&gt;OIDC + Managed Identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kein Monitoring&lt;/td&gt;
&lt;td&gt;Application Insights&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Kosten: ~13 $/Monat vs. ursprüngliche 34 $/Monat.&lt;/p&gt;
&lt;h2 id="was-dies-von-einem-syntax-konverter-unterscheidet"&gt;Was dies von einem Syntax-Konverter unterscheidet&lt;/h2&gt;
&lt;p&gt;Der Kritik-Agent-Schritt ist das, was dies von einer mechanischen Übersetzung trennt. Er erkannte Muster, die auf AWS funktioniert hätten, aber auf Azure falsch wären — und korrigierte sie, anstatt sie zu replizieren. Die Ausgabe ist kein &amp;ldquo;AWS in Azure-Syntax&amp;rdquo;; es ist ein Azure-natives Deployment, das dasselbe Ziel sauberer erreicht.&lt;/p&gt;
&lt;p&gt;Siehe die &lt;a href="https://devblogs.microsoft.com/all-things-azure/removing-the-monkey-work-of-migration-using-agentic-platform-engineering/"&gt;vollständige Anleitung&lt;/a&gt; für die vollständige Agent-Ablaufverfolgung und generierte Dateien.&lt;/p&gt;</content:encoded></item><item><title>GitHub Copilots Modernisierungs-Assessment ist das beste Migrationstool, das du noch nicht nutzt</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</guid><description>Die Modernisierungserweiterung von GitHub Copilot schlägt nicht nur Code-Änderungen vor — sie erstellt ein vollständiges Migrations-Assessment mit umsetzbaren Issues, Azure-Zielvergleichen und einem kollaborativen Workflow. Hier erfährst du, warum das Assessment-Dokument der Schlüssel zu allem ist.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Eine Legacy-.NET-Framework-App auf modernes .NET zu migrieren ist eine dieser Aufgaben, von der jeder weiß, dass sie erledigt werden sollte, die aber niemand anfangen will. Es ist nie nur „ändere das Ziel-Framework.&amp;quot; Es sind APIs, die verschwunden sind, Pakete, die nicht mehr existieren, Hosting-Modelle, die völlig anders funktionieren, und eine Million kleiner Entscheidungen darüber, was containerisiert, was umgeschrieben und was in Ruhe gelassen werden soll.&lt;/p&gt;
&lt;p&gt;Jeffrey Fritz hat gerade einen &lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;tiefen Einblick in GitHub Copilots Modernisierungs-Assessment&lt;/a&gt; veröffentlicht, und ehrlich? Das ist das beste Migrationstooling, das ich für .NET gesehen habe. Nicht wegen der Code-Generierung — das ist mittlerweile Standard. Wegen des Assessment-Dokuments, das es erstellt.&lt;/p&gt;
&lt;h2 id="es-ist-nicht-nur-eine-code-vorschlagsmaschine"&gt;Es ist nicht nur eine Code-Vorschlagsmaschine&lt;/h2&gt;
&lt;p&gt;Die VS Code-Erweiterung folgt einem &lt;strong&gt;Bewerten → Planen → Ausführen&lt;/strong&gt;-Modell. Die Bewertungsphase analysiert deine gesamte Codebase und erstellt ein strukturiertes Dokument, das alles erfasst: was sich ändern muss, welche Azure-Ressourcen provisioniert werden müssen, welches Deployment-Modell verwendet werden soll. Alles Nachfolgende — Infrastructure as Code, Containerisierung, Deployment-Manifeste — leitet sich aus den Ergebnissen des Assessments ab.&lt;/p&gt;
&lt;p&gt;Das Assessment wird unter &lt;code&gt;.github/modernize/assessment/&lt;/code&gt; in deinem Projekt gespeichert. Jeder Durchlauf erzeugt einen unabhängigen Report, sodass du eine Historie aufbaust und verfolgen kannst, wie sich deine Migrationsposition entwickelt, wenn du Issues behebst.&lt;/p&gt;
&lt;h2 id="zwei-wege-zum-start"&gt;Zwei Wege zum Start&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Empfohlenes Assessment&lt;/strong&gt; — der schnelle Weg. Wähle aus kuratierten Domains (Java/.NET Upgrade, Cloud Readiness, Sicherheit) und erhalte aussagekräftige Ergebnisse ohne Konfigurationsaufwand. Ideal für einen ersten Blick, wo deine App steht.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Benutzerdefiniertes Assessment&lt;/strong&gt; — der gezielte Weg. Konfiguriere genau, was analysiert werden soll: Ziel-Compute (App Service, AKS, Container Apps), Ziel-OS, Containerisierungsanalyse. Wähle mehrere Azure-Ziele, um Migrationsansätze nebeneinander zu vergleichen.&lt;/p&gt;
&lt;p&gt;Diese Vergleichsansicht ist wirklich nützlich. Eine App mit 3 obligatorischen Issues für App Service könnte 7 für AKS haben. Beides zu sehen hilft bei der Hosting-Entscheidung, bevor man sich auf einen Migrationspfad festlegt.&lt;/p&gt;
&lt;h2 id="die-issue-aufschlüsselung-ist-umsetzbar"&gt;Die Issue-Aufschlüsselung ist umsetzbar&lt;/h2&gt;
&lt;p&gt;Jedes Issue kommt mit einem Kritikalitätslevel:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Obligatorisch&lt;/strong&gt; — muss behoben werden, sonst scheitert die Migration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Potenziell&lt;/strong&gt; — könnte die Migration beeinflussen, braucht menschliche Beurteilung&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optional&lt;/strong&gt; — empfohlene Verbesserungen, blockiert die Migration nicht&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Und jedes Issue verlinkt zu betroffenen Dateien und Zeilennummern, liefert eine detaillierte Beschreibung dessen, was falsch ist und warum es für deine Zielplattform wichtig ist, gibt konkrete Behebungsschritte (nicht nur „repariere das&amp;quot;) und enthält Links zur offiziellen Dokumentation.&lt;/p&gt;
&lt;p&gt;Du kannst einzelne Issues an Entwickler weitergeben, und sie haben alles, was sie zum Handeln brauchen. Das ist der Unterschied zwischen einem Tool, das dir sagt „es gibt ein Problem&amp;quot; und einem, das dir sagt, wie du es löst.&lt;/p&gt;
&lt;h2 id="die-abgedeckten-upgrade-pfade"&gt;Die abgedeckten Upgrade-Pfade&lt;/h2&gt;
&lt;p&gt;Für .NET spezifisch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.NET Framework → .NET 10&lt;/li&gt;
&lt;li&gt;ASP.NET → ASP.NET Core&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Jeder Upgrade-Pfad hat Erkennungsregeln, die wissen, welche APIs entfernt wurden, welche Patterns kein direktes Äquivalent haben und welche Sicherheitsprobleme Aufmerksamkeit erfordern.&lt;/p&gt;
&lt;p&gt;Für Teams, die mehrere Apps verwalten, gibt es auch ein CLI, das Multi-Repo-Batch-Assessments unterstützt — alle Repos klonen, alle bewerten, App-spezifische Reports plus eine aggregierte Portfolio-Ansicht bekommen.&lt;/p&gt;
&lt;h2 id="meine-einschätzung"&gt;Meine Einschätzung&lt;/h2&gt;
&lt;p&gt;Wenn du auf Legacy-.NET-Framework-Apps sitzt (und seien wir ehrlich, die meisten Enterprise-Teams tun das), ist dies &lt;em&gt;das&lt;/em&gt; Tool zum Starten. Allein das Assessment-Dokument ist die Zeit wert — es verwandelt ein vages „wir sollten modernisieren&amp;quot; in eine konkrete, priorisierte Liste von Arbeitspaketen mit klaren Wegen nach vorn.&lt;/p&gt;
&lt;p&gt;Der kollaborative Workflow ist auch clever: Assessments exportieren, mit deinem Team teilen, importieren ohne erneut auszuführen. Architektur-Reviews, bei denen die Entscheider nicht diejenigen sind, die die Tools ausführen? Abgedeckt.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;GitHub Copilots Modernisierungs-Assessment verwandelt .NET-Migration von einem beängstigenden, undefinierten Projekt in einen strukturierten, nachverfolgbaren Prozess. Starte mit einem empfohlenen Assessment, um zu sehen, wo du stehst, und nutze dann benutzerdefinierte Assessments, um Azure-Ziele zu vergleichen und deinen Migrationsplan zu erstellen.&lt;/p&gt;
&lt;p&gt;Lies den &lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;vollständigen Walkthrough&lt;/a&gt; und hole dir die &lt;a href="https://aka.ms/ghcp-appmod/vscode-ext"&gt;VS Code-Erweiterung&lt;/a&gt;, um es an deinem eigenen Code auszuprobieren.&lt;/p&gt;</content:encoded></item></channel></rss>