Wählen Sie die richtigen Azure-Dienste für Ihre Java-Anwendungen aus.

Dieser Artikel führt Sie über die Verwendung von Azure-Diensten für die Java-Anwendungsbereitstellung und betont die Unterstützung von Azure für verschiedene Java-Technologien und -Architekturen. Es beschreibt Bereitstellungsmethoden wie "Lift and Shift", Containerisierung und Platform-as-a-Service (PaaS), die auf verschiedene Steuerungs- und Einfachheitsebenen zugeschnitten sind.

Der Artikel befürwortet eine A+B-Denkweise und berät Sie bei der Auswahl von Diensten basierend auf den Anwendungsanforderungen über eine feste A- oder B-Wahl. Es schlägt vor, Anwendungsfälle, Geschäftsziele, Sicherheit und Budget für einen flexiblen Ansatz zu berücksichtigen. Der Artikel hebt die Partnerschaft von Microsoft mit Denführern des Java-Ökosystems hervor, um entwicklerfreundliche Erfahrungen zu verbessern und Azure-Dienste für die Bereitstellung von Java-Anwendungen – ob als Quelle, Binärdateien oder Container – zu empfehlen. Dieser differenzierte Ansatz hilft Ihnen, sich auf Innovation zu konzentrieren, unterstützt durch das Engagement von Microsoft, Java-Anwendungen mit den am besten geeigneten Azure-Diensten für Ihre Bereitstellungsstrategie bereitzustellen, Effizienz, Skalierbarkeit und Kosteneffizienz zu maximieren.

Bereitstellen einer beliebigen Java-Anwendung mit Vertrauen und Leichtigkeit

Das Java-Ökosystem umfasst verschiedene Technologien wie Java SE, Jakarta EE (Nachfolger von Java EE und J2EE), Spring, zahlreiche Anwendungsserver und andere Frameworks. Ganz gleich, was Sie mit Java tun – z. B. das Erstellen einer App, das Verwenden eines Frameworks und das Ausführen eines Anwendungsservers – Azure-Support Ihre Workload mit einer Fülle von Auswahlmöglichkeiten. Ebenso Azure-Support jede Anwendungsarchitektur – von monolithischen Anwendungen, die auf virtuellen Computern oder in Containern ausgeführt werden, bis hin zu cloudeigenen, mikroservicesbasierten Anwendungen, die auf vollständig verwalteten Diensten ausgeführt werden.

Azure bietet die folgenden drei primären Methoden zum Ausführen von Java-Anwendungen in der Cloud, die auf unterschiedliche Steuerungs- und Einfachheitsebenen zugeschnitten sind:

  • Der Ansatz "Lift and Shift" ermöglicht eine minimale Änderung der Migration vorhandener Anwendungen direkt auf virtuelle Azure-Computer.

  • Containerisierung bietet Flexibilität, wobei Azure Kubernetes Service (AKS) und Azure Red Hat OpenShift die Standard Plattformen für die Orchestrierung von containerisierten Apps sind.

  • Platform-as-a-Service (PaaS) stellt den Höhepunkt der Leichtigkeit und Effizienz dar, was eine optimale Produktivität der Entwickler und die betriebswirtschaftliche Verwaltbarkeit bietet, die häufig mit den wirtschaftlichsten Gesamtbetriebskosten verbunden ist.

Unabhängig von der Phase Ihrer Java-Anwendungsentwicklung bietet Azure eine kompatible Cloudlösung, um Ihre Anforderungen zu erfüllen. Weitere Informationen zu diesen Angeboten finden Sie in der Bereitstellung von Java-Anwendungen mit Vertrauen und Leichtigkeit.

Vollständige Portabilität für Ihre Java-Anwendungen: Nahtlos überall bereitstellen

Unabhängig davon, welchen Azure-Dienst Sie für Ihre Java-Anwendung auswählen, ist die Flexibilität Ihrer Anwendung garantiert. Da Sie über den Java-Code und die kompilierten Ausgaben verfügen, haben Sie die Freiheit, Ihre Anwendung überall bereitzustellen – sei es auf Ihrem lokalen Entwicklungscomputer, erstellen Sie Server, lokale Umgebungen oder eine beliebige Cloudplattform Ihrer Wahl. Die Portabilität Ihrer Anwendung liegt in Ihren Händen.

Natürlich, wenn es so viele Auswahlmöglichkeiten gibt, stehen Sie vor einem Dilemma.

Dilemma – Service A oder B für Java-Anwendungen verwenden

Wenn Sie in den Angeboten von Azure navigieren, kann das Dilemma auftreten, den am besten geeigneten Azure-Dienst für die Ausführung Ihrer Java-Anwendungen auszuwählen. Diese Auswahl ist entscheidend, da sie die Zeit für die Ressourcenplanung, das Budget, das Projekt Zeitleiste und letztendlich die Marktzeit Ihrer Anwendung beeinflusst. Die Entscheidung betrifft nicht nur die anfänglichen Bereitstellungskosten, sondern auch die laufenden Standard kosten.

In der Vergangenheit fühlten sich Organisationen oft gezwungen, zwischen zwei Plattformen, Technologien oder konkurrierenden Lösungen für ihre Softwareanwendungen zu wählen. Beispielsweise mussten Organisationen zwischen WebLogic oder WebSphere für Java Enterprise-Anwendungen, Docker-Schwarm oder Kubernetes für containerverwaltung oder Containern im Vergleich zu virtuellen Computern (VMs) für die Bereitstellung entscheiden. Dieser Entscheidungsprozess wird als "A- oder B-Denkweise" bezeichnet und unterscheidet sich erheblich von A/B-Tests, was eine Methode ist, um zwei Versionen einer Webseite oder App miteinander zu vergleichen, um zu bestimmen, welche Leistung besser funktioniert. Stattdessen geht es bei der A- oder B-Denkweise in diesem Kontext darum, eine Plattform oder Technologie für die Anwendungsbereitstellung auszuwählen. Es kommt aus herkömmlichen lokalen Praktiken, bei denen Entscheidungen häufig durch Faktoren wie paketierte Softwarebereitstellungsmodelle, erhebliche Vorabinvestitionen in Infrastruktur- und Softwarelizenzierung und die langen Vorlaufzeiten zum Erstellen und Bereitstellen jeder Anwendungsplattform eingeschränkt werden.

Diese Denkweise in Azure zu bringen, kann zu übermäßiger Zeit für die Erstellung einer einzelnen Plattform führen, die versucht, alle Anwendungen aufzunehmen, was möglicherweise zu Verzögerungen und Ineffizienzen führt. Azure bietet jedoch einen vorteilhafteren Ansatz und ermutigt einen Wechsel von dieser restriktiven Denkweise zu einer, die das Beste aus beiden Welten einschließt und letztendlich eine bessere Rendite für Investitionen (ROI) erzielt.

Während Sie zu Azure wechseln, bietet die Cloudumgebung ein flexibles Paradigma, in dem Sie Ressourcen gemäß Ihren Anforderungen bereitstellen und aufheben können, ohne dass die Notwendigkeit besteht, zwischen einem Dienst über einen anderen zu wählen. Diese Flexibilität folgt dem A+B-Ansatz, einer Strategie, die von der traditionellen A- oder B-Denkweise abweicht, indem sie eine breitere, integrativere Denkweise fördert. Azure erleichtert diese Umstellung, indem es sowohl einfach als auch kosteneffizient ist, die Vorteile mehrerer Dienste zu kombinieren und eine A+B-Denkweise einzuführen. Dieser Ansatz unterstreicht das Prinzip der Auswahl von Diensten, die am besten den spezifischen Anforderungen Ihrer Anwendung entsprechen, wobei im Wesentlichen die Auswahl des richtigen Tools für die jeweilige Aufgabe angerufen wird.

Der Übergang zu einer A+B-Denkweise ermöglicht Es Organisationen, ihre Entscheidungsprozesse und technischen Strategien zu erweitern und neue Möglichkeiten und Möglichkeiten zu nutzen, die diese Denkweise bietet. In diesem Artikel werden die Prinzipien der A+B-Denkweise beschrieben, sodass Sie Azure-Dienste sorgfältig auswählen können, die den Anforderungen Ihrer Anwendung am effektivsten entsprechen. Ganz gleich, ob Azure Spring Apps, Azure-App Service, Azure Container Apps (ACA), Azure Kubernetes Service oder virtuelle Computer, die A+B-Denkweise ermöglicht Ihnen die Bewertung und Auswahl aus einem Array von Azure Services zum Hosten Ihrer Anwendungen. Diese Philosophie gilt universell, über die Grenzen von Sprache und Rahmen hinaus. Obwohl Java-Anwendungen hier den Fokus haben, ist die A+B-Denkweise gleichermaßen relevant und vorteilhaft für Anwendungen, die in jeder Programmiersprache entwickelt wurden.

Durch die Umarmung der A+B-Denkweise sind Sie nicht auf einen einzigen, vordefinierten Dienst beschränkt. Stattdessen können Sie Dienste auf eine Weise kombinieren, die den einzigartigen Anforderungen Ihrer Anwendung am besten entspricht. Dieser Ansatz verbessert nicht nur Flexibilität und Skalierbarkeit, sondern optimiert auch kosten- und betriebliche Effizienz. Dieser Ansatz stellt sicher, dass Ihre technische Strategie so dynamisch und anpassbar ist wie die Cloudumgebung, in der Sie arbeiten.

Warum es nicht notwendig ist, service A oder B zu berücksichtigen

Die Auswahl des richtigen Clouddiensts für Ihre Anwendungen muss keine binäre Entscheidung zwischen Dienst A oder Dienst B sein, dank der Flexibilität und Breite der Optionen, die die Cloud bietet, insbesondere mit Azure. In den folgenden Abschnitten wird beschrieben, warum das Festhalten an der herkömmlichen Wahl "eine oder andere" nicht notwendig ist und wie die Übernahme eines flüssigeren Ansatzes Ihren Vorgängen zugute kommt.

Von alten Gewohnheiten bis hin zu neuer Flexibilität

Traditionell waren die Bereitstellung von IT-Systemen erhebliche Investitionen in Hardware und Software verbunden, neben langen Setupzeiten. Diese Umgebung machte es logisch, eine Plattform sorgfältig auszuwählen und alles um sie herum zu optimieren, um Kosten und Ressourcen zu sparen. Die Cloudumgebung, einschließlich Azure, führt jedoch einen Paradigmenwechsel mit ihrer on-demand- und elastischen Natur ein. Sie zahlen nur für ihre Nutzung und passen Ihre Ressourcen an Ihre Bedürfnisse an, ohne dass die Anfänglichen Investitionsausgaben belastet werden.

Die Umstellung auf die Cloud

Der Wechsel zur Cloud und insbesondere zu Azure führt zu einer erheblichen Änderung der Verwaltung von Infrastruktur- und Plattformverantwortung. Ein Großteil der schweren Hebelastung, die zuvor von Ihrer Organisation ge schultert wurde, verlagert sich nun auf Microsoft, wie im folgenden Diagramm dargestellt. Diese Änderung vereinfacht Vorgänge und reduziert den Aufwand für die Verwaltung Ihrer Anwendungen. Sie sind nicht an die Einschränkungen der Verwaltung mehrerer Plattformen gebunden, indem Sie das beste Tool für jeden Auftrag freigeben, ohne sich gedanken über die zusätzlichen Kosten und Komplexitäten zu machen.

Das folgende Diagramm zeigt das Modell der gemeinsamen Verantwortung zwischen Kunden und Cloudanbietern:

Diagramm mit einer Tabelle, die das Modell der gemeinsamen Verantwortung zwischen Kunden und Cloudanbieter zeigt.

Auswählen der für jeden Bedarf am besten geeigneten

In dieser neuen Cloud-zentrierten Welt wird der Entscheidungsprozess mehr über die Auswahl des richtigen Tools für den richtigen Auftrag, anstatt zu versuchen, alle Ihre Anforderungen an einen vordefinierten Dienst anzupassen. Ganz gleich, ob sie zwischen Azure Kubernetes Service und Azure Spring Apps für Spring Boot-Anwendungen oder einem anderen Satz von Diensten wählen, der Fokus wird auf die Anforderungen jeder bestimmten Anwendung umgestellt.

Der Aufstieg von Microservices

Die Einführung von Microservices unterstützt diesen flexiblen Ansatz weiter. Durch den Entwurf fördern Microservices den Einsatz der am besten geeigneten Technologie für jeden Dienst und fördern eine technologische Vielfalt, die sich natürlich an die A+B-Denkweise richtet. Bei diesem Ansatz geht es darum, die Stärken verschiedener Dienste zu nutzen, um eine robustere, effizientere und skalierbare Anwendungsarchitektur zu erstellen.

Vorteile der Einführung von A+B

Die Einführung einer A+B-Denkweise bietet mehrere wichtige Vorteile. Es ermöglicht eine größere Flexibilität und Flexibilität, sodass Sie die am besten geeigneten Tools und Dienste für jeden Aspekt Ihrer Vorgänge auswählen können. Dieser Ansatz führt nicht nur zu einer besseren Ressourcen- und Kosteneffizienz, sondern verkürzt auch die Marktzeit für Ihre Produkte. Letztendlich fördert dieser Ansatz operative Exzellenz, indem Sie Ihre Technologieentscheidungen stärker an Ihre Geschäftlichen Bedürfnisse und Ziele ausrichten.

Zusammenfassend bietet die Cloud und Azure insbesondere eine neue Möglichkeit, ihre Anwendungen bereitzustellen und zu verwalten. Indem Sie sich von der restriktiven A- oder B-Wahl und der A+B-Denkweise entfernen, können Sie Entscheidungen treffen, die stärker auf die spezifischen Anforderungen Ihrer Anwendungen abgestimmt sind, was zu einer verbesserten Effizienz, Flexibilität und Kosteneinsparungen führt.

Praktische Anleitung für den Übergang zur A+B-Denkweise

In der folgenden Liste werden einige Schlüsselprinzipien aufgelistet, die Sie als Leitlinie für den Übergang zur A+B-Denkweise verwenden und damit fortfahren können:

  • Wechseln Sie von Anwendungsfall zu Lösung, nicht umgekehrt. Häufig entscheiden sich viele Softwareteams zuerst für Technologie und versuchen dann, die Anwendungsfälle und das Design zu erzwingen. In vielen Fällen verursacht dieser Ansatz einen erheblichen Mehraufwand in Bezug auf Kosten, Entwicklungszeit, Ressourcen und Betriebskosten. Verschaffen Sie sich Klarheit über Ihre Anwendungsfälle und Anforderungen, sowohl funktionale als auch nicht funktionsfähige, bevor Sie zur Lösung springen.

  • Verstehen Sie Ihre Geschäftsziele, die Art des Unternehmens und Ihren Wettbewerb und wie oft Sie neue Features für die Produktion bereitstellen müssen. Sie sollten Ihre Lösung immer so entwerfen, dass sie Ihren Geschäftszielen und -zielen entspricht.

  • Grundlegendes zu Sicherheits- und Complianceanforderungen. Im Zeitalter der Cloud, wo alles über das Internet zugegriffen wird, ist Sicherheit entscheidend und nicht verhandelbar. Abhängig von der Branche, die Sie bedienen, muss Ihre Anwendung möglicherweise bestimmte Complianceanforderungen erfüllen. Sie müssen Ihre Lösung für erweiterte Sicherheitsangriffe entwerfen und Ihre Complianceanforderungen erfüllen.

  • Verstehen Sie Ihr Budget und Zeitleiste. Sie haben ein klares Verständnis für Ihr Budget für die anfängliche Entwicklung, laufende Vorgänge und zukünftige Versionen. Darüber hinaus verstehen Sie Ihre Zeitleiste. Die Kosten verzögerter Projekte, sowohl in Bezug auf zusätzliche Ausgaben als auch negative Geschäftsauswirkungen, werden häufig unterschätzt. Entwerfen Sie Ihre Lösung so, dass sie sowohl Ihr Budget als auch Zeitleiste erfüllt.

  • Denken Sie ggf. an cloudnativ. Cloudnative Architekturen und Technologien sind ein Ansatz zum Entwerfen, Konstruieren und Betreiben von Workloads, die in der Cloud erstellt werden und die Vorteile des Cloud Computing-Modells voll ausschöpfen. Mit cloudnativ können Sie Anwendungen schneller in der Produktion erstellen und bereitstellen. Die Cloud bietet auch Funktionen, die möglicherweise nicht lokal möglich sind – z. B. Flexibilität, globale Skalierung, erweiterte Analysen, KI und Ml-Funktionen (Machine Learning). Entwerfen Sie Ihre Lösung basierend auf cloudeigenen Technologien so weit wie möglich.

  • Denken Sie an DevOps-Kultur. DevOps ist nicht nur Tools oder Prozesse, es ist eine Softwareentwicklungspraxis, die die Zusammenarbeit zwischen Entwicklung und Betrieb fördert, was zu einer schnelleren und zuverlässigeren Softwarebereitstellung führt. In der Regel als Kultur bezeichnet, verbindet DevOps Personen, Prozesse und Technologien, um einen kontinuierlichen Wert zu erzielen.

Wählen Sie die Lösung aus, die Ihren geschäftlichen und nicht funktionalen Anforderungen entspricht, eine der folgenden:

  • Am schnellsten zu implementieren.
  • Kosteneffizient in Bezug auf die Kosten für qualifikations-, gebäude-, bereitstellungs- und betriebsbezogene Vorgänge.
  • Einfach zu bedienen.
  • Vollständig kompatibel mit automatisierung.
  • Unterstützung von DevOps nach Design.

Diese Prinzipien helfen Ihnen dabei, ihren Fokus zu behalten – beim Erstellen einer Lösung, die Ihre Geschäftsziele erfüllt, anstatt die Lösung auf eine vordefinierte Plattform zu integrieren.

Ausnahmen

Wie alles andere gibt es Ausnahmen von A+B. Die folgende Liste ist nicht vollständig, bietet Ihnen jedoch anleitungen für einige Ausnahmen, die möglicherweise auftreten:

  • Unternehmensstrategie. Beispielsweise verwenden einige Unternehmen eine unternehmensweite Einführung von Containern, um Anwendungen zu erstellen und bereitzustellen, da sie möglicherweise über mehrere Programmiersprachen verfügen und alle Anwendungen auf einheitliche Weise erstellen und bereitstellen möchten.

  • Zu weit nach unten mit ausführung. Möglicherweise haben Sie eine Lösung ausgewählt, bevor Sie die A+B-Analyse durchlaufen. Wenn Sie bereits tief in die Ausführung Ihrer Lösung eingehen, fahren Sie damit fort, aber für die nächste Anwendung verwenden Sie die Prinzipien der A+B-Denkweise, um die richtige Lösung für Ihren Anwendungsfall auszuwählen.

  • Große Rechenzentrumsmigrationen. Um ihre Reise in die Cloud zu beschleunigen, verwenden Unternehmen häufig eine Strategie namens "Lift and Shift", die die Migration von Servern (Hosten ihrer Anwendungen) in massenweise zu Azure mit Tools wie Azure Migrate umfasst. Einige verwenden diesen Ansatz, um Rechenzentren nach Azure zu migrieren und sie auf effiziente und kostengünstige Weise herunterzufahren. In diesem Szenario empfehlen wir die Verwendung der A+B-Denkweise, um Anwendungen nach der Migration zu Azure zu modernisieren.

Wichtige Aspekte

Wir haben Ihnen das Framework für das Denken und die Prinzipien bereitgestellt, mit denen Sie die richtigen Ziele in Azure für Ihre Anwendungen auswählen können. Es ist keine Größe, die allen passt. Es ist nicht A oder B, sondern A + B.

Das folgende Diagramm fasst die wichtigsten Überlegungen zur Auswahl eines Azure-Diensts für eine beliebige Anwendung zusammen:

Diagramm, das eine Zusammenfassung der wichtigsten Überlegungen zur Auswahl eines Azure-Diensts für eine beliebige Anwendung zeigt.

Auswählen der richtigen Azure-Dienste für Ihre Java-Anwendungen

Um den Auswahlprozess inmitten der Vielzahl von Technologieoptionen für Java-Anwendungen in Azure zu optimieren, haben wir einen einfachen Entscheidungsbaum erstellt, der Entwicklern, Kunden und Systemintegratoren bei ihrem optimalen Azure-Dienst hilft.

Neben den praktischen Anleitungen für die Betrachtung nicht funktionaler Anforderungen aus technologischer Sicht ist die erste Frage, ob Sie kontrolle über die Infrastruktur benötigen. Wenn sie nicht, sind verwaltete Dienste die beste, am besten empfohlene Route. Die Art der Anwendungen – ob spring- oder App Server-basiert – führt die Entscheidung weiter: Spring-Anwendungen richten sich an Azure Spring Apps, während Azure-App Service für Tomcat- oder JBoss EAP-Anwendungen geeignet ist.

Für diejenigen, die Infrastrukturkontrolle erfordern, hängt die Auswahl an den Multi-Cloud-Technologieeinstellungen ab: Azure Virtual Machines bietet einen einfachen Übergang, und für diejenigen, die mit Tanzu integriert sind, sind die Tanzu auf IaaS Marketplace-Angeboten ideal. Kunden, die in Kubernetes investiert haben, haben die Optionen von Azure Kubernetes Service und Azure Red Hat OpenShift. Dieses Entscheidungsframework wurde entwickelt, um die Auswahl zu vereinfachen, indem Kundenanforderungen mit den am besten geeigneten Lösungen von Azure kombiniert werden.

Microsoft arbeitet mit zahlreichen Partnern zusammen, einschließlich Partnern in den folgenden Bereichen:

  • Führende Java-Ökosystempartner wie Oracle, Broadcom, Red Hat, IBM und OpenAI.
  • Wichtige Datenbank- und Toolorganisationen wie MySQL, PostgreSQL, MongoDB Labs, DataStax, Redis Labs, Confluent und Elastic.
  • Observability-Experten wie New Relic, Dynatrace, AppDynamics, Grafana Labs und Datadog.
  • Entwicklungstools wie IntelliJ, Maven und Gradle.

Unsere kombinierte Investition geht in das Erstellen reibungsloser Entwicklererfahrungen ein und sorgt für nahtlose Integrationen mit wichtigen Diensten wie Datenbanken, Caches, Messaging und Verzeichnissen sowie umfassende Tools für die Observierbarkeit. Mit Automatisierung, Lastenausgleich und automatischer Skalierung wollen wir die Last des Infrastrukturmanagements von Ihren Schultern nehmen. Diese Unterstützung ermöglicht Es Ihnen, sich auf die Erstellung von Geschäftswert durch Ihren Code zu konzentrieren, und vertrauen sie auf das Wissen, dass die zugrunde liegenden Systeme robust und skalierbar sind. Aus diesen Gründen empfehlen wir die Verwendung bestimmter Azure-Dienste zum Hosten und Ausführen Ihrer Java-Anwendungstypen.

Bereitstellen von Java-Anwendungen als Quell- oder Binärdateien

Für Java-Anwendungen in Azure, unabhängig davon, ob sie direkt aus Quellcode oder als kompilierte Binärdateien (JAR- oder WAR- oder EAR-Dateien) bereitgestellt werden, wird die Bereitstellung dank der umfassenden Dienstangebote von Azure optimiert, die speziell für diese Zwecke entwickelt wurden. Die inhärente Portabilität von Java-Anwendungen bedeutet, dass Azure eine breite Palette von Diensten bereitstellen kann, um Ihre einzigartigen Bereitstellungsstrategien und betrieblichen Anforderungen zu erfüllen. Diese Flexibilität stellt sicher, dass unabhängig von den Besonderheiten Ihrer Java-Anwendung ein Azure-Dienst vorhanden ist, der perfekt zu Ihren Anforderungen passt.

Betrachten Sie die folgenden drei Beispiele, die zeigen, wie Azure auf verschiedene Java-Anwendungsbereitstellungsszenarien ausgerichtet ist:

  • Spring Applications. Für Entwickler, die mit Spring-Anwendungen arbeiten, arbeitete Microsoft Azure mit Tanzu von Broadcom zusammen, einem Führenden in Spring Open-Source-Projekten, um einen erstklassigen Clouddienst anzubieten, der als Azure Spring Apps bezeichnet wird. Diese Zusammenarbeit verbessert entwicklerfreundlichkeit, indem beliebte Entwicklungstools wie IntelliJ, VS Code, Maven und Gradle sowie Automatisierungstools wie Azure DevOps, GitHub Actions und Jenkins integriert werden. Observability-Tools wie Application Insights, New Relic, Dynatrace, App Dynamics, Grafana, Log Analytics, Elastic und Splunk werden ebenfalls unterstützt. Sicherheit ist eine oberste Priorität, mit Integrationen für die Verarbeitung geheimer Schlüssel und TLS/SSL-Zertifikate, "kennwortlose" Authentifizierung mit Sicherungsdiensten über verwaltete Identitäten und Azure rollenbasierte Zugriffssteuerung (RBAC), um einen sicheren, optimierten Bereitstellungsprozess für Spring-Apps in der Cloud sicherzustellen.

  • Java-Anwendungen auf JBoss EAP. Ebenso gibt es für Java-Anwendungen, die JBoss EAP verwenden, eine maßgeschneiderte Erfahrung dank der Zusammenarbeit zwischen dem Microsoft Azure-Team und Red Hat JBoss EAP-Teams. Diese Partnerschaft führte zu einer verbesserten Unterstützung für Azure-App Service und bietet eine vielzahl von Features, die für JBoss EAP-Anwendungen entwickelt wurden. Mit dieser Unterstützung können Sie die kombinierte Expertise von Microsoft und Red Hat nutzen, um sicherzustellen, dass Ihre Java-Anwendungen reibungslos, sicher und effizient auf Azure ausgeführt werden.

  • Enterprise Java Applications on WebLogic. Herkömmliche Java-Anwendungen für Unternehmen, die auf Oracle WebLogic ausgeführt werden, weisen auch einen dedizierten Pfad zu Azure auf. Die Zusammenarbeit zwischen Microsoft Azure und den Oracle WebLogic-Teams ebnete den Weg für eine optimierte Bereitstellung auf virtuellen Azure-Computern. Diese Partnerschaft erstreckt sich auf die Integration mit grundlegenden IaaS-Features wie virtuellen Computern, Speicher, Netzwerk und Lastenausgleich, die eine solide Grundlage für Unternehmens-Java-Anwendungen in Azure bieten. Durch diesen koordinierten Aufwand wird sichergestellt, dass Anwendungen sowohl von der Robustität von WebLogic als auch von der Skalierbarkeit und Flexibilität der Azure-Infrastruktur profitieren.

In diesen Szenarien wird das Engagement von Azure hervorgehoben, eine flexible, sichere und effiziente Bereitstellungsumgebung für Java-Anwendungen anzubieten, die auf verschiedene Frameworks und Architekturen abzielen. Azure bietet auch spezielle Dienste für andere Java-Anwendungen, z. B. solche, die auf Tomcat oder WebSphere ausgeführt werden, und stellt sicher, dass ein Azure-Dienst für jeden Java-Anwendungstyp geeignet ist.

Entwickler und Betreiber erhalten eine reibungslose und produktive Cloudbereitstellung, indem sie diese maßgeschneiderten Azure-Dienste verwenden, ihre Java-Anwendungen automatisieren und schützen. Wenn Sie jedoch alternative Bereitstellungsoptionen auswählen, müssen Sie die Erstellung und Standard Von diesen grundlegenden Entwickler- und Betreibererfahrungen selbst behandeln.

Das folgende Diagramm zeigt empfohlene Azure-Dienste für jeden Java-Anwendungstyp, der als Quell- oder Binärdateien bereitgestellt wird:

Diagramm, das die empfohlenen Azure-Dienste für jeden Java-Anwendungstyp zeigt, der als Quelle oder Binärdateien bereitgestellt wird.

Wenn Sie mehr über die in diesem Diagramm referenzierten Dienste erfahren möchten, verwenden Sie die Links in der folgenden Tabelle:

Dienst Schnellstart für Java-Apps – als Quelle oder Binärdateien bereitgestellt
Azure Spring Apps Bereitstellen einer Spring-App
App Service Bereitstellen einer Java-App auf Tomcat
Bereitstellen einer Java-App auf JBoss EAP
Azure-Funktionen Bereitstellen einer Java-Funktions-App
Dokumentation zu virtuellen Computern Oracle WebLogic Server auf virtuellen Azure-Computern
IBM WebSphere-Familie auf virtuellen Azure-Computern

Bereitstellen von Java-Anwendungen als Container

Bei der Bereitstellung von Java-Anwendungen stellt die Containerisierung einen modernsten Ansatz dar, der die Automatisierung bei der Containererstellung, -verwaltung und -governance in unternehmenweit verbessert. Die Herausforderung liegt in der sicheren und zuverlässigen Erstellung von Containern, einem entscheidenden Schritt für die schnelle Bereitstellung qualitativ hochwertiger containerisierter Softwareanwendungen. Dieser Prozess kann von Grund auf neu beginnen oder vorhandene Containersysteme verwenden und Tools integrieren, die Code und Binärdateien kompilieren und speichern, um Containerupdates und -verwaltung zu optimieren. Eine solche Integration ist von entscheidender Bedeutung für die Anpassung an Die Pipelines für kontinuierliche Integration/Kontinuierliche Bereitstellung (CI/CD), die eine flexible Bereitstellungsmethode für Java-Anwendungen in Containerform bieten.

Azure-Dienste heben sich nicht nur durch beschleunigungsgerechte Bereitstellung von containerisierten Anwendungen hervor, sondern bieten auch klare Pfade für die Bereitstellung aus Quellen oder Binärdateien. Dieser duale Ansatz minimiert die Auswirkungen auf Entwickler und verringert die Last für Infrastruktur- oder Plattformbetreiber. Angesichts der inhärenten Portabilität von Java stellt azures breite Auswahl von Containerdiensten sicher, dass Sie die perfekte Übereinstimmung für Ihre Bereitstellungsstrategie und Ihre Anforderungen finden.

Betrachten Sie die folgenden beiden Beispiele, die zeigen, wie Azure containerisierte Java-Anwendungsbereitstellungsszenarien erfüllt:

  • Spring Applications. Azure Spring Apps ist eine ausgezeichnete Wahl für containerisierte Spring-Anwendungen. Es unterstützt mehrere Bereitstellungstypen, einschließlich Quell-, Binärdateien oder Containerimages. Mit dieser Flexibilität können Sie problemlos zwischen Bereitstellungsmethoden wechseln. Möglicherweise beginnen Sie mit Containern, entscheiden sich aber später für die Bereitstellung als Quellen oder Binärdateien. Diese Option ist vorteilhaft, da sie die Notwendigkeit des laufenden Gebäudes und der Standard Intensität von Containern umgangen, was umständlich, sich wiederholend und zeitintensiv sein kann.

  • Java-Anwendungen auf Tomcat. Azure-App Service eignet sich für die Containerisierung von Java-Anwendungen, die auf Tomcat ausgeführt werden sollen. Er bietet verschiedene Bereitstellungstypen, z. B. Binärdateien oder Containerimages. Wie Azure Spring Apps bietet dieser Dienst Flexibilität, um zwischen Bereitstellungsstrategien zu wechseln. Sie können mit der Containerbereitstellung beginnen und Standard die Option beibehalten, zu einem späteren Zeitpunkt zur Bereitstellung von Binärdateien (WARs und JARs) zu wechseln. Diese Vielseitigkeit stellt sicher, dass Sie die effizienteste Bereitstellungsmethode für Ihr spezifisches Szenario auswählen können, um den Entwicklungs- und Bereitstellungsprozess zu optimieren.

Diese Beispiele unterstreichen das Engagement von Azure für die Bereitstellung vielseitiger, effizienter und entwicklerfreundlicher Umgebungen für die Bereitstellung von Java-Anwendungen, ob über herkömmliche Methoden oder moderne Containerisierung.

Das folgende Diagramm zeigt die empfohlenen Azure-Dienste für jeden Java-Anwendungstyp, der als Container bereitgestellt wird:

Diagramm, das empfohlene Azure-Dienste für jeden Java-Anwendungstyp zeigt, der als Container bereitgestellt wird.

Wenn Sie mehr über die in diesem Diagramm referenzierten Dienste erfahren möchten, verwenden Sie die Links in der folgenden Tabelle:

Dienst Schnellstart für containerisierte Java-Apps
Azure Spring Apps Bereitstellen einer Spring-App
App Service Bereitstellen einer Java-App auf Tomcat
Azure Red Hat OpenShift Bereitstellen einer Java-App auf JBoss EAP
Azure Kubernetes Service (AKS) Bereitstellen einer Java-App auf WebLogic Server
Bereitstellen einer Java-App auf WebSphere Liberty
Azure Container Apps Bereitstellen einer Quarkus-App

Zusammenfassung

Bei der Navigation in der Bereitstellung von Java-Anwendungen bietet Azure einen differenzierten A+B-Ansatz, der ein Spektrum an Diensten bietet, die auf die Anforderungen jeder Anwendung zugeschnitten sind. Die Zusammenarbeit von Microsoft mit den Führenden des Java-Ökosystems führte zu einer Suite von Azure-Diensten, die jeweils für bestimmte Java-Anwendungstypen empfohlen werden , die als Quelle, Binärdateien oder Container bereitgestellt werden, um den Bereitstellungsprozess zu optimieren und eine optimale Leistung sicherzustellen. Dieser Schwerpunkt liegt auf dem Abgleich von Bereitstellungsstrategien mit den am besten geeigneten Azure-Diensten und unterstreicht das Engagement von Microsoft, Ihnen die Flexibilität zu bieten, die richtigen Tools für den Auftrag auszuwählen. Die inhärente Portabilität von Java-Anwendungen ist ein wichtiger Vorteil, sodass ein nahtloser Übergang zwischen lokalen Systemen und verschiedenen Cloudanbietern zur Verbesserung der betrieblichen Effizienz und Flexibilität ermöglicht wird. Durch den Aufruf für diesen breiteren, integrativeren Auswahlprozess vereinfacht Microsoft nicht nur die Cloud-Reise für Java-Anwendungen, sondern maximiert auch Skalierbarkeit, Sicherheit, Observierbarkeit und Kosteneffizienz. Letztendlich ermöglicht Microsoft es Entwicklern und Unternehmen, das Ökosystem von Azure zu nutzen, um sicherzustellen, dass jede Java-Anwendung in der Cloudumgebung am besten für ihre Anforderungen geeignet ist.

Nächster Schritt

Azure-Dokumentation für Java-Entwickler