Wybieranie odpowiednich usług platformy Azure dla aplikacji Java

Ten artykuł zawiera instrukcje dotyczące korzystania z usług platformy Azure na potrzeby wdrażania aplikacji Java, podkreślając obsługę platformy Azure dla różnych technologii i architektur Java. Przedstawia metody wdrażania, takie jak "Lift and Shift", konteneryzacja i platforma jako usługa (PaaS), dostosowane do różnych poziomów kontroli i prostoty.

Artykuł opowiada się za nastawieniem A+B, doradzając ci, aby wybierać usługi oparte na potrzebach aplikacji w ramach stałego wyboru A lub B. Sugeruje to rozważenie przypadku użycia, celów biznesowych, zabezpieczeń i budżetu dla elastycznego podejścia. W tym artykule wyróżniono partnerstwo firmy Microsoft z liderami ekosystemu Java w celu ulepszenia środowisk deweloperskich i zaleca usługi platformy Azure do wdrażania aplikacji Java — zarówno jako źródła, plików binarnych, jak i kontenerów. To zniuansowane podejście pomaga skupić się na innowacjach, wspieranych przez zaangażowanie firmy Microsoft w dostarczanie aplikacji Java najbardziej odpowiednich usług platformy Azure dla strategii wdrażania, maksymalizowanie wydajności, skalowalności i opłacalności.

Wdrażanie dowolnej aplikacji Java z ufnością i łatwością

Ekosystem Java obejmuje różne technologie, takie jak Java SE, Jakarta EE (następca java EE i J2EE), Spring, wiele serwerów aplikacji i innych platform. Niezależnie od tego, co robisz z językiem Java , takim jak tworzenie aplikacji, korzystanie z platformy i uruchamianie serwera aplikacji — pomoc techniczna platformy Azure obciążenie z dużą ilością wyboru. Podobnie pomoc techniczna platformy Azure dowolną architekturę aplikacji — od aplikacji monolitycznych działających na maszynach wirtualnych lub w kontenerach po natywne dla chmury aplikacje oparte na mikrousługach działających w pełni zarządzanych usług.

Platforma Azure oferuje następujące trzy podstawowe metody uruchamiania aplikacji Java w chmurze dostosowane do różnych poziomów kontroli i prostoty:

  • Podejście "Lift and Shift" umożliwia minimalną zmianę istniejących aplikacji bezpośrednio do usługi Azure Virtual Machines.

  • Konteneryzacja zapewnia elastyczność dzięki usłudze Azure Kubernetes Service (AKS) i usłudze Azure Red Hat OpenShift będącej głównymi platformami do organizowania konteneryzowanych aplikacji.

  • Platforma jako usługa (PaaS) stanowi szczyt łatwości i wydajności, zapewniając optymalną produktywność deweloperów i możliwości zarządzania operacyjnego, często w połączeniu z najbardziej ekonomicznym całkowitym kosztem posiadania.

Niezależnie od etapu tworzenia aplikacji w języku Java platforma Azure udostępnia zgodne rozwiązanie w chmurze spełniające twoje wymagania. Więcej informacji na temat tych ofert można przeczytać w artykule Wdrażanie aplikacji Java z ufnością i łatwością.

Pełna przenośność aplikacji Java: bezproblemowe wdrażanie w dowolnym miejscu

Niezależnie od wybranej usługi platformy Azure dla aplikacji Java, gwarantowana jest elastyczność aplikacji. Ponieważ masz kod Java i jego skompilowane dane wyjściowe, masz swobodę wdrażania aplikacji w dowolnym miejscu — czy na lokalnej maszynie deweloperów, na kompilacji serwerów, środowiskach lokalnych lub dowolnej wybranej platformie w chmurze. Przenośność aplikacji jest w rękach.

Oczywiście, gdy jest tak wiele wyborów, twarz dylemat.

Dylemat — używanie usługi A lub B dla aplikacji Java

Jeśli nawigujesz po ofertach platformy Azure, możesz napotkać dylemat wyboru najbardziej odpowiedniej usługi platformy Azure do uruchamiania aplikacji Java. Ten wybór ma kluczowe znaczenie, ponieważ wpływa na planowanie zasobów, budżet, osie czasu projektu i ostatecznie czas stosowania aplikacji na rynek. Decyzja ma wpływ nie tylko na początkowe koszty wdrożenia, ale także na bieżące koszty konserwacji.

W przeszłości organizacje często czuły się zmuszone do wyboru między dwiema platformami, technologiami lub konkurencyjnymi rozwiązaniami dla swoich aplikacji. Na przykład organizacje musiały zdecydować między aplikacjami WebLogic lub WebSphere for Java Enterprise, Docker Swarm lub Kubernetes na potrzeby zarządzania kontenerami lub kontenerami a maszynami wirtualnymi na potrzeby wdrażania. Ten proces podejmowania decyzji jest nazywany "podejściem A lub B" i znacznie różni się od testowania A/B, czyli metody porównywania dwóch wersji strony internetowej lub aplikacji ze sobą w celu określenia, która z nich działa lepiej. Zamiast tego sposób myślenia A lub B w tym kontekście dotyczy wybierania jednej platformy lub technologii na innej na potrzeby wdrażania aplikacji. Wynika to z tradycyjnych praktyk lokalnych, w których decyzje są często ograniczane przez czynniki, takie jak modele dostarczania oprogramowania w pakiecie, znaczne inwestycje w infrastrukturę i licencjonowanie oprogramowania oraz długie czasy realizacji potrzebne do kompilowania i wdrażania dowolnej platformy aplikacji.

Wprowadzenie tego sposobu myślenia na platformę Azure może prowadzić do nadmiernego nakładu czasu na utworzenie jednej platformy, która próbuje pomieścić wszystkie aplikacje, potencjalnie wprowadzając opóźnienia i nieefektywność. Jednak platforma Azure oferuje bardziej korzystne podejście, zachęcające do przejścia od tego restrykcyjnego podejścia do tego, który obejmuje najlepsze z obu światów, ostatecznie dając lepszy zwrot z inwestycji (ROI).

W miarę przejścia na platformę Azure środowisko chmury oferuje elastyczny paradygmat, w którym można aprowizować i cofać aprowizację zasobów zgodnie z potrzebami, eliminując konieczność wyboru między jedną usługą. Ta elastyczność wprowadza podejście A+B, strategię, która różni się od tradycyjnego podejścia A lub B poprzez zachęcanie szerszego, bardziej inkluzywnego sposobu myślenia. Platforma Azure ułatwia tę zmianę, ułatwiając i opłacalne łączenie zalet wielu usług i przyjęcie podejścia A+B. To podejście podkreśla zasadę wybierania usług, które najlepiej odpowiadają konkretnym potrzebom aplikacji, zasadniczo opowiadając się za wyborem odpowiedniego narzędzia do zadania.

Przejście do myślenia A+B umożliwia organizacjom rozszerzanie procesów podejmowania decyzji i strategii technicznych, obejmując nowe możliwości i możliwości, które daje ten sposób myślenia. W tym artykule przedstawiono zasady myślenia A+B, dzięki czemu można rozsądnie wybierać usługi platformy Azure, które najbardziej efektywnie rezonują z wymaganiami aplikacji. Niezależnie od tego, czy jest to usługa Azure Spring Apps, aplikacja systemu Azure Service, Azure Container Apps (ACA), Azure Kubernetes Service lub Virtual Machines, ustawienie A+B zapewnia szerokość geograficzną do oceny i wyboru spośród wielu usług platformy Azure do hostowania aplikacji. Ta filozofia ma zastosowanie powszechnie, wykracza poza granice języka i struktury. Mimo że aplikacje Java są tutaj głównym celem, sposób myślenia A+B jest równie istotny i korzystny dla aplikacji opracowanych w dowolnym języku programowania.

Korzystając z myślenia A+B, nie ograniczasz się do jednej, wstępnie określonej usługi. Zamiast tego możesz łączyć usługi w sposób, który najlepiej odpowiada unikatowym wymaganiom aplikacji. Takie podejście nie tylko zwiększa elastyczność i skalowalność, ale także optymalizuje koszty i wydajność operacyjną. Takie podejście zapewnia, że strategia techniczna jest tak dynamiczna i dostosowywalna, jak środowisko chmury, w którym pracujesz.

Dlaczego nie trzeba myśleć o usłudze A lub B

Wybór odpowiedniej usługi w chmurze dla aplikacji nie musi być decyzją binarną między usługą A lub usługą B, dzięki elastyczności i szerokości opcji dostępnych w chmurze, szczególnie w przypadku platformy Azure. W poniższych sekcjach opisano, dlaczego trzymanie się tradycyjnego wyboru "jednego lub drugiego" nie jest konieczne i jak przyjęcie bardziej płynnego podejścia może przynieść korzyści twoim operacjom.

Od starych nawyków po nową elastyczność

Tradycyjnie wdrażanie systemów IT wiązało się z dużymi inwestycjami w sprzęt i oprogramowanie wraz z długimi czasami instalacji. To środowisko sprawiło, że jest logiczne, aby dokładnie wybrać jedną platformę i zoptymalizować wszystko wokół niej, aby zaoszczędzić na kosztach i zasobach. Jednak środowisko chmury, w tym platforma Azure, wprowadza zmianę paradygmatu z jej charakterem na żądanie i elastycznym charakterem. Płacisz tylko za to, czego używasz, i dostosowujesz zasoby, aby zaspokoić twoje potrzeby, staje się proste, bez obciążenia początkowych wydatków kapitałowych.

Przejście do chmury

Przejście do chmury i na platformę Azure w szczególności powoduje znaczącą zmianę sposobu zarządzania infrastrukturą i obowiązkami platformy. Znaczna część ciężkiego podnoszenia, wcześniej wyrzucona przez organizację, przechodzi teraz do firmy Microsoft, jak pokazano na poniższym diagramie. Ta zmiana upraszcza operacje i zmniejsza nakład pracy potrzebny do zarządzania aplikacjami. Nie masz ograniczeń związanych z zarządzaniem wieloma platformami, co pozwala wybrać najlepsze narzędzie dla każdego zadania bez martwienia się o dodatkowe koszty i złożoność.

Na poniższym diagramie przedstawiono model wspólnej odpowiedzialności między klientem a dostawcą usług w chmurze:

Diagram przedstawiający tabelę przedstawiającą model wspólnej odpowiedzialności między klientem a dostawcą usług w chmurze.

Wybieranie najlepszego dopasowania do każdej potrzeby

W tym nowym świecie skoncentrowanym na chmurze proces podejmowania decyzji staje się bardziej skoncentrowany na wybieraniu odpowiedniego narzędzia do właściwego zadania, zamiast starać się dopasować wszystkie potrzeby do jednej wstępnie określonej usługi. Niezależnie od tego, czy jest wybierana między usługami Azure Kubernetes Service i Azure Spring Apps for Spring Boot, czy też innymi zestawami usług, fokus zmienia się na to, co najlepiej spełnia wymagania poszczególnych aplikacji.

Wzrost mikrousług

Wdrożenie mikrousług dodatkowo obsługuje to elastyczne podejście. Zgodnie z projektem mikrousługi zachęcają do korzystania z najlepiej dopasowanej technologii dla każdej usługi, promując różnorodność technologiczną, która naturalnie jest zgodna z nastawieniem A+B. Takie podejście polega na korzystaniu z zalet różnych usług w celu utworzenia bardziej niezawodnej, wydajnej i skalowalnej architektury aplikacji.

Zalety korzystania z A+B

Przyjęcie myślenia A+B oferuje kilka kluczowych korzyści. Zapewnia większą elastyczność i elastyczność, umożliwiając wybór najbardziej odpowiednich narzędzi i usług dla każdego aspektu operacji. Takie podejście nie tylko prowadzi do lepszej wydajności zasobów i kosztów, ale także skraca czas obrotu produktami. Ostatecznie takie podejście wspiera doskonałość operacyjną poprzez dokładniejsze dopasowanie wyborów technologicznych do potrzeb i celów biznesowych.

Podsumowując, chmura i platforma Azure oferują nowy sposób myślenia o wdrażaniu aplikacji i zarządzaniu nimi. Odejmując od restrykcyjnego wyboru A lub B i wykorzystując sposób myślenia A+B, możesz podejmować decyzje, które są bardziej dostosowane do konkretnych potrzeb aplikacji, co prowadzi do poprawy wydajności, elastyczności i oszczędności kosztów.

Praktyczne wskazówki dotyczące przechodzenia do myślenia A+B

Poniższa lista wylicza niektóre kluczowe zasady, których można użyć jako wskazówek dotyczących przechodzenia do myślenia A+B i kontynuowania pracy z nim:

  • Przejdź od przypadku użycia do rozwiązania, a nie w drugą stronę. Często wiele zespołów programistycznych decyduje się najpierw na technologię, a następnie próbuje wymusić dopasowanie przypadków użycia i projektowania. W wielu przypadkach takie podejście wiąże się ze znacznym obciążeniem w zakresie kosztów, czasu programowania, zasobów i wydatków operacyjnych. Uzyskaj przejrzystość przypadków użycia i wymagań, zarówno funkcjonalnych, jak i niefunkcjonanych, przed przejściem do rozwiązania.

  • Poznaj cele biznesowe, charakter działalności biznesowej i konkurencji oraz częstotliwość wdrażania nowych funkcji w środowisku produkcyjnym. Zawsze należy projektować swoje rozwiązanie, aby spełnić cele i cele biznesowe.

  • Omówienie wymagań dotyczących zabezpieczeń i zgodności. W czasach chmury, w której dostęp do wszystkich elementów odbywa się za pośrednictwem Internetu, bezpieczeństwo ma kluczowe znaczenie i nie można negocjować. Ponadto w zależności od używanej branży aplikacja może wymagać spełnienia określonych wymagań dotyczących zgodności. Aby spełnić wymagania dotyczące zgodności, należy zaprojektować rozwiązanie pod kątem ataków zabezpieczeń zaawansowanych pod kątem pogody.

  • Omówienie budżetu i osi czasu. Masz jasne informacje na temat budżetu na potrzeby początkowego programowania, bieżących operacji i przyszłych wydań. Ponadto zapoznaj się z osiami czasu. Koszt opóźnionych projektów, zarówno pod względem dodatkowych wydatków, jak i negatywnego wpływu na działalność biznesową, jest często niedoceniany. Zaprojektuj rozwiązanie tak, aby spełniało zarówno budżet, jak i oś czasu.

  • Myśl natywne dla chmury, jeśli ma to zastosowanie. Architektura i technologie natywne dla chmury to podejście do projektowania, konstruowania i obsługi obciążeń, które są wbudowane w chmurze i w pełni korzystają z modelu przetwarzania w chmurze. Dzięki natywnej dla chmury możesz tworzyć i wdrażać aplikacje w środowisku produkcyjnym w szybszym tempie. Chmura udostępnia również możliwości, które mogą nie być możliwe lokalnie — na przykład elastyczność, globalna skala, zaawansowana analiza, sztuczna inteligencja i możliwości uczenia maszynowego (ML). Zaprojektuj rozwiązanie na podstawie technologii natywnych dla chmury, jak najwięcej.

  • Pomyśl o kulturze metodyki DevOps. Metodyka DevOps nie jest tylko narzędziami lub procesami, jest to praktyka tworzenia oprogramowania, która promuje współpracę między programowaniem i operacjami, co skutkuje szybszym i bardziej niezawodnym dostarczaniem oprogramowania. Często nazywana kulturą metodyka DevOps łączy ludzi, procesy i technologię w celu zapewnienia ciągłej wartości.

Wybierz rozwiązanie spełniające wymagania biznesowe i niefunkcjonalne, które jest następujące:

  • Najszybsze wdrożenie.
  • Opłacalne pod względem kosztów związanych z rozwijaniem umiejętności, tworzeniem, wdrażaniem i operacjami.
  • Łatwe w obsłudze.
  • W pełni zgodne z automatyzacją.
  • Obsługa metodyki DevOps zgodnie z projektem.

Te zasady ułatwiają skoncentrowanie się na tym, gdzie powinno być — na tworzeniu rozwiązania spełniającego cele biznesowe, a nie wymuszaniu dopasowania rozwiązania do wstępnie określonej platformy.

Wyjątki

Podobnie jak cokolwiek innego, istnieją wyjątki od A+B. Poniższa lista nie jest wyczerpująca, ale zawiera wskazówki kierunkowe dotyczące niektórych wyjątków, które mogą wystąpić:

  • Strategia przedsiębiorstwa. Na przykład niektóre przedsiębiorstwa używają całego przedsiębiorstwa wdrożenia kontenerów do kompilowania i wdrażania aplikacji, ponieważ mogą mieć wiele języków programowania i chcą kompilować i wdrażać wszystkie aplikacje w ujednolicony sposób.

  • Zbyt daleko w dół linii z wykonaniem. Być może przed przejściem przez analizę A+B można wybrać rozwiązanie. Jeśli już zagłębisz się w wykonywanie rozwiązania, kontynuuj z nim, ale w przypadku następnej aplikacji użyj zasad myślenia A+B, aby wybrać odpowiednie rozwiązanie dla twojego przypadku użycia.

  • Migracje centrów danych na dużą skalę. Aby przyspieszyć podróż do chmury, przedsiębiorstwa często używają strategii o nazwie "lift and shift", która obejmuje migrację serwerów (hostowanie ich aplikacji) zbiorczo na platformę Azure przy użyciu narzędzi takich jak Azure Migrate. Niektóre używają tego podejścia do migrowania centrów danych na platformę Azure i zamykania ich w wydajny i ekonomiczny sposób. W tym scenariuszu zalecamy użycie myślenia A+B w celu modernizacji aplikacji po przeprowadzeniu migracji na platformę Azure.

Najważniejsze zagadnienia

Udostępniliśmy Ci strukturę do myślenia i zasad, których można użyć do wyboru odpowiednich miejsc docelowych na platformie Azure dla aplikacji. Nie jest to jeden rozmiar, który pasuje do wszystkich. To nie jest A lub B, ale A + B.

Na poniższym diagramie przedstawiono podsumowanie najważniejszych zagadnień dotyczących wybierania usługi platformy Azure dla dowolnej aplikacji:

Diagram przedstawiający podsumowanie najważniejszych zagadnień dotyczących wybierania usługi platformy Azure dla dowolnej aplikacji.

Jak wybrać odpowiednie usługi platformy Azure dla aplikacji Java

Aby usprawnić proces wyboru w wielu opcjach technologicznych dla aplikacji Java na platformie Azure, utworzyliśmy proste drzewo decyzyjne ułatwiające deweloperom, klientom i integratorom systemów optymalną usługę platformy Azure.

Poza praktycznymi wskazówkami dotyczącymi uwzględniania wymagań niefunkcjonalnych, z punktu widzenia technologicznego, początkowe pytanie, które należy wziąć pod uwagę, jest to, czy potrzebujesz kontroli nad infrastrukturą. Jeśli tego nie zrobisz, usługi zarządzane są najlepszym rozwiązaniem, najbardziej zalecaną trasą. Charakter aplikacji — niezależnie od tego, czy są oparte na rozwiązaniu Spring, czy App Server — dodatkowo kieruje decyzją: Aplikacje Spring są zgodne z usługą Azure Spring Apps, a usługa aplikacja systemu Azure odpowiada aplikacjom Tomcat lub JBoss EAP.

W przypadku osób wymagających kontroli infrastruktury wybór zależy od preferencji technologii wielochmurowych: usługa Azure Virtual Machines oferuje proste przejście, a w przypadku tych zintegrowanych z tanzu oferta tanzu na platformie handlowej IaaS jest idealna. Klienci zainwestowani w platformę Kubernetes mają opcje usług Azure Kubernetes Service i Azure Red Hat OpenShift. Ta struktura podejmowania decyzji została zaprojektowana w celu uproszczenia wyborów przez parowanie wymagań klientów z najlepiej dopasowanymi rozwiązaniami platformy Azure.

Firma Microsoft współpracuje z wieloma partnerami, w tym partnerami w następujących obszarach:

  • Wiodący partnerzy ekosystemu Java, tacy jak Oracle, Broadcom, Red Hat, IBM i OpenAI.
  • Kluczowe organizacje bazy danych i narzędzi, takie jak MySQL, PostgreSQL, MongoDB Labs, DataStax, Redis Labs, Confluent i Elastic.
  • Eksperci od obserwacji, tacy jak New Relic, Dynatrace, AppDynamics, Grafana Labs i Datadog.
  • Narzędzia programistyczne, takie jak IntelliJ, Maven i Gradle.

Nasze połączone inwestycje w tworzenie bardziej płynnych środowisk deweloperskich, zapewniając bezproblemową integrację z podstawowymi usługami, takimi jak bazy danych, pamięci podręczne, komunikaty i katalogi, a także zapewniają kompleksowe narzędzia do obserwacji. Dzięki automatyzacji, równoważeniu obciążenia i skalowaniu automatycznemu staramy się wykorzystać obciążenie zarządzania infrastrukturą na ramionach. Dzięki tej obsłudze można skoncentrować się na tworzeniu wartości biznesowej za pomocą kodu, mając pewność, że podstawowe systemy są niezawodne i skalowalne. Z tych powodów zalecamy używanie określonych usług platformy Azure do hostowania i uruchamiania typów aplikacji Java.

Wdrażanie aplikacji Java jako źródłowych lub binarnych

W przypadku aplikacji Java na platformie Azure, zarówno wdrożonych bezpośrednio z kodu źródłowego, jak i jako skompilowanych plików binarnych (pliki JAR, WAR lub EAR), wdrażanie jest usprawnione dzięki kompleksowym ofertom usług platformy Azure zaprojektowanym specjalnie do tych celów. Nieodłączna przenośność aplikacji Java oznacza, że platforma Azure może zapewnić szeroką gamę usług w celu dopasowania do unikatowych strategii wdrażania i potrzeb operacyjnych. Ta elastyczność gwarantuje, że niezależnie od specyfiki aplikacji Java, istnieje usługa platformy Azure, która doskonale odpowiada Twoim wymaganiom.

Rozważmy następujące trzy przykłady, które przedstawiają sposób, w jaki platforma Azure obsługuje różne scenariusze wdrażania aplikacji Java:

  • Aplikacje Spring. W przypadku deweloperów pracujących z aplikacjami Spring platforma Microsoft Azure współpracowała z firmą Tanzu firmy Broadcom, liderem w projektach open source Spring, aby zaoferować premierową usługę w chmurze znaną jako Azure Spring Apps. Ta współpraca zwiększa możliwości deweloperów dzięki integracji popularnych narzędzi programistycznych, takich jak IntelliJ, VS Code, Maven i Gradle, wraz z narzędziami automatyzacji, takimi jak Azure DevOps, GitHub Actions i Jenkins. Obsługiwane są również narzędzia do obserwacji, takie jak Application Szczegółowe informacje, New Relic, Dynatrace, App Dynamics, Grafana, Log Analytics, Elastic i Splunk. Zabezpieczenia mają najwyższy priorytet, a integracje usługi Key Vault obsługują wpisy tajne i certyfikaty TLS/SSL, uwierzytelnianie "bez hasła" z usługami zapasowymi za pośrednictwem tożsamości zarządzanych oraz kontrolę dostępu opartą na rolach (RBAC) platformy Azure, zapewniając bezpieczny, usprawniony proces wdrażania aplikacji Spring w chmurze.

  • Aplikacje Java w aplikacji JBoss EAP. Podobnie w przypadku aplikacji Java korzystających z aplikacji JBoss EAP istnieje dostosowane środowisko dzięki współpracy między zespołem platformy Microsoft Azure i zespołami Red Hat JBoss EAP. To partnerstwo spowodowało zwiększenie obsługi usługi aplikacja systemu Azure Service, oferując bogaty zestaw funkcji zaprojektowanych dla aplikacji JBoss EAP. Ta obsługa umożliwia korzystanie z połączonej wiedzy firmy Microsoft i oprogramowania Red Hat, dzięki czemu aplikacje Java działają bezproblemowo, bezpiecznie i wydajnie na platformie Azure.

  • Aplikacje Java dla przedsiębiorstw w środowisku WebLogic. Tradycyjne aplikacje Java dla przedsiębiorstw działające w środowisku Oracle WebLogic mają również dedykowaną ścieżkę do platformy Azure. Współpraca między platformą Microsoft Azure a zespołami Oracle WebLogic utorowała drogę do zoptymalizowanego wdrożenia na maszynach wirtualnych platformy Azure. To partnerstwo obejmuje integrację z podstawowymi funkcjami IaaS, takimi jak maszyny wirtualne, magazyn, sieć i moduły równoważenia obciążenia, zapewniając solidną podstawę dla aplikacji Java dla przedsiębiorstw na platformie Azure. Ten skoordynowany wysiłek gwarantuje, że aplikacje korzystają zarówno z niezawodności środowiska WebLogic, jak i skalowalności i elastyczności infrastruktury platformy Azure.

Te scenariusze podkreślają zaangażowanie platformy Azure w oferowanie elastycznego, bezpiecznego i wydajnego środowiska wdrażania dla aplikacji Java, które jest obsługiwane w różnych strukturach i architekturach. Platforma Azure udostępnia również wyspecjalizowane usługi dla innych aplikacji Java, takich jak te uruchomione na serwerze Tomcat lub WebSphere, zapewniając, że istnieje usługa platformy Azure odpowiednia dla każdego typu aplikacji Java.

Deweloperzy i operatorzy uzyskują bezproblemowe i wydajne środowisko wdrażania w chmurze, korzystając z tych dostosowanych usług platformy Azure, automatyzując i zabezpieczając aplikacje Java z łatwością. Jednak wybranie alternatywnych opcji wdrażania może wymagać samodzielnego obsługi budynku i konserwacji tych podstawowych środowisk deweloperskich i operatorów.

Na poniższym diagramie przedstawiono zalecane usługi platformy Azure dla każdego typu aplikacji Java wdrożonego jako źródło lub pliki binarne:

Diagram przedstawiający zalecane usługi platformy Azure dla każdego typu aplikacji Java wdrożonego jako źródło lub pliki binarne.

Aby dowiedzieć się więcej na temat usług, do których odwołuje się ten diagram, skorzystaj z linków w poniższej tabeli:

Usługa Szybki start dla aplikacji Java — wdrożony jako źródło lub pliki binarne
Azure Spring Apps Wdrażanie aplikacji Spring
App Service Wdrażanie aplikacji Java na serwerze Tomcat
Wdrażanie aplikacji Java w aplikacji JBoss EAP
Azure Functions Wdrażanie aplikacji funkcji w języku Java
Azure Virtual Machines Oracle WebLogic Server na maszynach wirtualnych platformy Azure
Rodzina IBM WebSphere na maszynach wirtualnych platformy Azure

Wdrażanie aplikacji Java jako kontenerów

Jeśli chodzi o wdrażanie aplikacji Java, konteneryzacja reprezentuje najnowocześniejsze podejście, które zwiększa automatyzację tworzenia kontenerów, zarządzania i zapewniania ładu w przedsiębiorstwach. Wyzwanie polega na bezpiecznym i niezawodnym tworzeniu kontenerów, kluczowym krokiem do szybkiego dostarczania wysokiej jakości, konteneryzowanych aplikacji oprogramowania. Ten proces może rozpocząć się od podstaw lub korzystać z istniejących systemów kontenerów, integrując narzędzia kompilujące i przechowujące kod i pliki binarne w celu usprawnienia aktualizacji kontenerów i zarządzania nimi. Taka integracja jest niezbędna do dopasowania potoków ciągłej integracji/ciągłego wdrażania (CI/CD), oferując elastyczną metodę wdrażania dla aplikacji Java w postaci kontenera.

Usługi platformy Azure wyróżniają się nie tylko przez złagodzenie dostarczania konteneryzowanych aplikacji, ale także zapewnienie przejrzystych ścieżek wdrażania ze źródeł lub plików binarnych. Takie podwójne podejście minimalizuje wpływ na deweloperów i zmniejsza obciążenie dla operatorów infrastruktury lub platformy. Biorąc pod uwagę nieodłączną przenośność języka Java, szeroki wybór usług kontenerów na platformie Azure gwarantuje, że znajdziesz idealne dopasowanie do strategii wdrożenia i potrzeb.

Rozważmy dwa poniższe przykłady, które przedstawiają sposób, w jaki platforma Azure obsługuje konteneryzowane scenariusze wdrażania aplikacji Java:

  • Aplikacje Spring. Usługa Azure Spring Apps to doskonały wybór dla konteneryzowanych aplikacji Spring. Obsługuje wiele typów wdrożeń, w tym źródłowych, binarnych lub obrazów kontenerów. Ta elastyczność umożliwia łatwe przechodzenie między metodami wdrażania. Możesz zacząć od kontenerów, ale później zdecydujesz się wdrożyć jako źródła lub pliki binarne. Ta opcja jest korzystna, ponieważ pomija potrzebę ciągłego budowy i konserwacji kontenerów, co może być uciążliwe, powtarzalne i czasochłonne.

  • Aplikacje Java na serwerze Tomcat. aplikacja systemu Azure Service nadaje się do konteneryzowania aplikacji Java przeznaczonych do uruchamiania na serwerze Tomcat. Obsługuje różne typy wdrożeń, takie jak pliki binarne lub obrazy kontenerów. Podobnie jak usługa Azure Spring Apps, ta usługa zapewnia elastyczność między strategiami wdrażania. Możesz rozpocząć od wdrożenia kontenera i zachować opcję późniejszego przejścia na wdrażanie plików binarnych (WARs i JAR). Ta wszechstronność gwarantuje, że można wybrać najbardziej wydajną metodę wdrażania dla konkretnego scenariusza, usprawniając proces programowania i wdrażania.

Te przykłady podkreślają zaangażowanie platformy Azure w zapewnianie wszechstronnych, wydajnych i przyjaznych dla deweloperów środowisk do wdrażania aplikacji Java, zarówno za pomocą tradycyjnych metod, jak i nowoczesnej konteneryzacji.

Na poniższym diagramie przedstawiono zalecane usługi platformy Azure dla każdego typu aplikacji Java wdrożonego jako kontenery:

Diagram przedstawiający zalecane usługi platformy Azure dla każdego typu aplikacji Java wdrożonego jako kontenery.

Aby dowiedzieć się więcej na temat usług, do których odwołuje się ten diagram, skorzystaj z linków w poniższej tabeli:

Usługa Szybki start dotyczący konteneryzowanych aplikacji Java
Azure Spring Apps Wdrażanie aplikacji Spring
App Service Wdrażanie aplikacji Java na serwerze Tomcat
Azure Red Hat OpenShift Wdrażanie aplikacji Java w aplikacji JBoss EAP
Azure Kubernetes Service Wdrażanie aplikacji Java na serwerze WebLogic
Wdrażanie aplikacji Java na platformie WebSphere Liberty
Azure Container Apps Wdrażanie aplikacji Quarkus

Podsumowanie

Podczas nawigowania po wdrożeniu aplikacji Java platforma Azure opowiada się za zniuansowanym podejściem A+B, oferując spektrum usług dostosowanych do potrzeb każdej aplikacji. Współpraca firmy Microsoft z liderami ekosystemu Java doprowadziła do pakietu usług platformy Azure, z których każda jest zalecana dla określonych typów aplikacji Java — wdrożonych jako źródła, plików binarnych lub kontenerów — usprawniając proces wdrażania i zapewniając optymalną wydajność. To skupienie się na dopasowywaniu strategii wdrażania z najbardziej odpowiednimi usługami platformy Azure podkreśla zaangażowanie firmy Microsoft w zapewnienie elastyczności wyboru odpowiednich narzędzi do zadania. Nieodłączną zaletą przenośności aplikacji Java jest umożliwienie bezproblemowego przejścia między systemami lokalnymi i różnymi dostawcami chmury w celu zwiększenia wydajności operacyjnej i elastyczności. Opowiadając się za szerszym, bardziej inkluzywnym procesem wyboru, firma Microsoft nie tylko upraszcza podróż w chmurze dla aplikacji Java, ale także maksymalizuje skalowalność, bezpieczeństwo, wgląd i opłacalność. Ostatecznie wskazówki firmy Microsoft umożliwiają deweloperom i przedsiębiorstwom korzystanie z ekosystemu platformy Azure, zapewniając, że każda aplikacja Java rozwija się w środowisku chmury najlepiej dopasowanym do swoich potrzeb.

Następny krok

Dokumentacja dla deweloperów platformy Azure dla języka Java