Ponowne tworzenie platformy obciążeń AIX na platformie Azure

Azure Application Gateway
Azure Files
Azure Virtual Machines
Azure Communication Services
Azure App Service

W tym artykule opisano podejście migracji do ponownego tworzenia platformy obciążeń AIX w chmurze. Usługi Azure Functions można użyć do architektury bezserwerowej lub użyć usługi Azure Virtual Machines do zachowania modelu serwerowego.

Rozważ przeplatformową strategię migracji dla obciążeń AIX, aby zmaksymalizować zwrot z inwestycji (ROI) podczas migracji starszych aplikacji na platformę Azure. Migracje ponownej platformy wymagają minimalnych zmian, ale zapewniają korzyści natywne dla chmury, które są podobne do migracji refaktoryzacji.

Korzyści wynikające z migracji replatformowej obejmują:

  • Obniżony całkowity koszt posiadania (TCO).
  • Zwiększona elastyczność biznesowa.
  • Ulepszona odporność operacyjna.

Architektura (ponownie sformułowana)

Diagram architektury ponownie sformułowanej.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

Ten przepływ pracy odpowiada poprzedniej architekturze.

  1. Żądania użytkowników i integracje interfejsu API dla ruchu przychodzącego są przenoszone do bramy aplikacja systemu Azure w protokole TCP/443 (HTTPS), która zapewnia funkcję zapory aplikacji internetowej (WAF). Usługa Application Gateway wysyła żądania jako żądania zwrotnego serwera proxy do różnych usług hostowanych na platformie Red Hat JBoss Enterprise Application Platform (EAP).

  2. Usługi sieci Web Java przesłuchują bazę danych Oracle (TCP/1521). Synchroniczny czas odpowiedzi żądania internetowego wynosi mniej niż 50 milisekund (ms).

  3. Żądanie asynchroniczne, takie jak planowanie zadania wsadowego, umieszcza rekord w tabeli bazy danych, który działa jako kolejka w warstwie aplikacji.

    Uwaga

    W przyszłości usługa Azure Queue Storage zastąpi tabelę bazy danych, aby zawsze mieć dostęp do uruchomionych zadań analizy.

  4. Zadanie cron napisane w skrypcie programu KornShell (ksh) jest portowane do powłoki Bash i działa na osobnym serwerze Red Hat Enterprise Linux (RHEL) w usłudze Azure Virtual Machine Scale Sets. Zadanie cron jest uruchamiane co 15 minut, w tym podczas uruchamiania systemu, aby wykonać zapytanie dotyczące kolejki w bazie danych Oracle. Zadania są uruchamiane pojedynczo na hoście. Zestawy skalowania maszyn wirtualnych równoległe równoległie uruchamiają długotrwałe zadania analizy. To rozwiązanie nie wymaga poza szczytowego przetwarzania wsadowego, aby ograniczyć wpływ na wydajność systemu w godzinach pracy.

  5. Usługi Azure Communication Services wysyła alerty e-mail za pośrednictwem narzędzia interfejsu wiersza polecenia platformy Azure (docs). Tożsamości zarządzane przypisane przez system platformy Azure, takie jak az login --identity, uwierzytelniają maszynę wirtualną.

  6. Wyniki zadania analizy przechodzą do udziału usługi Azure Files za pośrednictwem bezpiecznego protokołu SMBv3 (TCP/445), który również używa tożsamości zarządzanych przypisanych przez system.

Składniki

  • Identyfikator Entra firmy Microsoft eliminuje zaufanie oparte na sieci i zapewnia tożsamości zarządzane przypisane przez system, co zwiększa bezpieczeństwo.

  • aplikacja systemu Azure Service eliminuje konieczność administrowania systemem operacyjnym i serwerem, co zwiększa wydajność operacyjną i elastyczność biznesową.

  • Application Gateway to w pełni zarządzana i skalowalna usługa, która zapewnia zaporę aplikacji internetowej i funkcję zwrotnego serwera proxy.

  • Usługa Azure Files udostępnia raporty danych publikowane za pośrednictwem usługi zarządzanej.

  • Azure Functions to oparta na zdarzeniach platforma obliczeniowa bezserwerowa, która służy do wydajnego tworzenia kodu w określonym języku programowania.

  • usługa Azure Virtual Machines jest używana przez węzły analizy bazy danych Oracle i sygnatury dostępu współdzielonego.

  • Galeria obliczeń platformy Azure kompiluje i przechowuje obrazy dla węzłów analizy bazy danych Oracle i sygnatury dostępu współdzielonego. Istnieją dwie galerie: jedna w regionie podstawowym i jedna w regionie odzyskiwania po awarii.

  • Usługi communication Services wysyła wiadomości e-mail za pomocą narzędzia interfejsu wiersza polecenia. Ta usługa zastępuje mailx polecenie w systemie AIX.

Alternatywy

Alternatywą jest kompletna architektura serwerowa, która zachowuje wszystkie składniki oprogramowania pośredniczącego, tak jak to jest.

To rozwiązanie jest podobne do oryginalnej architektury, która spełnia takie wymagania jak mandat, w ramach którego działa wiele organizacji IT. To alternatywne rozwiązanie również kosztuje mniej więcej tak samo jak oryginalna architektura, ale nie zapewnia korzyści zapewnianych przez architekturę replatformowaną. Na przykład:

  • Oszczędności licencjonowania: rozwiązanie alternatywne zachowuje platformę WebSphere i dodaje więcej węzłów RHEL.

  • Wydajność operacyjna: alternatywne rozwiązanie zachowuje taką samą liczbę serwerów do utrzymania.

  • Zwinność biznesowa: Dzięki alternatywnemu rozwiązaniu raportowanie pozostaje ograniczone tylko do nocy bez automatycznego skalowania i analizy całodobowej.

Szczegóły scenariusza

Wybierz model bezserwerowy lub serwerowy w zależności od przenośności istniejących aplikacji i preferencji przepływu pracy zespołu i planu technologii.

Podobnie jak w przypadku oryginalnej architektury, replatformowana architektura ma bazę danych Oracle, ale jest ponownieplatformowana do systemu operacyjnego RHEL na maszynach wirtualnych platformy Azure. W przypadku w pełni zarządzanej usługi aplikacja systemu Azure w architekturze ponownie sformułowanej red hat JBoss EAP zastępuje aplikację WebSphere Java.

Architektura (oryginalna)

Diagram oryginalnej architektury.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

Ten przepływ pracy odpowiada poprzedniej architekturze.

  1. Żądania użytkowników i integracje interfejsu API dla ruchu przychodzącego są przenoszone do lokalnego modułu równoważenia obciążenia F5 na protokole TCP/443 (HTTPS), a następnie odwracania serwera proxy do różnych usług sieci Web Java hostowanych przez ibm WebSphere.

  2. Usługi sieci Web Java przesłuchują bazę danych Oracle za pośrednictwem protokołu TCP/1521. W większości przypadków synchroniczny czas odpowiedzi żądania internetowego wynosi mniej niż 1 sekundę (s), ale ponad 300 ms zgodnie z testami i analizą dziennika internetowego.

  3. Żądanie asynchroniczne, takie jak planowanie zadania wsadowego, umieszcza rekord w tabeli bazy danych Oracle, która działa jako kolejka w warstwie aplikacji.

  4. Zadanie cron napisane w skryfcie ksh wysyła zapytanie do kolejki w bazie danych Oracle i pobiera zadania analizy sygnatury dostępu współdzielonego do uruchomienia. Klient musi wykonać przetwarzanie wsadowe w nocy, aby ograniczyć wpływ na wydajność systemu w godzinach pracy.

  5. Alerty e-mail powiadamiają użytkowników i administratorów za pośrednictwem protokołu SMTP (TCP/25) czasu rozpoczęcia i zakończenia zadania oraz wyników powodzenia lub niepowodzenia.

  6. Wyniki zadania analizy są przesyłane do dysku udostępnionego za pośrednictwem systemu plików NFS (TCP+UDP/111,2049) dla kolekcji za pośrednictwem protokołu SMBv3 (TCP/445).

Szczegóły scenariusza

Ta oryginalna architektura ocenia monolityczną aplikację Java działającą w ibm WebSphere i ocenia przetwarzanie wsadowe z sygnatury dostępu współdzielonego, która organizuje skrypty ksh. Baza danych Oracle działająca na osobnym hoście AIX obsługuje oba obciążenia aplikacji.

Rozważ oryginalne obciążenie działające w systemie AIX, aby określić, czy strategia migracji ponownej platformy odpowiada budżetowi migracji. Pracuj wstecz od żądanych wyników, aby określić transformacyjną, skoncentrowaną na aplikacji ścieżkę migracji do chmury. Upewnij się, że większość kodu aplikacji jest napisana w języku, który obsługuje usługi natywne dla chmury, takie jak architektury bezserwerowe i orkiestratory kontenerów.

W tym scenariuszu akcelerator Tidal przeanalizował kod aplikacji Java i określił jego zgodność z rozwiązaniem JBoss EAP. Na początku projektu usługa Azure Pipelines lub GitHub Actions są używane do ponownego kompilowania aplikacji jako pilotażu. Klient może następnie ustanowić elastyczność z potoków ciągłej integracji i ciągłego dostarczania (CI/CD) w usłudze zarządzanej, takich jak usługa aplikacja systemu Azure Service. Klient nie może uzyskać tej możliwości w lokalnym środowisku WebSphere.

W tym przykładzie baza danych Oracle jest przechowywana w tej fazie z powodu ilości pl/SQL wykrytej przez akcelerator tidal w fazie analizy. Przyszłe przedsięwzięcia klienta obejmują migrację z bazy danych Oracle w systemie RHEL do w pełni zarządzanej bazy danych Usługi Azure Database for PostgreSQL, wdrażania usługi Azure Queue Storage i uruchamiania w pełni zadań sas na żądanie. Te wysiłki są zgodne z planem rozwoju, cyklami rozwoju i kierunkiem biznesowym, który został określony w wywiadzie właściciela aplikacji. Poniższy zrzut ekranu przedstawia wywiad w elemeleratorze Tidal.

Zrzut ekranu przedstawiający wywiad w akceleratorze tidal.

Potencjalne przypadki użycia

Możesz użyć tej architektury dla systemu AIX do migracji na platformę Azure, które obejmują analizę danych, zarządzanie relacjami z klientami (CRM), warstwy integracji komputera mainframe w konfiguracji chmury hybrydowej oraz inne niestandardowe rozwiązania programowe w scenariuszach zarządzania magazynem i magazynem.

Tej architektury można używać w przypadku tradycyjnych obciążeń aplikacji z technologiami takimi jak:

  • Oracle Siebel
  • Oracle E-Business Suite
  • SAS
  • IBM BPM

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Niezawodność

Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca niezawodności.

Ta architektura używa usługi Azure Site Recovery do dublowania maszyn wirtualnych platformy Azure bazy danych w regionie pomocniczym platformy Azure w celu szybkiego przejścia w tryb failover i odzyskiwania po awarii w przypadku awarii całego regionu świadczenia usługi Azure. Podobnie usługa Azure Files używa magazynu geograficznie nadmiarowego.

Węzły przetwarzania danych używają dysków zarządzanych strefowo nadmiarowych (RA-ZRS), aby zapewnić odporność podczas przestojów strefy. Podczas awarii całego regionu można ponownie aprowizacji węzłów przetwarzania danych w innym regionie niż obraz maszyny wirtualnej w nadmiarowej galerii obliczeń platformy Azure.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca zabezpieczeń.

Ta architektura przyjmuje niezmienne podejście infrastruktury do wdrożeń aplikacji i proaktywnie skanuje kod w potokach platformy Azure, aby ułatwić zabezpieczanie poufnych danych w środowisku produkcyjnym. Obejmuje ona przesunięcie w lewo podejście do skanowania zabezpieczeń i często uruchamia wdrożenia z obsługą potoku ciągłej integracji/ciągłego wdrażania w celu poprawy bieżącego przestrzegania oprogramowania i zmniejszenia zadłużenia technicznego.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca optymalizacji kosztów.

To rozwiązanie usuwa jak najwięcej składników serwerowych, co zmniejsza koszty operacyjne o ponad 70%. Ta architektura zmniejsza koszty licencjonowania zasobów obliczeniowych i oprogramowania.

Doskonałość operacyjna

Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Lista kontrolna projektu dotycząca doskonałości operacyjnej.

Zespół produktu obsługuje się na platformie Azure, co skraca czas rozwiązywania zgłoszonych biletów zdarzeń. Ponadto liczba odbić biletów lub liczba biletów przypisanych z jednej grupy do innej wynosi zero, ponieważ jeden zespół produktu obsługuje cały stos aplikacji na platformie Azure.

Efektywność wydajności

Efektywność wydajności to możliwość skalowania obciążenia w celu zaspokojenia zapotrzebowania użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.

Klient przyjmuje usługę aplikacja systemu Azure, gdy jest to możliwe, aby umożliwić automatyczne skalowanie w górę i skalowanie w poziomie wymagań obliczeniowych w celu dostosowania ich do zapotrzebowania aplikacji. Ta elastyczność zapewnia spójną wydajność aplikacji w godzinach szczytu. Takie podejście jest również opłacalne.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Richard Berry| Starszy menedżer programu

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Aby uzyskać więcej informacji na temat korzystania z rozwiązania akceleratora tidal, skontaktuj się z zespołem ds. chmury Firmy Microsoft Tidal.

Aby uzyskać więcej informacji na temat migracji na platformę Azure, skontaktuj się z zespołem inżynierów starszych migracji.