Systemy przetwarzania transakcji online (OLTP) współdziałają bezpośrednio z użytkownikami i są twarzą firmy. Dzięki dynamicznie dostosowywanej infrastrukturze firmy mogą szybko realizować i uruchamiać swoje produkty, aby cieszyć się swoimi użytkownikami.
Architektura
Na poniższym diagramie przedstawiono architekturę obciążenia, który ma zostać zmigrowany, system OLTP uruchomiony na komputerze mainframe z/OS:
Pobierz plik programu Visio z tą architekturą.
Przepływ pracy
Poniższy przepływ pracy odpowiada powyższemu diagramowi:
- Użytkownicy łączą się z komputerem mainframe za pośrednictwem protokołu TCP/IP przy użyciu standardowych protokołów mainframe, takich jak TN3270 i HTTPS.
- Menedżerowie transakcji wchodzą w interakcje z użytkownikami i wywołują aplikację w celu spełnienia żądań użytkowników.
- Na frontonie warstwy aplikacji użytkownicy wchodzą w interakcje z ekranami CICS/IMS lub ze stronami internetowymi.
- Menedżerowie transakcji używają logiki biznesowej napisanej w COBOL lub PL/1 do implementowania transakcji.
- Kod aplikacji korzysta z możliwości magazynowania warstwy danych, zazwyczaj DB2, IMS DB lub VSAM.
- Oprócz przetwarzania transakcji inne usługi zapewniają uwierzytelnianie, zabezpieczenia, zarządzanie, monitorowanie i raportowanie. Te usługi współdziałają ze wszystkimi innymi usługami w systemie.
W tym miejscu zobaczymy, jak przeprowadzić migrację tej architektury na platformę Azure.
Pobierz plik programu Visio z tą architekturą.
Użytkownicy komputera Mainframe znają terminale 3270 i łączność lokalną. W zmigrowanym systemie wchodzą w interakcje z aplikacjami platformy Azure za pośrednictwem publicznego Internetu lub za pośrednictwem połączenia prywatnego zaimplementowanego za pomocą usługi Azure ExpressRoute. Identyfikator Entra firmy Microsoft zapewnia uwierzytelnianie.
Żądania wejściowe są kierowane do globalnej usługi równoważenia obciążenia, takiej jak Azure Front Door lub Azure Traffic Manager. Moduł równoważenia obciążenia może obsługiwać geograficznie rozłożoną bazę użytkowników. Kieruje żądania zgodnie z regułami zdefiniowanymi dla obsługiwanych obciążeń. Te moduły równoważenia obciążenia mogą koordynować aplikacja systemu Azure Gateway lub Azure Load Balancer w celu równoważenia obciążenia warstwy aplikacji. Usługa Azure Content Delivery Network buforuje zawartość statyczną na serwerach brzegowych w celu uzyskania szybkiej odpowiedzi zabezpieczonej przy użyciu usługi zapory aplikacji internetowej (WAF).
Fronton warstwy aplikacji używa usług platformy Azure, takich jak aplikacja systemu Azure Service, do implementowania ekranów aplikacji i interakcji z użytkownikami. Ekrany są migrowane wersje ekranów mainframe.
Kod COBOL i PL/1 w zapleczu warstwy aplikacji implementuje logikę biznesową. Kod może używać usług, takich jak Azure Functions, WebJobs i Azure Spring Apps mikrousługi. Aplikacje mogą być uruchamiane w kontenerze usługi Azure Kubernetes Service (AKS).
Magazyn danych w pamięci przyspiesza aplikacje OLTP o wysokiej przepływności. Jednym z takich magazynów jest OLTP w pamięci, funkcja usługi Azure SQL Database i usługi Azure SQL Managed Instance. Innym jest usługa Azure Cache for Redis.
Warstwa danych może obejmować na przykład:
- Pliki, tabele i obiekty blob zaimplementowane przy użyciu usług Azure Storage.
- Relacyjne bazy danych z rodziny azure SQL.
- Implementacje platformy Azure baz danych PostgreSQL i MySQL typu open source.
- Azure Cosmos DB — baza danych NoSQL.
Te magazyny przechowują dane migrowane z komputera mainframe do użycia przez warstwę aplikacji.
Usługi natywne platformy Azure, takie jak Application Insights i Azure Monitor, aktywnie monitorują kondycję systemu. Dzienniki monitora można zintegrować przy użyciu pulpitu nawigacyjnego platformy Azure.
Składniki
Ta architektura składa się z kilku usług w chmurze platformy Azure i jest podzielona na cztery kategorie zasobów: sieć i tożsamość, aplikacja, magazyn i monitorowanie. Usługi dla każdej i ich ról opisano w poniższych sekcjach.
Sieć i tożsamość
- Usługa Azure ExpressRoute łączy prywatne połączenia między infrastrukturą lokalną a centrami danych platformy Azure.
- Microsoft Entra ID to usługa zarządzania tożsamościami i dostępem, która może synchronizować się z katalogiem lokalnym.
- Usługa Azure Front Door zapewnia globalne równoważenie obciążenia HTTP z natychmiastowym trybem failover. Jego opcja buforowania może przyspieszyć dostarczanie zawartości statycznej.
- Usługa Azure Traffic Manager kieruje przychodzące żądania DNS na podstawie wyboru metod routingu ruchu.
- Usługa Azure Web Application Firewall pomaga chronić aplikacje internetowe przed złośliwymi atakami i typowymi lukami w zabezpieczeniach internetowych, takimi jak wstrzyknięcie kodu SQL i wykonywanie skryptów między witrynami.
- Usługa Azure Content Delivery Network (CDN) buforuje zawartość statyczną na serwerach brzegowych w celu szybkiego reagowania i używa optymalizacji sieci w celu poprawy odpowiedzi na zawartość dynamiczną. Sieć CDN jest szczególnie przydatna, gdy baza użytkowników jest globalna.
- aplikacja systemu Azure Gateway to usługa kontrolera dostarczania aplikacji. Działa w warstwie 7, warstwie aplikacji i ma różne możliwości równoważenia obciążenia.
- Azure Load Balancer to moduł równoważenia obciążenia warstwy 4 (TCP, UDP). W tej architekturze zapewnia opcje równoważenia obciążenia dla aplikacji Spring Apps i AKS.
Aplikacja
- Usługa Azure API Management obsługuje publikowanie, routing, zabezpieczanie, rejestrowanie i analizę interfejsów API. Możesz kontrolować sposób prezentowania i rozszerzania danych oraz do których aplikacji można uzyskiwać dostęp. Możesz ograniczyć dostęp do aplikacji lub zezwolić na dostęp innych firm.
- aplikacja systemu Azure Service to w pełni zarządzana usługa do tworzenia, wdrażania i skalowania aplikacji internetowych. Aplikacje można tworzyć przy użyciu platform .NET, .NET Core, Node.js, Java, Python lub PHP. Aplikacje mogą działać w kontenerach lub w systemie Windows lub Linux. W ramach migracji komputera mainframe ekrany frontonu lub interfejs internetowy mogą być kodowane jako interfejsy API REST oparte na protokole HTTP. Mogą być segregowane zgodnie z aplikacją mainframe i mogą być bezstanowe do organizowania systemu opartego na mikrousługach.
- Zadania WebJob to funkcja usługi aplikacja systemu Azure, która uruchamia program lub skrypt w tym samym wystąpieniu co aplikacja internetowa, aplikacja interfejsu API lub aplikacja mobilna. Zadanie internetowe może być dobrym wyborem do implementowania logiki programu do udostępniania i wielokrotnego użytku. Aby uzyskać informacje techniczne, zobacz Run background tasks with WebJobs in aplikacja systemu Azure Service (Uruchamianie zadań w tle za pomocą zadań WebJob w usłudze aplikacja systemu Azure Service).
- Usługa Azure Kubernetes Service (AKS) to w pełni zarządzana usługa Kubernetes służąca do wdrażania konteneryzowanych aplikacji i zarządzania nimi. Usługa AKS upraszcza wdrażanie zarządzanego klastra usługi AKS na platformie Azure, odciążając obciążenie operacyjne na platformę Azure.
- Azure Spring Apps to w pełni zarządzana usługa Spring, wspólnie utworzona i obsługiwana przez firmy Microsoft i VMware. Dzięki niej można łatwo wdrażać i uruchamiać mikrousługi Spring oraz zarządzać nimi oraz pisać aplikacje Spring przy użyciu języka Java lub .NET.
- Usługa Azure Service Bus to niezawodna usługa obsługi komunikatów w chmurze na potrzeby prostej integracji hybrydowej. Kolejki usług Service Bus i Storage mogą łączyć fronton z logiką biznesową w zmigrowanym systemie.
- Usługa Azure Functions udostępnia środowisko do uruchamiania małych fragmentów kodu nazywanych funkcjami bez konieczności ustanawiania infrastruktury aplikacji. Służy do przetwarzania zbiorczych danych, integrowania systemów, pracy z IoT oraz tworzenia prostych interfejsów API i mikrousług. Dzięki mikrousługom można tworzyć serwery, które łączą się z usługami platformy Azure i są zawsze aktualne.
- Azure Cache for Redis to w pełni zarządzana usługa buforowania w pamięci do udostępniania danych i stanu między zasobami obliczeniowymi. Obejmuje ona zarówno usługę Redis (OSS Redis) typu open source, jak i produkt komercyjny z usługi Redis Labs (Redis Enterprise) jako usługę zarządzaną. Możesz zwiększyć wydajność aplikacji OLTP o wysokiej przepływności, projektując je pod kątem skalowania i używania magazynu danych w pamięci, takiego jak usługa Azure Cache for Redis.
Storage
- Azure Storage to zestaw wysoce skalowalnych i bezpiecznych usług w chmurze dla danych, aplikacji i obciążeń. Obejmuje ona usługi Azure Files, Azure Table Storage i Azure Queue Storage. Usługa Azure Files jest często skutecznym narzędziem do migrowania obciążeń komputerów mainframe.
- Azure SQL to rodzina baz danych w chmurze SQL, która oferuje elastyczne opcje migracji, modernizacji i programowania aplikacji. Rodzina obejmuje:
- Azure Cosmos DB to w pełni zarządzana usługa bazy danych NoSQL z interfejsami API typu open source dla baz danych MongoDB i Cassandra. Możliwą aplikacją jest migrowanie danych innych niż tabelaryczne mainframe na platformę Azure.
- Usługa Azure Database for PostgreSQL to w pełni zarządzana, inteligentna i skalowalna baza danych PostgreSQL, która ma natywną łączność z usługami platformy Azure.
- Usługa Azure Database for MySQL to w pełni zarządzana, skalowalna baza danych MySQL.
- OlTP w pamięci to funkcja usług Azure SQL Database i Azure SQL Managed Instance , która zapewnia szybki magazyn danych w pamięci. Aby uzyskać informacje techniczne, zobacz Optymalizowanie wydajności przy użyciu technologii w pamięci w usługach Azure SQL Database i Azure SQL Managed Instance.
Monitorowanie
- Usługa Azure Monitor zbiera, analizuje i działa na danych osobowych z platformy Azure i środowisk lokalnych.
- log analytics to narzędzie w witrynie Azure Portal używane do wykonywania zapytań dotyczących dzienników monitora przy użyciu zaawansowanego języka zapytań. Możesz pracować z wynikami zapytań interaktywnie lub używać ich z innymi funkcjami usługi Azure Monitor, takimi jak alerty zapytań dzienników lub skoroszyty. Aby uzyskać więcej informacji, zobacz Omówienie usługi Log Analytics w usłudze Azure Monitor.
- application insights to funkcja Monitor, która zapewnia monitorowanie na poziomie kodu użycia, dostępności i wydajności aplikacji. Monitoruje aplikację, wykrywa anomalie aplikacji, takie jak przeciętna wydajność i błędy, i wysyła dane osobowe do witryny Azure Portal. Usługi Application Insights można również używać do rejestrowania, śledzenia rozproszonego i niestandardowych metryk aplikacji.
- Alerty usługi Azure Monitor to funkcja monitora. Aby uzyskać więcej informacji, zobacz Tworzenie, wyświetlanie alertów metryk i zarządzanie nimi przy użyciu usługi Azure Monitor.
Szczegóły scenariusza
Dzięki stale zmieniającym się potrzebom biznesowym i danym aplikacje muszą tworzyć i skalować bez tworzenia problemów z infrastrukturą. W tym przykładowym obciążeniu pokazano, jak można migrować aplikację OLTP z/OS do bezpiecznego, skalowalnego i wysoce dostępnego systemu w chmurze przy użyciu usług PaaS (Platform as a Service). Taka migracja pomaga firmom w finansach, zdrowiu, ubezpieczeniach i sprzedaży detalicznej w celu zminimalizowania osi czasu dostarczania aplikacji i pomaga zmniejszyć koszty uruchamiania aplikacji.
Potencjalne przypadki użycia
Ta architektura jest idealna w przypadku obciążeń OLTP, które mają następujące cechy:
- Obsługują one międzynarodową bazę użytkowników.
- Ich użycie różni się znacznie w czasie, więc korzystają z elastycznego skalowania i cen opartych na użyciu.
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
- Tę architekturę OLTP można wdrożyć w wielu regionach i mieć warstwę danych replikowaną geograficznie.
- Usługi bazy danych platformy Azure obsługują nadmiarowość strefy i mogą przejść w tryb failover do węzła pomocniczego, jeśli wystąpi awaria lub umożliwić wykonywanie działań konserwacyjnych.
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ącazabezpieczeń.
- Usługa ExpressRoute tworzy prywatne połączenie z platformą Azure ze środowiska lokalnego. Można również użyć sieci VPN typu lokacja-lokacja.
- Microsoft Entra ID może uwierzytelniać zasoby i kontrolować dostęp przy użyciu kontroli dostępu opartej na rolach platformy Azure.
- Usługi baz danych w pomoc techniczna platformy Azure różnych opcji zabezpieczeń, takich jak szyfrowanie danych magazynowanych.
- Aby uzyskać ogólne wskazówki dotyczące projektowania bezpiecznych rozwiązań, zobacz Omówienie filaru zabezpieczeń.
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 dlaoptymalizacji kosztów.
Skorzystaj z kalkulatora cen platformy Azure, aby oszacować koszty implementacji.
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 przeglądu projektu dotycząca doskonałości operacyjnej.
- W tym scenariuszu do monitorowania kondycji zasobów platformy Azure są używane usługi Azure Monitor i Application Insights. Alerty można ustawić na potrzeby proaktywnego zarządzania.
- Aby uzyskać wskazówki dotyczące odporności na platformie Azure, zobacz Projektowanie niezawodnych aplikacji platformy Azure.
Wydajność
Wydajność to możliwość skalowania obciążenia w celu spełnienia wymagań, które są na nim nakładane przez użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.
- Ta architektura korzysta z usług PaaS platformy Azure, takich jak App Service, które mają możliwości skalowania automatycznego.
- Aby uzyskać wskazówki dotyczące skalowania automatycznego na platformie Azure, zobacz Autoskalowanie.
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Główny autor:
- Ashish Khandelwal | Główny menedżer architektury inżynieryjnej
- Nithish Aruldoss | Architekt inżynierów
Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Następne kroki
- Aby uzyskać więcej informacji, skontaktuj się z nami pod adresem datasqlninja@microsoft.com.
- Przewodniki po migracji bazy danych na platformę Azure
Powiązane zasoby
Zapoznaj się z następującymi powiązanymi architekturami i powiązanymi informacjami technicznymi:
Powiązane architektury
- Przetwarzanie transakcji wsadowych o dużej ilości
- Migracja komputera mainframe ibm z/OS za pomocą narzędzia AVANade AMT
- Micro Focus Enterprise Server na maszynach wirtualnych platformy Azure
- Refaktoryzacja obiektów sprzężenia mainframe IBM z/OS (CF) na platformę Azure
- Dostęp komputera Mainframe do baz danych platformy Azure
- Replikowanie i synchronizowanie danych mainframe na platformie Azure
- Migrowanie aplikacji mainframe IBM na platformę Azure przy użyciu biblioteki TmaxSoft OpenFrame
Powiązane informacje techniczne
- Uruchamianie zadań w tle za pomocą zadań WebJob w usłudze aplikacja systemu Azure
- Optymalizowanie wydajności przy użyciu technologii w pamięci w usługach Azure SQL Database i Azure SQL Managed Instance
- Omówienie usługi Azure Monitor
- Tworzenie i wyświetlanie alertów metryk oraz zarządzanie nimi w usłudze Azure Monitor
- Tworzenie i udostępnianie pulpitów nawigacyjnych z danymi usługi Log Analytics
- Omówienie filaru zabezpieczenia