Vordefinierte Aufgaben für die GitHub Copilot-Modernisierung für Java-Entwickler

In diesem Artikel werden die vordefinierten Aufgaben beschrieben, die Java-Entwicklern für die GitHub Copilot-Modernisierung zur Verfügung stehen.

Vordefinierte Aufgaben erfassen bewährte Methoden für die Verwendung von Azure-Diensten in der Branche. Derzeit bietet die GitHub Copilot-Modernisierung vordefinierte Aufgaben, die allgemeine Migrationsszenarien abdecken. Diese Aufgaben behandeln die folgenden Themen und vieles mehr:

  • Verwaltung von Geheimnissen
  • Integration der Nachrichtenwarteschlange
  • Monitoring
  • Identitätsverwaltung

Note

Diese Liste wächst basierend auf Kundenfeedback und sich entwickelnden Cloudanforderungen.

Das folgende Video zeigt die Verwendung der GitHub Copilot-Modernisierung, um eine vordefinierte Aufgabe zum Migrieren eines Java-Projekts zu Azure anzuwenden:


Aufgabenliste

Die GitHub Copilot-Modernisierung unterstützt derzeit die folgenden vordefinierten Aufgaben:

  • RabbitMQ zu Azure Service Bus

    Diese Aufgaben konvertieren Java Anwendungen, die RabbitMQ - über Spring Advanced Message Queuing Protocol (AMQP), Spring Java Message Service (JMS) oder Java EE / Jakarta EE über AMQP verwenden , um stattdessen den verwalteten Dienst Azure Service Bus zu verwenden und dabei die Messagingmuster und Semantik beizubehalten, während die sichere Authentifizierung standardmäßig aktiviert wird.

  • Verwaltete Identitäten für die Datenbankmigration zu Azure

    Die Azure-Datenbankangebote – Azure SQL Server, Azure-Datenbank für MySQL, Azure-Datenbank für PostgreSQL, Azure Cosmos DB für Cassandra-API und Azure Cosmos DB für MongoDB – unterstützen sichere Anmeldung mit verwalteter Identität. Wenn Sie eine Anwendung aus einer lokalen Datenbank zu einer verwalteten Azure-Clouddatenbank migrieren, hilft Ihnen diese Aufgabe bei der Vorbereitung Ihrer Codebasis für die Authentifizierung verwalteter Identitäten in der Datenbank.

  • Verwaltete Identitäten für die Migration von Anmeldeinformationen in Azure

    Die Authentifizierung mithilfe von Verbindungszeichenfolgen führt zu Sicherheitsrisiken und Wartungsaufwand. Diese Aufgabe transformiert Ihre Java-Anwendungen so, dass die verwaltete Identitätsauthentifizierung von Azure für Messagingdienste wie Azure Event Hubs und Azure Service Bus verwendet wird. Wenn Sie in Microsoft Identity-Clientbibliotheken integriert werden, muss Ihr Code keine vertraulichen Verbindungszeichenfolgen mehr oder freigegebene Zugriffssignaturen in Konfigurationsdateien speichern.

  • Amazon Web Services (AWS) S3 zu Azure Storage Blob

    Wenn Sie Ihren Dienst von AWS zu Azure migrieren, können Sie von AWS S3 zu Azure Storage Blob wechseln. Mit dieser Aufgabe können Sie die Codelogik, die mit AWS S3 interagiert, in Codelogik konvertieren, die mit Azure Storage Blob arbeitet, während die gleiche Semantik beibehalten wird.

    Dieses Migrationswissen wurde in Zusammenarbeit mit dem Azure Storage Team entwickelt, das sich auf sein umfassendes Know-how in Blob Storage APIs, Authentifizierungsmustern und plattformspezifischen Verhaltensweisen bezieht, um sicherzustellen, dass die Anleitung bewährte Methoden der Produktion widerspiegelt.

  • Protokollierung in lokale Datei

    Azure-Hostingdienste sind standardmäßig in Azure Monitor integriert und erfassen die Protokollausgabe in der Konsole und ermöglichen es Ihnen, sie abzufragen und zu überwachen. Gleichzeitig wird die Protokollierung bei Dateien in einer Cloudumgebung nicht empfohlen, da eine zusätzliche Protokollrotation und Übertragung erforderlich ist. Mit dieser Aufgabe können Sie die dateibasierte Protokollierung in Ihrer Anwendung in die konsolenbasierte Protokollierung konvertieren, sodass sie für die Integration in Azure Monitor bereit ist.

  • Lokale Datei-E/A für Azure Storage Dateifreigaben

    Azure-Hostingdienste bieten Flexibilität bei der Bereitstellung, Skalierung, Failover und mehr. Gleichzeitig ist das Dateisystem für eine bestimmte Anwendungslaufzeit vorübergehend. Wenn Ihre Anwendung aus einer lokalen Datei liest oder in eine lokale Datei schreibt, hilft Ihnen diese Aufgabe dabei, solche Fälle zu identifizieren und in den Zugriff auf den einheitlichen Bereitstellungspfad zu konvertieren. Auf diese Weise können Sie eine Azure Storage File-Freigabe an den angegebenen Pfad einbinden, sodass Ihre Anwendung Daten über verschiedene Replikate hinweg freigeben und speichern kann, ohne sich um Verlagerung, Failover oder ähnliche Probleme zu kümmern.

  • Java Mail für Azure Communication Services

    Das Migrieren von Anwendungen mit SMTP-Abhängigkeiten (Simple Mail Transfer Protocol) kann eine Herausforderung darstellen, da nicht alle Azure-Umgebungen ausgehende Anforderungen an Port 25 unterstützen. Diese Aufgabe hilft beim Konvertieren einer Anwendung, die E-Mails über SMTP sendet, um Azure Communication Services zu verwenden, die vollständig mit Azure-Hostingumgebungen kompatibel ist.

  • Geheime Schlüssel und Zertifikatverwaltung für Azure Key Vault

    Diese Aufgabe hilft beim Migrieren vertraulicher Sicherheitsressourcen zu Azure Key Vault. Es unterstützt sowohl hartcodierte geheime Schlüssel in Ihrer Codebasis als auch lokale TLS/mTLS-Zertifikate, die in Java KeyStores verwaltet werden. Für Geheimnisse identifiziert es verdächtige geheime Texte und wandelt sie in eine Logik um, die die Daten aus Azure Key Vault abruft. Bei Zertifikaten übergibt sie Ihre Anwendung von der lokalen Verwaltung von Zertifikaten zur Verwendung des JCA-Anbieters (Java Cryptography Architecture) von Azure Key Vault, wobei die gleichen Funktionen und Sicherheitsstatus beibehalten werden.

  • Kryptografievorgänge in Azure Key Vault

    Java Anwendungen, die kryptografische Vorgänge ausführen, verwalten Schlüssel außerhalb eines zentralisierten, auditierbaren Diensts lokal. Diese Aufgabe migriert lokale Kryptografielogik zu Azure Key Vault, sodass Signatur-, Überprüfungs-, Verschlüsselungs- und Entschlüsselungsvorgänge für Schlüssel ausgeführt werden, die niemals den Tresor verlassen, während das vorhandene Verhalten der Anwendung beibehalten wird.

  • Benutzerauthentifizierung bei der Microsoft Entra ID-Authentifizierung

    Java-Anwendungen verwenden häufig LDAP-basierte Authentifizierungslösungen, die nicht einfach zu Azure migriert werden. Diese Aufgabe hilft Ihnen, Ihren lokalen Benutzerauthentifizierungsmechanismus auf einen zu übertragen, der Microsoft Entra-ID für die Authentifizierung verwendet.

  • Datenbankprodukte für Azure-Datenbankangebote

    Java Anwendungen, die auf lokalen Datenbanken ausgeführt werden – einschließlich Oracle, IBM Db2, Informix und Sybase Adaptive Server Enterprise (ASE) – können zu Azure Database for PostgreSQL oder Azure SQL-Datenbank für eine vollständig verwaltete Cloudumgebung migriert werden. Diese Aufgaben aktualisieren die Anwendung so, dass sie eine Verbindung mit der Zieldatenbank Azure Datenbank mit kennwortloser Microsoft Entra ID Authentifizierung herstellt und quellspezifische SQL-Syntax, Datentypen und Funktionen mit dem Zieldialekt abgleicht, sodass die Anwendung das gleiche Verhalten für Azure behält.

  • AWS Secret Manager für Azure Key Vault

    Für den Wechsel von AWS Secret Manager zu Azure Key Vault muss neu konfiguriert werden, wie Ihre Anwendung vertrauliche Informationen verarbeitet. Diese Aufgabe transformiert alle Aspekte der geheimen Verwaltung in Ihrem Code – vom Erstellen und Abrufen bis hin zum Aktualisieren und Löschen – und verwendet die umfassenden Sicherheitsfunktionen und Authentifizierungsmodelle von Azure Key Vault.

  • ActiveMQ zu Azure Service Bus

    Anwendungen, die auf Apache ActiveMQ basieren, können modernisiert werden, um den verwalteten Messagingdienst von Azure zu verwenden. Diese Aufgabe konvertiert Ihre ActiveMQ-Nachrichtenhersteller, Verbraucher, Verbindungsfabriken und Warteschlangen-/Themeninteraktionen in ihre Azure Service Bus-Entsprechungen und implementiert bewährte Methoden für Zuverlässigkeit und Authentifizierung in Cloudumgebungen.

  • Amazon Webdienste (AWS) Simple Queue Service (SQS) zu Azure Service Bus

    Der Übergang von AWS SQS zu Azure Service Bus umfasst das Erneute Implementieren von Warteschlangenvorgängen und Nachrichtenverarbeitungsmustern. Diese Aufgabe übersetzt SQS-spezifische Codekonstrukte in ihre Azure Service Bus-Entsprechungen und bewahrt kritische Messagingsemantik wie Übermittlung mindestens einmal, Nachrichtenbatching und Verhalten bei Sichtbarkeitstimeout, während die erweiterten Sicherheitsfunktionen von Azure eingeführt werden.

  • Ant/Eclipse-Projekt zum Maven-Projekt

    Java Projekte, die mit Apache Ant oder als Eclipse IDE-Projekte erstellt wurden, hängen von imperativen Skripts oder IDE-spezifischen Metadaten ab, die das Abhängigkeitsmanagement erschwert und automatisierte, headless Builds erschwert. Diese Vorgänge konvertieren Ihr Ant- oder Eclipse-Projekt in ein Maven-Projekt, das konsistent aus jeder Umgebung erstellt wird, wobei Abhängigkeiten durch Maven und das Projektlayout, das an Maven-Konventionen ausgerichtet ist, aufgelöst werden, während der Quellcode unverändert bleibt.

  • Cachinglösungen für Azure Managed Redis

    Anwendungen basieren häufig auf verschiedenen Cachelösungen – von Speicherbibliotheken bis hin zu verteilten Systemen (wie Infinispan, SwarmCache und Memcached), die ohne nahtlose Azure Integration und zentrale Skalierbarkeit oder Sicherheit fehlen. Diese Aufgabe modernisiert die Caching-Schicht durch die Migration dieser Implementierungen auf Azure Managed Redis (oder den auslaufenden Azure Cache for Redis) und ermöglicht so cloudnative Skalierbarkeit, eine einheitliche Verwaltung sowie verbesserte Sicherheit durch kennwortlose Authentifizierung mit Microsoft Entra ID, während das bestehende Caching-Verhalten erhalten bleibt.

Siehe auch

Schnellstart: Erstellen und Anwenden eigener Fähigkeiten