Auswählen der passenden Azure-Services für Ihre Java-Anwendungen
Dieser Artikel erläutert die Verwendung von Azure-Services für die Java-Anwendungsbereitstellung und betont die Unterstützung von Azure für verschiedene Java-Technologien und -Architekturen. Er beschreibt Bereitstellungsmethoden wie „Lift and Shift“, Containerisierung und Platform-as-a-Service (PaaS), die auf verschiedene Steuerungs- und Einfachheitsebenen zugeschnitten sind.
Der Artikel fördert eine A+B-Denkweise und berät Sie bei der Auswahl von Services 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 führenden Unternehmen im Java-Ökosystem hervor, um entwicklerfreundliche Umgebungen zu verbessern und Azure-Services für die Bereitstellung von Java-Anwendungen – ob als Quelle, Binärdateien oder Container – zu empfehlen. Dieser differenzierte Ansatz hilft Ihnen, sich auf Innovationen zu konzentrieren, unterstützt durch das Engagement von Microsoft dafür, Java-Anwendungen mit den am besten geeigneten Azure-Services für Ihre Bereitstellungsstrategie bereitzustellen, sowie Effizienz, Skalierbarkeit und Kosteneffizienz zu maximieren.
Problemlose und sichere Bereitstellung beliebiger Java-Anwendungen
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 oder das Ausführen eines Anwendungsservers – Azure unterstützt Ihre Workloads mit einer Fülle von Auswahlmöglichkeiten. Ebenso unterstützt Azure jede Anwendungsarchitektur – von monolithischen Anwendungen, die auf virtuellen Computern oder in Containern ausgeführt werden, bis hin zu cloud-nativen, auf Mikroservices basierenden Anwendungen, die auf vollständig verwalteten Services 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 Migration mit minimalen Änderungen an vorhandenen Anwendungen direkt auf virtuelle Azure-Computer.
Die Containerisierung bietet Flexibilität, wobei Azure Kubernetes Service (AKS) und Azure Red Hat OpenShift die wichtigsten Plattformen für die Orchestrierung von containerisierten Apps sind.
Platform-as-a-Service (PaaS) bietet äußerste Einfachheit und Effizienz, was optimale Produktivität der Entwickler und operationale Verwaltbarkeit ermöglicht, häufig verbunden mit sehr wirtschaftlichen Gesamtbetriebskosten.
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 Einfache und sichere Bereitstellung von Java-Anwendungen.
Vollständige Portabilität für Ihre Java-Anwendungen: Nahtlose Bereitstellung überall
Unabhängig davon, welchen Azure-Service Sie für Ihre Java-Anwendung auswählen, ist die Flexibilität Ihrer Anwendung garantiert. Da Sie über den Java-Code und seine kompilierten Ausgaben verfügen, haben Sie die Freiheit, Ihre Anwendung überall bereitzustellen – sei es auf Ihrem lokalen Entwicklungscomputer, auf Build-Servern, in lokalen Umgebungen oder auf einer beliebigen Cloudplattform Ihrer Wahl. Die Portabilität Ihrer Anwendung liegt in Ihren Händen.
Natürlich stehen Sie vor einem Dilemma, wenn es so viele Auswahlmöglichkeiten gibt.
Dilemma – Verwendung von Service A oder B für Java-Anwendungen
Wenn Sie sich die Angebote von Azure ansehen, kann es schwierig sein, den am besten geeigneten Azure-Service für die Ausführung Ihrer Java-Anwendungen auszuwählen. Diese Wahl ist sehr wichtig, da sie die Zeit für die Ressourcenplanung, das Budget, die Projektzeitpläne und letztendlich die Markteinführungszeit Ihrer Anwendung beeinflusst. Ihre Entscheidung betrifft nicht nur die anfänglichen Bereitstellungskosten, sondern auch die laufenden Wartungskosten.
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 sich Organisationen zwischen WebLogic oder WebSphere für Java Enterprise-Anwendungen, Docker Swarm oder Kubernetes für die 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, einer Methode, bei der zwei Versionen einer Webseite oder App miteinander verglichen werden, um festzustellen, welche davon die bessere Leistung erbringt. Stattdessen geht es bei der A- oder B-Denkweise in diesem Kontext darum, eine Plattform oder Technologie für die Anwendungsbereitstellung auszuwählen. Dies stammt aus herkömmlichen On-Premises-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 von Anwendungsplattformen eingeschränkt werden.
Bei Azure kann diese Denkweise 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 nutzt und letztendlich eine bessere Anlagerendite (ROI) erzielt.
Wenn Sie zu Azure wechseln, bietet die Cloudumgebung ein flexibles Paradigma, in dem Sie Ressourcen gemäß Ihren Anforderungen bereitstellen und außer Betrieb nehmen können, ohne dass die Notwendigkeit besteht, einen Service einem anderen gegenüber zu bevorzugen. Diese Flexibilität folgt dem A+B-Konzept, einer Strategie, die von der traditionellen A- oder B-Denkweise abweicht, indem sie eine umfassendere und integrativere Denkweise fördert. Azure erleichtert diesen Übergang, indem es dafür sorgt, dass die Kombination der Vorteile mehrerer Services sowohl einfach als auch kosteneffizient ist – gemäß der A+B-Denkweise. Dieser Ansatz unterstreicht das Prinzip der Auswahl von Services, die am besten den spezifischen Anforderungen Ihrer Anwendung entsprechen, wobei im Wesentlichen die Auswahl des richtigen Tools für die jeweilige Aufgabe wichtig ist.
Der Übergang zu einer A+B-Denkweise ermöglicht Organisationen, ihre Entscheidungsprozesse und technischen Strategien zu erweitern und neue Möglichkeiten und Chancen zu nutzen, die diese Denkweise bietet. In diesem Artikel werden die Prinzipien der A+B-Denkweise beschrieben, so dass Sie in informierter Weise Azure-Services auswählen können, die den Anforderungen Ihrer Anwendung am effektivsten entsprechen. Ganz gleich, ob Azure Container Apps (ACA), Azure-App Service, Azure Kubernetes Service oder virtuelle Computer: Die A+B-Denkweise gewährt Ihnen die Freiheit, aus einer Reihe von Azure Services zum Hosten Ihrer Anwendungen zu wählen. Diese Denkweise gilt universell, über die Grenzen von Sprachen und Frameworks hinaus. Obwohl es hier vor allem um Java-Anwendungen geht, ist die A+B-Denkweise gleichermaßen für Anwendungen relevant und vorteilhaft, die in beliebigen anderen Programmiersprachen entwickelt wurden.
Durch die Verwendung der A+B-Denkweise sind Sie nicht auf einen einzigen, vordefinierten Service beschränkt. Stattdessen können Sie Services auf eine Weise kombinieren, die den einzigartigen Anforderungen Ihrer Anwendung am besten entspricht. Diese Vorgehensweise verbessert nicht nur Flexibilität und Skalierbarkeit, sondern optimiert auch die Kosten- und die betriebliche Effizienz. Sie sorgt dafür, dass Ihre technische Strategie so dynamisch und anpassbar ist wie die Cloudumgebung, in der Sie arbeiten.
Warum es nicht erforderlich ist, sich für Service A oder für Service B zu entscheiden
Die Auswahl des richtigen Clouddiensts für Ihre Anwendungen muss keine binäre Entscheidung zwischen Service A oder Service 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 „Entweder-Oder“-Wahl nicht erforderlich ist, und wie die Anwendung eines fluideren Konzepts Ihren >Betriebsabläufen zugute kommen kann.
Von alten Gewohnheiten hin zu neuer Flexibilität
Traditionell waren mit der Bereitstellung von IT-Systemen erhebliche Investitionen in Hardware und Software verbunden, und dazu kamen gewöhnlich lange Einrichtungszeiten. In einer solchen Umgebung war es nur sinnvoll, eine Plattform sorgfältig auszuwählen und alles um sie herum zu optimieren, um Kosten und Ressourcen zu sparen. Die Cloudumgebung, einschließlich Azure, beinhaltet jedoch mit ihrer On-Demand- und elastischen Natur einen echten Paradigmenwechsel. Sie zahlen nur für das, was Sie nutzen, und passen Ihre Ressourcen an Ihre Bedürfnisse an, ohne dass Vorabinvestitionen erforderlich sind.
Der Übergang zur Cloud
Der Wechsel zur Cloud und insbesondere zu Azure führt zu einer erheblichen Änderung des Umgangs mit Infrastruktur- und Plattformverantwortlichkeiten. Ein Großteil der Last, die zuvor von Ihrer Organisation getragen wurde, liegt jetzt bei Microsoft, wie im folgenden Diagramm dargestellt. Diese Änderung vereinfacht Vorgänge und reduziert den Aufwand für das Management Ihrer Anwendungen. Sie sind nicht an die Einschränkungen durch die Verwaltung mehrerer Plattformen gebunden und sind frei, das beste Tool für jeden Einzelvorgang zu wählen, ohne sich Gedanken über zusätzliche Kosten und Komplexitäten machen zu müssen.
Das folgende Diagramm zeigt das Modell der gemeinsamen Verantwortung zwischen Kunden und Cloudanbietern:
Auswahl der am besten geeigneten Lösung für jeden Bedarf
In dieser neuen cloud-zentrierten Welt dreht sich der Entscheidungsprozess mehr um die Auswahl des richtigen Tools für jeden Einzelvorgang, als um den Versuch, alle Ihre Anforderungen an einen vordefinierten Service anzupassen. Ganz gleich, ob sie zwischen Azure Kubernetes Service und Azure Container Apps für Spring Boot-Anwendungen oder einem anderen Satz von Services zu wählen haben, der Fokus liegt jetzt auf den Anforderungen jeder bestimmten Anwendung.
Die Rolle von Microservices
Die Einführung von Microservices unterstützt dieses flexible Konzept noch weiter. Ihrer Natur nach unterstützen Microservices die Verwendung der jeweils am besten geeigneten Technologie für jeden Service und fördern so eine technologische Diversität, die perfekt zur A+B-Denkweise passt. Dabei geht es darum, die Stärken verschiedener Services zu nutzen, um eine robustere, effizientere und skalierbare Anwendungsarchitektur zu erstellen.
Vorteile der A+B-Denkweise
Die A+B-Denkweise bietet mehrere wichtige Vorteile. Sie ermöglicht eine größere Agilität und Flexibilität, so dass Sie die am besten geeigneten Tools und Services für jeden Aspekt Ihrer Vorgänge auswählen können. Dies führt nicht nur zu höherer Ressourcen- und Kosteneffizienz, sondern verkürzt auch die Markteinführungszeiten für Ihre Produkte. Letztendlich fördert dieser Ansatz die operative Exzellenz, da Sie Ihre Technologieentscheidungen stärker an Ihren geschäftlichen Bedürfnissen und Zielen ausrichten.
Zusammenfassend bieten die Cloud und insbesondere Azure eine neue Möglichkeit, ihre Anwendungen bereitzustellen und zu verwalten. Indem Sie sich von der restriktiven A- oder B-Wahl ab- und der A+B-Denkweise zuwenden, können Sie Entscheidungen treffen, die stärker auf die spezifischen Anforderungen Ihrer Anwendungen abgestimmt sind, was zu einer verbesserten Effizienz, Flexibilität und zu 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:
Gehen Sie von Anwendungsfall zu Lösung, nicht umgekehrt. Häufig entscheiden sich viele Softwareteams zuerst für eine Technologie und versuchen dann, die Anwendungsfälle und das Design daran anzupassen. In vielen Fällen verursacht diese Vorgehensweise erheblich mehr Kosten, Entwicklungszeit, Ressourcen und Betriebsausgaben. Verschaffen Sie sich Klarheit über Ihre Anwendungsfälle und Anforderungen, sowohl in funktionaler als auch nicht-funktionaler Hinsicht, bevor Sie sich für eine Lösung entscheiden.
Verstehen Sie Ihre Geschäftsziele, die Art Ihrer Geschäftsabläufe und Ihre Mitbewerber, und berücksichtigen Sie, 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 -ansprüchen entspricht.
Verstehen Sie alle Sicherheits- und Compliance-Anforderungen. Im Zeitalter der Cloud, in dem auf alles über das Internet zugegriffen wird, ist Sicherheit entscheidend und nicht verhandelbar. Je nach der Branche, in der Sie tätig sind, muss Ihre Anwendung möglicherweise auch bestimmte Complianceanforderungen erfüllen. Sie müssen Ihre Lösung so entwerfen, dass sie modernen Sicherheitsangriffen standhalten kann und Ihre Complianceanforderungen erfüllt.
Verstehen Sie Ihr Budget und Ihre Zeitpläne. Sorgen Sie für ein klares Verständnis für Ihr Budget für die anfängliche Entwicklung, laufende Vorgänge und zukünftige Versionen. Machen Sie sich darüber hinaus Ihre Zeitvorstellungen klar. Die Kosten für Projektverzögerungen, sowohl in Bezug auf zusätzliche Ausgaben als auch auf negative Geschäftsauswirkungen, werden häufig unterschätzt. Entwerfen Sie Ihre Lösung so, dass sie sowohl Ihrem Budget als auch Ihren Zeitvorstellungen entspricht.
Denken Sie wo immer möglich „cloud-nativ“. 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. So können Sie Anwendungen schneller für die Produktion erstellen und bereitstellen. Die Cloud bietet auch Funktionen, die möglicherweise vor Ort nicht möglich sind – z. B. Flexibilität, globale Skalierung, erweiterte Analysen, KI und ML-Funktionen (Machine Learning). Entwerfen Sie Ihre Lösung so weit wie möglich basierend auf cloud-nativen Technologien.
Denken Sie an die DevOps-Kultur. Bei DevOps geht es nicht nur um Tools oder Prozesse – dies ist eine Methodik zur Softwareentwicklung, die die Zusammenarbeit zwischen Entwicklung und Betrieb fördert und damit die Softwarebereitstellung schneller und zuverlässiger macht. Das häufig als „Kultur“ bezeichnete DevOps-Vorgehen verbindet Menschen, Prozesse und Technologien und trägt damit dauerhaft zu Optimierungen bei.
Wählen Sie die Lösung, die Ihren geschäftlichen und nicht-funktionalen Anforderungen entspricht und für die Folgendes gilt:
- Am schnellsten zu implementieren.
- Kosteneffizient in Bezug auf die Kosten für qualifikations-, build-, bereitstellungs- und betriebsbezogene Vorgänge.
- Einfacher Betrieb.
- Vollständig kompatibel mit Automatisierungen.
- Intrinsische Unterstützung von DevOps.
Diese Prinzipien helfen Ihnen dabei, ihren Fokus zu behalten – beim Erstellen einer Lösung, die Ihre Geschäftsziele erfüllt, anstatt die Lösung in eine vordefinierte Plattform integrieren zu müssen.
Ausnahmen
Wie sonst auch, gibt es auch beim A+B-Denken Ausnahmen. Die folgende Liste ist nicht vollständig, bietet Ihnen jedoch einen Eindruck von einigen Ausnahmen, die hier möglicherweise gelten:
Unternehmensstrategie. Beispielsweise verwenden manche Unternehmen die unternehmensweite Einführung von Containern, um Anwendungen zu erstellen und bereitzustellen, da sie möglicherweise mehrere Programmiersprachen verwenden und alle Anwendungen auf einheitliche Weise erstellen und bereitstellen möchten.
Zu weit fortgeschrittene Ausführung. Möglicherweise haben Sie eine Lösung ausgewählt, bevor Sie die A+B-Analyse anwenden. Wenn Sie mit der Ausführung Ihrer Lösung bereits weit fortgeschritten sind, fahren Sie damit fort, verwenden Sie aber für die nächste Anwendung die Prinzipien der A+B-Denkweise, um die richtige Lösung für Ihren Anwendungsfall auszuwählen.
Große Rechenzentrumsmigrationen. Um ihren Übergang in die Cloud zu beschleunigen, verwenden Unternehmen häufig die so genannte „Lift and Shift“-Strategie, die die massenhafte Migration von Servern (zum Hosten ihrer Anwendungen) zu Azure mit Tools wie Azure Migrate beinhaltet. Manche gehen so vor, um Rechenzentren zu Azure zu migrieren und sie auf effiziente und kostengünstige Weise herunterzufahren. In einem solchen 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. Hierbei gibt es keine Lösung, die immer und überall die richtige ist. Nicht A oder B, sondern A + B.
Das folgende Diagramm fasst die wichtigsten Überlegungen zur Auswahl eines Azure-Services für eine beliebige Anwendung zusammen:
Auswählen der passenden Azure-Services 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 hilft, den jeweils optimalen Azure-Service zu finden.
Neben den praktischen Anleitungen für die Berücksichtigung nicht-funktionaler Anforderungen aus technologischer Sicht ist die erste Frage, ob Sie die Kontrolle über die Infrastruktur benötigen. Wenn dies nicht der Fall ist, sind verwaltete Services die am ehesten zu empfehlende Lösung. Die Art der Anwendungen – unabhängig davon, ob sie auf Spring oder App Server basieren – führt die Entscheidung weiter: Spring-Anwendungen passen zu Azure Container Apps, während Azure-App Service zu Tomcat- oder JBoss EAP-Anwendungen passt.
Für diejenigen, die Infrastrukturkontrolle benötigen, hängt die Auswahl von den Multi-Cloud-Technologie-Präferenzen ab: Azure Virtual Machines ermöglicht einen einfachen Übergang, und bei Integration mit Tanzu sind die Tanzu-Angebote auf dem IaaS-Markt ideal. Kunden, die in Kubernetes investiert haben, haben die Optionen 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, u.a. in den folgenden Bereichen:
- Führende Java-Ökosystem-Partner wie Oracle, Broadcom, Red Hat, IBM und OpenAI.
- Wichtige Datenbank- und Tooling-Unternehmen wie MySQL, PostgreSQL, MongoDB Labs, DataStax, Redis Labs, Confluent und Elastic.
- Experten für Einblicke wie New Relic, Dynatrace, AppDynamics, Grafana Labs und Datadog.
- Entwicklungstools wie IntelliJ, Maven und Gradle.
Unsere gemeinsamen Investitionen gelten dem Erstellen reibungsloser Entwicklerumgebungen und sorgen für nahtlose Integrationen mit wichtigen Services wie Datenbanken, Caches, Messaging und Verzeichnissen sowie umfassende Tools für Einblicke. Mit Automatisierung, Lastenausgleich und automatischer Skalierung wollen wir die Last des Infrastrukturmanagements von Ihren Schultern nehmen. Diese Unterstützung ermöglicht Ihnen, sich auf die Generierung geschäftlichen Werts durch Ihren Code zu konzentrieren, wobei Sie stets wissen, dass die zugrunde liegenden Systeme robust und skalierbar sind. Aus diesen Gründen empfehlen wir die Verwendung bestimmter Azure-Services zum Hosten und Ausführen Ihrer Java-Anwendungstypen.
Bereitstellen von Java-Anwendungen als Quell- oder Binärdateien
Für Java-Anwendungen auf 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 Serviceangebote von Azure optimiert, die speziell für diese Zwecke entwickelt wurden. Die inhärente Portierbarkeit von Java-Anwendungen bedeutet, dass Azure eine breite Palette von Services bereitstellen kann, die Ihren einzigartigen Bereitstellungsstrategien und betrieblichen Anforderungen entsprechen. Diese Flexibilität sorgt dafür, dass unabhängig von den Besonderheiten Ihrer Java-Anwendung immer ein Azure-Service 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-Anwendungen. Für Entwickler, die mit Spring-Anwendungen arbeiten, empfehlen wir die Verwendung von Azure Container Apps, die in beliebte Entwicklungstools wie IntelliJ, VS Code, Maven und Gradle integriert sind, zusammen mit Automatisierungstools wie Azure DevOps, GitHub Actions und Jenkins. Tools für Einblicke wie Application Insights, New Relic, Dynatrace, App Dynamics, Grafana, Log Analytics, Elastic und Splunk werden ebenfalls unterstützt. Sicherheit hat oberste Priorität, mit Integrationen für die Verarbeitung von Secrets und TLS/SSL-Zertifikaten, „kennwortloser“ Authentifizierung mit Sicherungsservices über verwaltete Identitäten und auf Azure-Rollen basierender Zugriffssteuerung (RBAC), um einen sicheren und 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 Umgebung 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 kombinierten Fachkenntnisse von Microsoft und Red Hat nutzen, um sicherzustellen, dass Ihre Java-Anwendungen reibungslos, sicher und effizient auf Azure ausgeführt werden.
Enterprise-Java-Anwendungen auf WebLogic. Herkömmliche Java-Anwendungen für Unternehmen, die auf Oracle WebLogic ausgeführt werden, ermöglichen ebenfalls einen dedizierten Pfad zu Azure. 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 Java-Anwendungen für Unternehmen in Azure bieten. Durch diese koordinierten Anstrengungen wird sichergestellt, dass Anwendungen sowohl von der Robustheit von WebLogic als auch von der Skalierbarkeit und Flexibilität der Azure-Infrastruktur profitieren.
Diese Szenarien unterstreichen das Engagement von Azure dafür, eine flexible, sichere und effiziente Bereitstellungsumgebung für Java-Anwendungen anzubieten, die auf verschiedene Frameworks und Architekturen ausgerichtet ist. Azure bietet auch spezielle Services für andere Java-Anwendungen, z. B. solche, die auf Tomcat oder WebSphere ausgeführt werden, und stellt sicher, dass es für jeden Java-Anwendungstyp einen geeigneten Azure-Service gibt.
Entwickler und Betreiber erhalten eine reibungslose und produktive Cloudbereitstellung, indem sie diese maßgeschneiderten Azure-Services verwenden und damit ihre Java-Anwendungen automatisieren und schützen. Wenn Sie jedoch alternative Bereitstellungsoptionen auswählen, müssen Sie die Erstellung und Wartung dieser grundlegenden Entwickler- und Betreiberumgebungen selbst übernehmen.
Das folgende Diagramm zeigt empfohlene Azure-Services für jeden Java-Anwendungstyp, der als Quell- oder Binärdateien bereitgestellt wird:
Wenn Sie mehr über die in diesem Diagramm genannten Services erfahren möchten, verwenden Sie die Links in der folgenden Tabelle:
Bereitstellen von Java-Anwendungen als Container
Bei der Bereitstellung von Java-Anwendungen stellt die Containerisierung ein sehr modernes Konzept dar, das die unternehmensweite Automatisierung bei der Containererstellung, -verwaltung und -governance 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 Continuous Integration/Continuous Development (CI/CD)-Pipelines und ermöglicht eine flexible Bereitstellungsmethode für Java-Anwendungen in Containerform.
Azure-Services zeichnen sich dadurch aus, dass sie nicht nur die Bereitstellung containerisierter Anwendungen beschleunigen, sondern auch klare Pfade für die Bereitstellung aus Quell- oder Binärdateien bieten. 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 die breite Auswahl von Containerdiensten von Azure sicher, dass Sie die perfekte Lösung für Ihre Bereitstellungsstrategie und Ihre Anforderungen finden.
Betrachten Sie die folgenden zwei Beispiele, die zeigen, wie Azure für containerisierte Java-Anwendungsbereitstellungsszenarien geeignet ist:
Spring-Anwendungen. Azure Container Apps ist eine hervorragende 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 Quell- oder Binärdateien. Diese Option ist vorteilhaft, da sie die Notwendigkeit des laufenden Aufbaus und der Wartung von Containern beseitigt, 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. Es bietet verschiedene Bereitstellungstypen, z. B. Binärdateien oder Containerimages. Wie Azure Container Apps bietet dieser Services Flexibilität, um zwischen Bereitstellungsstrategien zu wechseln. Sie können mit der Containerbereitstellung beginnen und die Option beibehalten, um zu einem späteren Zeitpunkt zur Bereitstellung von Binärdateien (WARs und JARs) zu wechseln. Diese Vielseitigkeit sorgt dafür, dass Sie die effizienteste Bereitstellungsmethode für Ihr spezifisches Szenario auswählen können, um Ihren 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 mit moderner Containerisierung.
Das folgende Diagramm zeigt die empfohlenen Azure-Services für jeden Java-Anwendungstyp, der als Container bereitgestellt wird:
Wenn Sie mehr über die in diesem Diagramm genannten Services erfahren möchten, verwenden Sie die Links in der folgenden Tabelle:
Zusammenfassung
Wenn es um die Bereitstellung von Java-Anwendungen geht, bietet Azure einen differenzierten A+B-Ansatz, der ein Spektrum an Services bietet, die auf die Anforderungen jeder Anwendung zugeschnitten sind. Die Zusammenarbeit von Microsoft mit führenden Anbietern im Java-Ökosystem führte zu einer Suite von Azure-Services, die jeweils für bestimmte Java-Anwendungstypen empfohlen werden, die als Quell-, Binärdateien oder Container bereitgestellt werden, um den Bereitstellungsprozess zu optimieren und optimale Leistung sicherzustellen. Diese Konzentration auf den Abgleich von Bereitstellungsstrategien mit den am besten geeigneten Azure-Services unterstreicht das Engagement von Microsoft, Ihnen die Flexibilität zu bieten, stets die richtigen Tools für jeden Einzelvorgang auswählen zu können. Die inhärente Portabilität von Java-Anwendungen ist ein wichtiger Vorteil, so dass ein nahtloser Übergang zwischen lokalen Systemen und verschiedenen Cloudanbietern zur Verbesserung der betrieblichen Effizienz und Flexibilität ermöglicht wird. Durch die Unterstützung für diesen breiteren, integrativeren Auswahlprozess vereinfacht Microsoft nicht nur den Weg in die Cloud für Java-Anwendungen, sondern maximiert auch Skalierbarkeit, Sicherheit, Einblicke und Kosteneffizienz. Letztendlich ermöglicht Microsoft Entwicklern und Unternehmen, das Ökosystem von Azure zu nutzen, um sicherzustellen, dass jede Java-Anwendung in der Cloudumgebung optimal für ihre Anforderungen geeignet ist.