Podejścia do migracji programu BizTalk Server do usług Azure Integration Services

Ten przewodnik obejmuje strategie migracji i zasoby wraz z zagadnieniami dotyczącymi planowania i najlepszymi rozwiązaniami, które ułatwiają dostarczanie udanych rozwiązań migracji.

Uwaga

Aby zapoznać się z omówieniem migracji i przewodnikiem po wybieraniu usług na platformie Azure na potrzeby migracji, zapoznaj się z następującą dokumentacją:

Opcje strategii

W poniższej sekcji opisano różne strategie migracji wraz z ich korzyściami i wadami:

Migrowanie metodą „lift-and-shift”

W witrynie Azure Marketplace możesz znaleźć opcję aprowizowania maszyn wirtualnych, które obejmują licencjonowanie usługi BizTalk za pomocą modelu płatności zgodnie z rzeczywistym użyciem. Ta oferta zapewnia korzyści wynikające z korzystania z funkcji infrastruktury jako usługi (IaaS) firmy Microsoft za pośrednictwem modelu cen opartego na użyciu. Chociaż korzystanie z tych maszyn wirtualnych może złagodzić niektóre wyzwania związane z zarządzaniem infrastrukturą programu BizTalk Server, takie podejście nie dotyczy harmonogramów i terminów cyklu życia pomocy technicznej dla programu BizTalk Server.

Organizacje korzystające z transformacji cyfrowej przez przejście do chmury lub wdrożenie jej do chmury mają wiele typowych zadań, aby przerwać korzystanie z infrastruktury serwera VMware, funkcji Hyper-V lub serwera fizycznego i zmigrować tę funkcję do usługi IaaS na platformie Azure. Ten wybór pomaga zmniejszyć wymienione wcześniej wyzwania, ale nie dotyczy bazy kodu BizTalk.

W programie BizTalk Server 2013 lub nowszym możesz uruchomić serwery BizTalk lokalnie, tak jak wcześniej, lub uruchomić je na serwerze wirtualnym na platformie Azure. Uruchamianie środowiska programu BizTalk Server w chmurze zapewnia następujące korzyści:

  • Nie ma potrzeby prywatnego sprzętu ani infrastruktury, więc nie ma potrzeby konserwacji sprzętu.
  • Zwiększona dostępność infrastruktury serwera, która może obejmować wiele centrów danych lub replikować w strefach dostępności.
  • Dostęp do serwerów z dowolnego miejsca za pośrednictwem Internetu.
  • Firma Microsoft wykonuje kopię zapasową obrazów.
  • Szybkie wdrażanie nowych serwerów przy użyciu wbudowanych obrazów dostępnych w witrynie Azure Marketplace.
  • Szybkie skalowanie w górę dla serwerów przez zmianę rozmiarów maszyn wirtualnych w celu dodania pamięci i procesora CPU, dodania dysków twardych itd.
  • Ulepszone zabezpieczenia środowiska przy użyciu usługi Azure Security Center. Ta usługa identyfikuje zagrożenia bezpieczeństwa i zapewnia ścieżkę badania w przypadku wystąpienia zdarzeń zabezpieczeń

Integracja hybrydowa

Mimo że funkcje usług BizTalk Server i Azure Integration Services mogą nakładać się na siebie, działają one lepiej, gdy używasz ich razem. Większość organizacji, które nie przenoszą całej infrastruktury do chmury, ma następujące przyczyny:

  • Zasady firmy
  • Polityka krajowa/regionalna
  • Zasady specyficzne dla domeny branżowej

Ponadto nie wszystkie funkcje lub aplikacje istnieją w chmurze lub niektóre, które są dostępne, mogą nie być tak niezawodne, jak te w środowisku lokalnym. Jednak aby nadążyć za rewolucją w chmurze i rozszerzyć możliwości biznesowe, wiele organizacji zaczyna korzystać z ofert SaaS wraz z systemami lokalnymi. Wiele procesów biznesowych może korzystać z opartych na chmurze strategii tworzenia i wdrażania.

Przyjmując strategię integracji hybrydowej, nadal można czerpać korzyści z inwestycji technologicznych w systemach, od których zależy twoja organizacja, ale nadal korzystać z nowych funkcji, lepszej wydajności i niższej struktury kosztów aplikacji opartych na chmurze, takich jak platforma Azure.

W przypadku programu BizTalk Server 2016 oddzielna wersja adaptera programu Microsoft BizTalk Server dla usługi Logic Apps umożliwiła zaimplementowanie części logiki integracji jako usługi na platformie Azure przy użyciu usługi Azure Logic Apps w celu połączenia setek usług w chmurze. Ta karta pomogła w integracji lokalnej i integracji hybrydowej, oferując następujące możliwości:

  • Integrowanie usług w chmurze z programem BizTalk Server przy użyciu wbudowanych kart, takich jak Azure Logic Apps, Azure Service Bus, Azure Event Hubs, Azure Blob Storage i Office 365 Mail, Schedule i Contacts.

  • Użyj łącznika BizTalk Server w usłudze Azure Logic Apps, aby nawiązać połączenie z usługi Azure Logic Apps z serwerem BizTalk.

  • Opublikuj punkty końcowe programu BizTalk Server przy użyciu usługi Azure API Management, aby organizacje mogły uwidaczniać punkty końcowe deweloperom wewnętrznym i partnerom zewnętrznym.

Dzięki programowi BizTalk Server 2020 instalacja automatycznie dołączała adapter dla usługi Azure Logic Apps wraz z wbudowanymi kartami, aby łatwo łączyć się ze środowiskiem chmury.

Wielki huk

Podejście "big bang" lub "bezpośrednie zmiany" wymaga dużej ilości planowania i nie jest zalecane w przypadku organizacji, które nie są nieznane w usłudze Azure Logic Apps lub mają duże systemy lub rozwiązania do migracji. Gdy organizacja implementuje nowy stos technologii, nowe uczenie zwykle jest często wynikiem. Inwestując zbyt wcześnie lub za dużo, nie będziesz mieć możliwości skorzystania z wyciągniętych lekcji i dostosowania bez ryzyka znacznej przeróbki.

Takie podejście może również potrwać dłużej, aby czerpać lub naliczać wartość. Jeśli niektóre działania migracji zostały już ukończone, ale nie zostały jeszcze opublikowane w środowisku produkcyjnym z powodu innych oczekujących lub w toku pracy, zmigrowane artefakty nie generują wartości dla organizacji.

Takie podejście umożliwia organizacji przyrostowe osiągnięcie wartości, ale wcześniej niż w przeciwnym razie. Zespół projektu może dowiedzieć się o stosie technologii na wczesnym etapie, korzystając z retrospektyw. Możesz na przykład wdrożyć istniejący interfejs BizTalk lub projekt w środowisku produkcyjnym, a następnie dowiedzieć się więcej o potrzebach rozwiązania, które obejmują zarządzanie, skalowalność, operacje i monitorowanie. Po uzyskaniu tej wiedzy możesz zaplanować przebiegi, aby zoptymalizować istniejące możliwości lub wprowadzić nowe wzorce, które można później użyć w przyszłości.

Niezależnie od podejścia, jeśli planujesz przejście do usług Azure Integration Services lub Azure w ogóle, zdecydowanie rozważ refaktoryzowanie rozwiązań BizTalk Server do rozwiązań bezserwerowych lub natywnych dla chmury przed zlikwidowaniem infrastruktury serwera. Ten wybór jest doskonałą strategią, jeśli organizacja chce całkowicie przekształcić firmę w chmurę.

Planowanie migracji

Poniższa sekcja zawiera wskazówki dotyczące planowania migracji i obszarów do rozważenia.

Planowanie gotowości

Gotowość stanowi kluczową część procesu planowania. Gdy rozumiesz szerokość i głębokość projektu, przewidywalność zwiększa się w wielu wymiarach, takich jak koszty, złożoność, osie czasu i ogólny sukces projektu. Poniższa lista zawiera konkretne obszary do przeglądu i adresowania w ramach procesu czarterowego projektu.

Obszar opis
Zapasy Przechwyć dane dotyczące wszystkich interfejsów i aplikacji, aby poznać liczbę interfejsów i aplikacji, które należy migrować. Podczas tego procesu katalogowania zbierz następujące informacje, aby podać kontekst:

- Adaptery używane
— Używane funkcje programu BizTalk Server, takie jak monitorowanie aktywności biznesowej, aparat reguł biznesowych, EDI itd.
— Kod niestandardowy, taki jak wyrażenia, mapy i składniki potoku
— Przepływność komunikatów
- Rozmiary komunikatów
-Zależności
Złożoności Aby ułatwić poznanie poziomów złożoności w interfejsach, zapoznaj się z typami reguł biznesowych w tych interfejsach i wymaganiami technicznymi, które wymagają dostosowania w celu spełnienia ich wymagań lub wymagań dotyczących wydajności.
Wartość Oceń wartość interfejsów, aby określić priorytet, dla którego interfejsy mają być ponownie wdrożone. Podczas rozpoczynania pracy z usługami Azure Integration Services warto zacząć od interfejsów niskiego ryzyka. Po zakończeniu pracy z usługami Azure Integration Services należy najpierw skoncentrować się na najwyższej wartości.
Koszty Ustanów zakres projektu i szacowanie kosztów, ponieważ projekt migracji wymaga kapitału do rozpoczęcia wykonywania. Zabezpiecz budżet projektu, niezależnie od tego, czy jest osiągany w ramach planowania kapitału, czy budżetu operacyjnego, i zarządzaj zakresem projektu po drodze.
Zależności aplikacji i systemu Zidentyfikuj te zależności i uwzględnij je podczas planowania projektu, aby uniknąć niespodzianek podczas uruchamiania wykonywania projektu.
Rejestr ryzyka Utwórz i użyj tego artefaktu, aby zidentyfikować i śledzić wszelkie zagrożenia, które pojawiają się podczas wykonywania ćwiczeń związanych z planowaniem projektu. Gdy rozumiesz czynniki ryzyka, możesz aktywnie je ograniczyć i komunikować się z kierownictwem. Możesz również usunąć blokady na wczesnym etapie, gdy są one mniej kosztowne do rozwiązania.

Narzędzia migracji

Narzędzie wiersza polecenia Azure Integration Migrator, nazywane również narzędziem BizTalk Migration, jest projektem typu open source firmy Microsoft, który może pomóc w fazie planowania i wykonywania projektu migracji wraz z przenoszeniem aplikacji BizTalk Server do usług Azure Integration Services. Możesz również użyć tego narzędzia, aby odkryć przydatne szczegółowe informacje i strategie migracji rozwiązań do chmury.

To narzędzie jest uruchamiane w następujących fazach:

  1. Wykryj

    Ściąga zasoby programu BizTalk Server i identyfikuje artefakty BizTalk do migracji. Odczytuje informacje o zestawach i pliku powiązania.

    Wymagania: tożsamość usługi zarządzanej dla aplikacji Biztalk Server i wszystkie aplikacje programu BizTalk Server, do których odwołuje się program BizTalk Server

  2. Analizuj

    Odczytuje artefakty programu BizTalk Server i tworzy model danych źródłowych dla aplikacji BizTalk Server.

  3. Analiza

    Tworzy docelowy model danych usług Azure Integration Services przy użyciu modelu danych źródłowych z etapu Analizowanie. Zasadniczo narzędzie przegląda zasoby programu BizTalk Server, identyfikuje elementy, które mogą być migrowane, i tworzy model danych docelowego usługi Azure Integration Services. 

  4. Zgłoś

    Generuje raport, który zawiera opis znalezionych zasobów programu BizTalk Server i elementów, które mogą być migrowane. Raport zawiera również szczegółowe informacje o zawartości w aplikacjach źródłowych i docelowych wraz ze szczegółami dotyczącymi potencjalnych problemów z konwersją.

  5. Przekonwertować

    Generuje szablony zasobów usługi Azure Manager i skrypty interfejsu wiersza polecenia platformy Azure, których można użyć do kompilowania aplikacji na platformie Azure przy użyciu docelowego modelu danych.

  6. Weryfikacja

    Ta faza nie jest obecnie wbudowana w narzędzie, ale uruchamiasz skrypty instalacyjne, aby wdrożyć aplikację na platformie Azure. Następnie możesz ocenić, czy wygenerowana aplikacja zapewnia taką samą funkcjonalność jak aplikacja lokalna programu BizTalk Server.

Na poniższym diagramie przedstawiono fazy, przez które działa narzędzie Azure Integration Migrator:

Diagram showing phases that Azure Integration Services member services.

Kluczowe role zespołu i umiejętności w zakresie pomyślnej migracji

Aby pomyślnie przeprowadzić migrację przepływów pracy integracji z programu BizTalk Server do usług Azure Integration Services, ustanów zespół, który ma następujące ważne role i umiejętności, które obejmują wiele dyscyplin:

Rola Umiejętności
Menedżerowie projektów Odpowiedzialny za prowadzenie ogólnego projektu i zapewnia uzgodniony zakres w granicach czasu i budżetu.
Lider scrum Aktywnie zarządza listą prac i ułatwia ustalanie priorytetów działań projektu.
Architekci Upewnij się, że projekt jest zgodny z zasadami architektury przedsiębiorstwa i podaj wskazówki dotyczące sposobu poruszania się po niepewności i przeszkodach.
Deweloperzy Aktywnie pracuj nad migracją składników z programu BizTalk Server do usług Azure Integration Services.
Testerzy kontroli jakości Tworzenie planów testów i wykonywanie testów względem tych planów. Śledzenie, komunikowanie i klasyfikowanie usterek i wad w ramach planowania przebiegu projektu.
Testerzy akceptacji użytkowników (UAT) Udostępnij uczestnikom projektu biznesowego, którzy pomagają upewnić się, że żadne regresje nie są wprowadzane przez przeniesienie interfejsów z istniejącej platformy do nowej platformy.
Specjaliści ds. zarządzania zmianami Oceń wpływ na istniejące procesy i role. Utwórz plan, aby ułatwić eliminowanie wszelkich postrzeganych problemów przed ich pojawieniem się.

Aby pomóc w podaniu niektórych lub wszystkich opisanych wcześniej zasobów, rozważ partnerów, którzy mają doświadczenie w przeprowadzaniu migracji. Jako członkowie zespołu mogą pomóc zmniejszyć ryzyko, skrócić czas wprowadzania na rynek i sprawić, że projekt będzie bardziej przewidywalny dzięki zestawom umiejętności i wiedzy.

Planowanie procesu kompilacji

W przypadku planowania kompilacji firma Microsoft zaleca dołączenie przebiegów i elementów roboczych do obsługi podstawowych usług, takich jak uwierzytelnianie, rejestrowanie, obsługa wyjątków itd. Włączenie to pomaga uniknąć przeróbki w kolejnych cyklach programowania spowodowanych brakiem zaspokojenia podstawowych potrzeb. Chcesz również uniknąć zablokowanych deweloperów ze względu na decyzje, które wymagają podjęcia przez innych uczestników projektu.

Poniższa lista obejmuje tylko niektóre obszary, które należy wziąć pod uwagę:

Obszar opis
Uwierzytelnianie Zanim przejdziesz zbyt głęboko do cyklu programowania, rozwiąż następujące pytania i inne osoby dotyczące uwierzytelniania.

- Czy Organizacja ma jakiekolwiek standardy dotyczące schematów uwierzytelniania?
— Czy można używać tożsamości zarządzanych i jednostek usługi na platformie Azure?
— Czy jest dozwolone uwierzytelnianie podstawowe i klucze interfejsu API?

To działanie może być dobrą okazją do wprowadzenia architektów przedsiębiorstwa, którzy mogą mieć pewność, że uzyskasz jasne umowy dotyczące systemów uwierzytelniania, które mają być używane.
Rejestrowanie Rozważ zbieranie i przechowywanie danych telemetrycznych w scentralizowanym repozytorium danych, które jest popularnym wzorcem używanym przez rozwiązania integracji.

Na przykład usługa Azure Logic Apps (Standardowa) może wypychać dane telemetryczne do usługi Application Szczegółowe informacje w usłudze Azure Monitor. Usługa Azure Logic Apps (zużycie) może wypychać dane telemetryczne do usługi Log Analytics, również w usłudze Azure Monitor. Można również uwzględnić śledzone właściwości, aby deweloperzy mogli uwzględnić więcej kontekstu w miarę przepływu komunikatów za pośrednictwem platformy integracji. Na przykład te dane mogą zawierać numery zamówień pracy, informacje o zamówieniu zakupu lub inne, które mogą być przydatne, przydatne i istotne dla Twojej organizacji.

Prawdopodobnie rozwiązanie każdej organizacji może się różnić w zależności od potrzeb organizacji. Na przykład niektóre organizacje chcą mieć pełną kontrolę nad tym, co i kiedy dane są rejestrowane. W tym scenariuszu możesz utworzyć interfejsy API lub łączniki niestandardowe, a następnie instrumentację kodu na podstawie określonych kamieni milowych.

Niezależnie od wybranego podejścia upewnij się, że deweloperzy jasno rozumieją oczekiwania, aby uniknąć przyszłych ponownych prac.
Obsługa wyjątków Rozwiązywanie problemów ze strategią i spójnym wzorcem na wczesnym etapie obsługi wyjątków i błędów w celu uniknięcia przyszłych ponownych prac. Przed utworzeniem dowolnych aplikacji logiki upewnij się, że w tym obszarze na wczesnym etapie utworzysz jasność. Poniższa lista zawiera kilka pytań, na które należy odpowiedzieć podczas obsługi wyjątków:

- Jak będą używane zakresy i ustawienia "Uruchom po", aby wykryć wyjątki?
- Jak można użyć result() wyrażenia, aby lepiej zrozumieć, gdzie występuje wyjątek w przepływie pracy i znaleźć więcej informacji o podstawowej głównej przyczynie?
- Po wybraniu sposobu przechwytywania wyjątków, jak chcesz rejestrować te dane i komunikować się z uczestnikami projektu?

Upewnij się, że te decyzje są zgodne ze strategią rejestrowania, jak wspomniano wcześniej. W idealnym przypadku ustalono proces, który aktywnie wyszukuje nowe zdarzenia błędów w magazynie danych rejestrowania. Z tego miejsca możesz reagować na te zdarzenia i organizować proces wyjątku. Może być konieczne odfiltrowanie lub agregowanie zduplikowanych zdarzeń błędów, zarejestrowanie biletu w rozwiązaniu do zarządzania usługami IT w organizacji i wybranie sposobu wysyłania powiadomień. Możesz mieć różne ścieżki powiadomień na podstawie ważności problemu i godziny dnia. Elastyczność można osiągnąć, tworząc przepływ pracy do zarządzania tym procesem.
Analizy Aby zademonstrować ogólną kondycję i higienę rozwiązania uczestnikom projektu, rozważ różne obiektywy używane przez uczestników projektu, na przykład:

- Kierownicy mogą być bardziej zainteresowani ogólną kondycją, liczbą transakcji lub ilością oraz wartością biznesową wygenerowaną przez te transakcje, ale nie ogólnymi niuansami technicznymi.
- Menedżer pierwszej linii może być bardziej zainteresowany ogólną kondycją, ale może również zainteresować się szczegółami technicznymi, takimi jak cechy wydajności, aby upewnić się, że umowy SLA zostały spełnione.
— Analitycy pomocy technicznej prawdopodobnie interesują się ogólną kondycją usługi, wyjątkami i wąskimi gardłami wydajności.

Podczas łączenia strategii analitycznej należy wziąć pod uwagę uczestników projektu i typ danych, które je interesują. Ten proces myślowy ułatwia śledzenie przydatnych i przydatnych informacji oraz udostępnianie tych danych do celów raportowania. Jeśli znajdziesz luki w zakresie pokrycia, może być konieczne ponowne przejrzenie elementów roboczych związanych z rejestrowaniem i dodanie odpowiednich zadań w celu rozwiązania tych luk.
Tempo Gdy dostarczasz projekty integracji i uczysz się z tych środowisk, pamiętaj, aby zdobyć wnioski, które nieuchronnie pojawiają się. Zaplanuj przebiegi korygowania lub cykle na wczesnym etapie podróży, dzięki czemu możesz poprawić kurs wcześnie, zanim koszt stanie się zbyt duży. Dzięki temu można uniknąć wprowadzenia zbyt dużej ilości długu technicznego do nowej platformy.

Planowanie wdrożenia

Jeśli przewidujesz i przygotujesz plan wdrożenia, zwiększasz możliwości pomyślnego wdrożenia. Po utworzeniu całej infrastruktury i środowisk program BizTalk Server skupił się na wdrożeniu rozwiązań.

W przypadku platformy Azure to środowisko różni się od niektórych działań, które należy wziąć pod uwagę jako pierwsze, takie jak rozwiązywanie problemów z wdrażaniem infrastruktury między różnymi środowiskami, które mogą obejmować różne subskrypcje platformy Azure, grupy zasobów platformy Azure lub niektóre kombinacje, na przykład:

  • Azure Key Vault: wpisy tajne i zasady dostępu
  • Azure Service Bus: kolejki, tematy, subskrypcje, filtry i zasady dostępu
  • usługa aplikacja systemu Azure: plany, sieć i uwierzytelnianie

Następnie można skupić się na wdrażaniu rozwiązań między różnymi środowiskami.

Planowanie testów

Aby upewnić się, że osoby biorące udział w projekcie są zadowolone z udostępnianego rozwiązania, testowanie jest ważne, aby wziąć pod uwagę dowolny projekt migracji. Nowe rozwiązanie powinno zapewnić większą wartość w porównaniu z poprzednim rozwiązaniem bez żadnych regresji, które mogą mieć wpływ na firmę.

Rozważ następujące zalecenia dotyczące testowania dla projektu migracji:

  • Ustanów punkt odniesienia, odpowiadając na następujące pytania:

    1. Czy masz istniejące testy?
    2. Czy testy są uruchamiane bez błędów?
    3. Czy wyniki testów są dokładne?

    Aby mieć pewność, że twój zespół nie wprowadził regresji, potrzebujesz możliwości porównywania wyników z nowej platformy z niezawodnymi testami z istniejącej platformy. Jeśli więc nie masz punktu odniesienia, upewnij się, że go ustanowić.

    Oczywiście nie chcesz wydawać wielu zasobów na ustanawianie testów na platformę, która jest wycofywalna, ale musisz odpowiedzieć na pytanie: "Jak mogę wiedzieć, że wszystko działa pomyślnie?" Jeśli jesteś w tej sytuacji, zacznij ustanawiać punkt odniesienia na podstawie priorytetów i utworzyć plan łagodzenia obszarów, w których występują luki.

  • Skonfiguruj strategię testowania dla nowej platformy.

    Zakładając, że masz doświadczenie w pracy z punktem odniesienia, możesz teraz zastanowić się, jak testować na nowej platformie. Jeśli masz problemy z ustanowieniem punktu odniesienia, skorzystaj z okazji, aby skonfigurować silną podstawę dla nowej platformy.

    Gdy myślisz o testowaniu nowej platformy, pamiętaj o automatyzacji. Mimo że posiadanie platformy umożliwia szybkie tworzenie interfejsów, poleganie na ręcznych testach wyprzeda te wzrosty produktywności.

  • Automatyzowanie testów.

    Usługa Azure Logic Apps (Standardowa) obejmuje możliwość przeprowadzania testów automatycznych. Poniższa lista zawiera więcej informacji i zasobów, które są bezpłatnie dostępne w witrynie GitHub:

    • Testowanie automatyczne za pomocą usługi Azure Logic Apps (Standardowa) od zespołu usługi Azure Logic Apps

      W przypadku usługi Azure Logic Apps (w warstwie Standardowa) testowanie automatyczne nie jest już trudne ze względu na podstawową architekturę opartą na środowisku uruchomieniowym usługi Azure Functions i może działać w dowolnym miejscu, w którym można uruchomić usługę Azure Functions. Testy można pisać dla przepływów pracy uruchamianych lokalnie lub w potoku ciągłej integracji/ciągłego wdrażania. Aby uzyskać więcej informacji, zobacz przykładowy projekt dla struktury testowej usługi Azure Logic Apps.

      Ta struktura testowa obejmuje następujące możliwości:

      • Pisanie testów automatycznych na potrzeby kompleksowej funkcjonalności w usłudze Azure Logic Apps.
      • Wykonaj szczegółową walidację na poziomach uruchamiania i akcji przepływu pracy.
      • Zaewidencjonuj testy w repozytorium Git i uruchom je lokalnie lub w potokach ciągłej integracji/ciągłego wdrażania.
      • Pozorowanie możliwości testowania dla akcji HTTP i łączników platformy Azure.
      • Skonfiguruj testy, aby używać różnych wartości ustawień z środowiska produkcyjnego.
    • Podręcznik integracji: Standardowe testowanie usługi Logic Apps od Michaela Stephensona, MVP firmy Microsoft

      Platforma testowania podręcznika integracji bazuje na platformie testowej dostarczonej przez firmę Microsoft i obsługuje dodatkowe scenariusze:

      • Połączenie do przepływu pracy w standardowej aplikacji logiki.
      • Pobierz adres URL wywołania zwrotnego, aby można było wyzwolić przepływ pracy z testu.
      • Sprawdź wyniki przebiegu przepływu pracy.
      • Sprawdź dane wejściowe i wyjściowe operacji z historii uruchamiania przepływu pracy.
      • Podłącz do zautomatyzowanych struktur testowania, których mogą używać deweloperzy aplikacji logiki.
      • Podłącz aplikację SpecFlow, aby obsługiwać programowanie oparte na zachowaniu (BDD) dla aplikacji logiki.

    Niezależnie od metod lub zasobów, których używasz, możesz mieć powtarzalne, spójne testy integracji automatycznej.

  • Konfigurowanie pozornych testów odpowiedzi przy użyciu wyników statycznych.

    Niezależnie od tego, czy skonfigurowaliśmy testy automatyczne, możesz użyć funkcji statycznych wyników w usłudze Azure Logic Apps, aby tymczasowo ustawić pozorne odpowiedzi na poziomie akcji. Ta funkcja umożliwia emulowanie zachowania określonego systemu, który chcesz wywołać. Następnie można przeprowadzić wstępne testowanie w izolacji i zmniejszyć ilość danych tworzonych w systemach biznesowych.

  • Uruchamiaj testy obok siebie.

    W idealnym przypadku masz już podstawowe testy integracji dla środowiska programu BizTalk Server i ustanowione testy automatyczne dla usług Azure Integration Services. Następnie można uruchamiać testy obok siebie w sposób, który ułatwia sprawdzanie interfejsów przy użyciu tych samych zestawów danych i poprawianie ogólnej dokładności testu.

Aktywowanie

Po zakończeniu testowania przez zespół pomyśl o niezbędnych zadaniach, aby umieścić nową platformę integracji w środowisku produkcyjnym:

  1. Utwórz plan komunikacji.

    Mimo że może istnieć mały zespół wdrażający aspekty techniczne i szczegóły projektu modernizacji platformy integracji, prawdopodobnie masz wielu uczestników projektu migracji, którzy muszą być informowani o projekcie migracji. Jeśli nie masz jasnej strategii komunikacji, tworzysz niepokój dla innych zaangażowanych. Należy również wziąć pod uwagę zewnętrzne osoby biorące udział w projekcie, które należy uwzględnić w planie komunikacji. Możesz na przykład uwzględnić innych partnerów handlowych lub klientów, którzy mogą mieć wpływ na nadchodzące wydarzenia. Nie zapomnij też o tych interesariuszach.

    Dlatego należy komunikować się wcześnie i często, zapewniając jasność w obszarach, które wpływają na uczestników projektu, na przykład tego, czego oczekujesz od nich, kiedy są one potrzebne, jak długo są potrzebne itd. Zapewniając zwięzły i jasny plan, możesz zapewnić pewność siebie uczestnikom projektu i utrzymać pozytywną energię wokół projektu. Usuń wszelkie wątpliwości, upewniając się, że zespół jest gotowy do wykonania. W przeciwnym razie ryzykujesz zrujnowanie morale ze względu na postrzeganie, spekulacje i plotki, że projekt może zakończyć się niepowodzeniem.

  2. Zrób plan "cut-over".

    Plan wycinania obejmuje szczegółowe informacje o zadaniach i działaniach niezbędnych do przejścia z bieżącej platformy na nową platformę, w tym o krokach, które zespół planuje wykonać. Uwzględnij następujące zagadnienia dotyczące planu jednorazowego:

    • Kroki dotyczące wymagań wstępnych

      Zidentyfikuj akcje, które można wykonać lub musisz wykonać z wyprzedzeniem, aby nie pozostawić wszystkiego do cięcia w ciągu dnia. Ogólnie rzecz biorąc, przecięcie do nowej platformy integracji zwykle oznacza, że masz wdrożenie "zielone pole", dzięki czemu można przygotować wiele składników i konfiguracji na wczesnym etapie cyklu. Tym więcej można ukończyć przed oknem obsługi oryginalnej platformy, tym bardziej niepokój można usunąć i poprawić ogólny wynik zdarzenia cut-over.

    • Próbę sukienki

      Osoby biorące udział w projekcie zwykle chcą przewidzieć nadchodzące wydarzenia. Jak więc zapewnić przewidywalność wokół czegoś, czego nigdy wcześniej nie zrobiono? Uruchamiając próbę sukienki, która wdraża platformę integracji w środowisku przedprodukcyjnym, możesz zweryfikować plan cięcia i przewidywany czas dla każdego kroku w procesie.

      W przeciwnym razie niedocenianie czasu, jaki może podjąć krok, może prowadzić do efektu falowania w opóźnieniach. Skumulowanie te opóźnienia mogą kosztować znaczną ilość czasu i zakłócać działalność firmy. Po uruchomieniu próby ubioru możesz oprzeć swój harmonogram na rzeczywistych danych. Twój zespół może również znaleźć problemy, które spowodowały problemy podczas pracy w środowisku produkcyjnym. Gdy twój zespół łapie i dokumentuje problemy wcześnie, są lepiej przygotowani i ryzykują mniej niespodzianek podczas prawdziwego wydarzenia cut-over.

    • Osoby

      Upewnij się, że istnieje wyraźna odpowiedzialność wokół tego, która osoba jest właścicielem poszczególnych kroków w planie. W ramach mądrej strategii ograniczania ryzyka zidentyfikuj i przygotuj osoby kopii zapasowej, jeśli podstawowa osoba jest niedostępna do wykonania zadania z powodu nieoczekiwanych okoliczności.

    • Szacowania harmonogramu

      Po uruchomieniu jednej próby zespół powinien lepiej zrozumieć, jak długo każde zadanie może potrwać. Możesz użyć tych szacunków do prognozowania harmonogramu, aby ludzie wiedzieli, kiedy ich potrzebują i ile czasu muszą zakończyć swoje zadanie.

    • Wyłączanie interfejsów na starej platformie

      Jeśli rozumiesz wszystkie istniejące zależności, możesz rozpocząć wyłączanie interfejsów na starej platformie integracji, zanim włączysz interfejsy na nowej platformie. Niektóre złożone architektury mogą wymagać wyłączenia interfejsów sekwencyjnych w określonej kolejności, aby uniknąć niespodzianek. W zależności od charakteru interfejsu może również nie być możliwe wyłączenie wszystkich interfejsów na starej platformie integracji. Jeśli na przykład masz system biznesowy, który wypycha komunikaty do platformy integracji, pamiętaj, aby uwzględnić te sytuacje w planie wycinania.

    • Włączanie interfejsów na nowej platformie

      Podobnie jak w przypadku interfejsów sekwencyjnych, które wymagają wyłączenia w określonej kolejności, mogą istnieć nowe interfejsy sekwencyjne umożliwiające włączenie tego samego wymagania. Przed rozpoczęciem włączania interfejsów upewnij się, że rozumiesz wszystkie zależności i że zidentyfikowano wymaganą kolejność włączania nowych interfejsów sekwencyjnych.

      Uwaga

      Pamiętaj, aby wykonać kroki umożliwiające korzystanie z interfejsów w metodowy i systematyczny sposób, aby uniknąć błędów, które zagrażają powodzeniu projektu.

    • Testowanie poprawności

      To działanie jest niezwykle ważne, więc uwzględnij tę pracę w planie cięć. Po włączeniu interfejsów upewnij się, że interfejsy działają zgodnie z oczekiwaniami przed przejściem do etapu "Przejdź lub Nie". W idealnym przypadku można wykonywać testy weryfikacyjne, które nie mają wpływu na podstawowe dane biznesowe. Ten przewodnik zawiera więcej informacji na temat testowania poprawności nowych interfejsów w późniejszej sekcji.

  3. Określanie planu wycofywania.

    Mam nadzieję, że masz teraz ustrukturyzowane i szczegółowe podejście do wdrożenia nowej platformy integracji. Jednak mogą wystąpić niespodzianki, więc określ niezbędne kroki, aby przywrócić poprzednią platformę integracji. W ten sposób masz plan gotowy do zrobienia, na wypadek.

    Podczas myślenia przez te kroki należy wziąć pod uwagę zdarzenia, które mogą spowodować wycofanie. Ponadto dostosuj swój plan do osób, które musisz podjąć decyzję o wycofaniu. Ten przewodnik zawiera więcej informacji w sekcji dotyczącej podejmowania decyzji "Go lub No-go".

  4. Uruchom testowanie poprawności.

    Plan cięcia powinien zawierać szczegóły dotyczące tej pracy. Po włączeniu interfejsów upewnij się, że interfejsy działają zgodnie z oczekiwaniami przed przejściem do etapu "Przejdź lub Nie". W idealnym przypadku można wykonywać testy weryfikacyjne, które nie mają wpływu na podstawowe dane biznesowe.

    Najlepiej, na przykład, testy weryfikacyjne mogą odczytywać dane z produkcyjnego systemu biznesowego, ale nie mogą zapisywać danych, co powoduje problem ze zgodnością. W przeciwnym razie trzeba będzie poczekać, aż transakcja biznesowa będzie przepływać przez interfejsy i sprawdzić, czy wszystko działa zgodnie z oczekiwaniami zespołu.

  5. Planowanie obsługi operacji lub obsługi produkcyjnej.

    Chociaż praca dotycząca migrowania interfejsów między platformami zwykle zużywa większość zasobów projektu, należy wziąć pod uwagę ciągłą obsługę interfejsów i nowej platformy.

    • Upewnij się, że podziel się odpowiednią ilością wiedzy i poziomem wiedzy między zespołem projektu a zespołem operacyjnym.

    • Utwórz i zachowaj aktualną listę kontaktów zawierającą zarówno dane techniczne, jak i biznesowe, aby każdy mógł w razie potrzeby skontaktować się z odpowiednimi członkami zespołu.

    • Aby zapewnić sprawniejsze i terminowe reagowanie na klientów, przygotuj procesy pomocy technicznej i dokumentację, zanim przejdziesz na żywo. Możesz pomóc zmniejszyć stres dla klientów, zespołu pomocy technicznej i zespołu projektu, gdy możesz uniknąć członka pomocy technicznej próbującego ustalić wszystko, kiedy wystąpi rzeczywiste zdarzenie.

  6. Wybierz pozycję "Przejdź lub Nie", aby przejść do środowiska produkcyjnego.

    W tym kroku skontaktuj się z odpowiednimi uczestnikami projektu, aby zdecydować, czy projekt może przejść do środowiska produkcyjnego. Na przykład osoby biorące udział w projekcie mogą obejmować kierownictwo, zarządzanie projektami, operacje i przedstawicieli biznesowych.

  7. Świętuj sukces zespołu.

    Gratulacje! Po zakończeniu projektu, który pozytywnie wpływa na twoją organizację lub firmę, nadszedł czas, aby rozpoznać zespół za całą swoją ciężką pracę i uczcić niesamowity kamień milowy! Upewnij się, że twój zespół jest w odpowiedni i zrozumiały sposób. Żadne uznanie nie jest jednym z pewnością sposobem na zniszczenie morale.

  8. Posiada retrospektywę.

    Podobnie jak w przypadku wszelkich działań inżynieryjnych, twój zespół uzyskuje cenne informacje i rozszerza swoją wiedzę, ucząc się od doświadczenia. Spotkaj się z zespołem, aby omówić i uchwycić obszary, które poszły dobrze, nie poszły dobrze, a te, które mogą się zmienić na lepsze. Zadbaj o to, aby zorganizować tę rozmowę w środowisku niegroźnym i wspierającym oraz skupić się na celu nauki i rozwoju, a nie winy. Podziel się swoimi lekcjami z liderami i innymi zainteresowanymi uczestnikami projektu. To ćwiczenie buduje zaufanie w całym zespole i reprezentuje dojrzałość inżynieryjną.

Najlepsze rozwiązania dotyczące migracji

Chociaż najlepsze rozwiązania mogą się różnić w różnych organizacjach, należy rozważyć świadomy wysiłek w celu promowania spójności, co pomaga zmniejszyć niepotrzebne wysiłki, które "na nowo wymyślić koło" i nadmiarowość podobnych typowych składników. W przypadku ułatwienia ponownego korzystania organizacja może szybciej tworzyć interfejsy, które stają się łatwiejsze do obsługi. Czas obrotu jest kluczowym czynnikiem umożliwiającym transformację cyfrową, więc priorytetem jest zmniejszenie niepotrzebnych problemów dla deweloperów i zespołów pomocy technicznej.

Podczas ustanawiania własnych najlepszych rozwiązań rozważ dostosowanie się do następujących wskazówek:

Ogólne konwencje nazewnictwa dla zasobów platformy Azure

Upewnij się, że skonfigurować i spójnie zastosować dobre konwencje nazewnictwa we wszystkich zasobach platformy Azure z grup zasobów do każdego typu zasobu. Aby położyć solidną podstawę do odnajdywania i obsługi, dobra konwencja nazewnictwa komunikuje cel. Najważniejszym punktem konwencji nazewnictwa jest to, że je posiadasz i że organizacja je rozumie. Każda organizacja ma niuanse, które mogą być konieczne do uwzględnienia.

Aby uzyskać wskazówki dotyczące tej praktyki, zapoznaj się z następującymi zaleceniami i zasobami firmy Microsoft:

Konwencje nazewnictwa zasobów usługi Azure Logic Apps

Projekt aplikacji logiki i przepływu pracy stanowi kluczowy punkt wyjścia, ponieważ ten obszar zapewnia elastyczność tworzenia unikatowych nazw przez deweloperów.

Nazwy zasobów aplikacji logiki

Aby odróżnić zasoby aplikacji logiki Zużycie i Standardowa, możesz użyć różnych skrótów, na przykład:

  • Zużycie: LACon
  • Standardowa: LAStd

Z perspektywy organizacji można zaprojektować wzorzec nazewnictwa obejmujący jednostkę biznesową, dział, aplikację i opcjonalnie środowisko wdrażania, takie jak DEV, UAT, PRODitd., na przykład:

LAStd-<*business-unit-name*>-<*department-name* or *application-name*>-<*environment-name*>

Załóżmy, że masz standardową aplikację logiki, która implementuje przepływy pracy dla działu kadr w jednostce biznesowej Usług firmowych. Możesz nazwać zasób aplikacji logiki LAStd-CorporateServices-HR-DEV i użyć notacji Pascal Case, jeśli jest to odpowiednie dla spójności.

Nazwy przepływów pracy aplikacji logiki

Zasób aplikacji logiki Zużycie zawsze jest mapowy na tylko jeden przepływ pracy, więc potrzebujesz tylko jednej nazwy. Zasób standardowej aplikacji logiki może zawierać wiele przepływów pracy, dlatego należy zaprojektować konwencję nazewnictwa, którą można również zastosować do przepływów pracy elementów członkowskich. W przypadku tych przepływów pracy należy wziąć pod uwagę konwencję nazewnictwa opartą na nazwie procesu, na przykład:

Process-<*process-name*>

Jeśli więc masz przepływ pracy, który implementuje zadania dołączania pracowników, takie jak tworzenie rekordu pracownika, możesz nazwać przepływ pracy Process-EmployeeOnboarding.

Poniżej przedstawiono więcej zagadnień dotyczących projektowania konwencji nazewnictwa przepływu pracy:

  • Postępuj zgodnie ze wzorcem Nadrzędny-Podrzędny dla aplikacji logiki, w których chcesz wyróżnić pewną relację między jednym lub kilkoma przepływami pracy.
  • Należy wziąć pod uwagę, czy przepływ pracy publikuje lub używa komunikatu.

Nazwy operacji przepływu pracy

Po dodaniu wyzwalacza lub akcji do przepływu pracy projektant automatycznie przypisuje domyślną nazwę ogólną dla tej operacji. Jednak nazwy operacji muszą być unikatowe w przepływie pracy, więc projektant dołącza sekwencyjne sufiksy liczbowe w kolejnych wystąpieniach operacji, co sprawia, że czytelność i odszyfrowywanie oryginalnej intencji dewelopera jest trudne.

Aby ułatwić zrozumienie nazw operacji, możesz dodać krótki deskryptor zadań po tekście domyślnym i użyć notacji Pascal Case w celu zapewnienia spójności. Na przykład dla akcji Przeanalizuj kod JSON można użyć nazwy, takiej jak Parse JSON-ChangeEmployeeRecord. W przypadku tego podejścia lub innych podobnych podejść będziesz pamiętać, że akcja to Analizowanie kodu JSON i konkretnego celu akcji. W związku z tym, jeśli musisz użyć danych wyjściowych tej akcji w dalszej części akcji podrzędnego przepływu pracy, możesz łatwiej zidentyfikować i znaleźć te dane wyjściowe.

Uwaga

W przypadku organizacji, które intensywnie używają wyrażeń, należy wziąć pod uwagę konwencję nazewnictwa, która nie promuje używania białych znaków (' '). Język wyrażeń w usłudze Azure Logic Apps zastępuje białe znaki podkreśleniami ('_'), co może komplikować tworzenie. Unikając z góry spacji, możesz zmniejszyć tarcie podczas tworzenia wyrażeń. Zamiast tego należy użyć łącznika lub łącznika ('-), który zapewnia czytelność i nie ma wpływu na tworzenie wyrażeń.

Aby uniknąć późniejszej możliwej zmiany i problemów dotyczących zależności podrzędnych, które są tworzone podczas korzystania z danych wyjściowych operacji, zmień nazwy operacji natychmiast po dodaniu ich do przepływu pracy. Zazwyczaj akcje podrzędne są automatycznie aktualizowane po zmianie nazwy operacji. Jednak usługa Azure Logic Apps nie zmienia automatycznie nazw wyrażeń niestandardowych utworzonych przed wykonaniem zmiany nazwy.

nazwy Połączenie ionów

Podczas tworzenia połączenia w przepływie pracy bazowy zasób połączenia automatycznie pobiera nazwę ogólną, taką jak sql lub office365. Podobnie jak nazwy operacji, nazwy połączeń muszą być również unikatowe. Kolejne połączenia z tym samym typem uzyskują sekwencyjny sufiks liczbowy, na przykład sql-1, sql-2 itd. Takie nazwy nie mają żadnego kontekstu i tworzą różnice i mapowania połączeń z aplikacjami logiki niezwykle trudne, zwłaszcza dla deweloperów, którzy nie mają pewności co do przestrzeni i muszą podjąć konserwację tych aplikacji logiki.

Dlatego istotne i spójne nazwy połączeń są ważne z następujących powodów:

  • Czytelność
  • Łatwiejszy transfer wiedzy i możliwość obsługi
  • Ład korporacyjny

Ponownie, posiadanie konwencji nazewnictwa jest krytyczne, chociaż format nie jest nadmiernie ważny. Na przykład możesz użyć następującego wzorca jako wytycznych:

CN-<*connector-name*>-<*logic-app-or-workflow-name*>

W konkretnym przykładzie możesz zmienić nazwę połączenia usługi Service Bus w aplikacji logiki OrderQueue lub przepływu pracy przy użyciu nazwy CN-ServiceBus-OrderQueue . Aby uzyskać więcej informacji, zobacz blog Turbo360 (Dawniej Bezserwerowy360) w blogu Najlepsze rozwiązania, porady i wskazówki dotyczące aplikacji logiki: #11 konwencja nazewnictwa łączników.

Obsługa wyjątków z zakresami i opcjami "Uruchom po"

Zakresy zapewniają możliwość grupowania wielu akcji, dzięki czemu można zaimplementować zachowanie Try-Catch-Finally. Funkcjonalność akcji Zakres jest podobna do koncepcji Region w programie Visual Studio. W projektancie możesz zwinąć i rozwinąć zawartość zakresu, aby zwiększyć produktywność deweloperów.

Podczas implementowania tego wzorca można również określić, kiedy należy uruchomić akcję Zakres i akcje wewnątrz, na podstawie stanu wykonania poprzedniej akcji, które mogą mieć wartość Powodzenie, Niepowodzenie, Pominięto lub Limit czasu. Aby skonfigurować to zachowanie, użyj opcji Uruchom po (runAfter) akcji Zakres:

  • Powodzenie
  • Nie powiodło się
  • Pominięto
  • Przekroczono limit czasu

Konsolidowanie usług udostępnionych

Podczas tworzenia rozwiązań integracji rozważ tworzenie i używanie usług udostępnionych do typowych zadań. Możesz utworzyć i uwidocznić kolekcję usług udostępnionych, z których może korzystać twój zespół projektu i inne osoby. Każdy zyskuje większą produktywność, jednolitość i możliwość wymuszania ładu w rozwiązaniach organizacji. W poniższych sekcjach opisano niektóre obszary, w których warto rozważyć wprowadzenie usług udostępnionych:

Usługa udostępniona Przyczyny
Scentralizowane rejestrowanie Udostępniaj typowe wzorce dotyczące instrumentowania kodu przez deweloperów przy użyciu odpowiedniego rejestrowania. Następnie można skonfigurować widoki diagnostyczne, które ułatwiają określenie kondycji interfejsu i możliwości obsługi.
Śledzenie biznesowe i monitorowanie aktywności biznesowej Przechwyć i uwidaczniać dane, aby eksperci z dziedziny biznesowej mogli lepiej zrozumieć stan transakcji biznesowych i wykonywać samoobsługowe zapytania analityczne.
Dane konfiguracji Oddziel dane konfiguracji aplikacji od kodu, aby ułatwić przenoszenie aplikacji między środowiskami. Upewnij się, że zapewnia ujednolicone i łatwe replikowalny podejście do uzyskiwania dostępu do danych konfiguracji, dzięki czemu zespoły projektów mogą skupić się na rozwiązywaniu problemu biznesowego, a nie poświęcać czasu na konfiguracje aplikacji na potrzeby wdrażania. W przeciwnym razie, jeśli każdy projekt zbliżył się do tej separacji w wyjątkowy sposób, nie można korzystać z korzyści skali.
Łączniki niestandardowe Utwórz łączniki niestandardowe dla systemów wewnętrznych, które nie mają wstępnie utworzonych łączników w usłudze Azure Logic Apps, aby uprościć obsługę zespołu projektu i innych osób.
Typowe zestawy danych lub źródła danych Uwidacznianie typowych zestawów danych i źródeł danych jako interfejsów API lub łączników do użycia przez zespoły projektów i unikanie ponownego tworzenia koła. Każda organizacja ma wspólne zestawy danych, które muszą integrować systemy w środowisku przedsiębiorstwa.

Przeglądanie, odzwierciedlinie i nauka

Od czasu do czasu oceń i oceń istniejące aplikacje logiki, szczególnie w przypadku ich awarii. Nie tylko przeanalizuj proces biznesowy, aby dowiedzieć się, co i gdzie można ulepszyć, ale także analizować historię uruchamiania przepływu pracy, aby poznać błędy, błędy i błędy, które wystąpiły. Usługa Azure Logic Apps udostępnia tak bogatą historię uruchamiania. Masz duże prawdopodobieństwo, że odkryjesz nowe elementy dotyczące aplikacji podczas przeglądania historii uruchamiania przepływu pracy. Podobnie jak w przypadku wszystkich programowania kodu, niektóre przypadki krawędzi lub rogu mogą pojawić się. Podczas odnajdywania zaktualizuj interfejsy, aby uwzględnić te sytuacje i poprawić ogólną niezawodność rozwiązań.

Jedną z rzeczywistości dla zespołów projektu jest to, że deweloperzy próbują ogólnie przechwytywać błędy, aby przynajmniej uzyskać ochronę przed problemami. Gdy twój zespół odkrywa i lepiej rozumie, gdzie coś może pójść nie tak, możesz uzyskać więcej preskrypcji na temat ochrony przed problemami.

Podobnie jak w przypadku regularnego wykonywania przez organizacje ćwiczeń typu "czerwony zespół", takich jak testy penetracyjne lub próby wyłudzania informacji, bezpieczeństwo nie jest działaniem "set-and-forget". Gdy nowe schematy uwierzytelniania i podejścia staną się dostępne, okresowo ponownie zapoznaj się z interfejsami, przejrzyj środki bezpieczeństwa i uwzględnij odpowiednie i odpowiednie nowe rozwiązania, które zapewniają najbezpieczniejsze podejścia.

DevOps to inny obszar, który chcesz okresowo oceniać. Ponieważ firma Microsoft lub społeczność wprowadza nowe szablony lub podejścia, oceń te aktualizacje, aby określić, czy możesz uzyskać więcej korzyści.

Następne kroki

Wiesz już więcej na temat dostępnych metod migracji, zagadnień dotyczących planowania i najlepszych rozwiązań dotyczących przenoszenia obciążeń programu BizTalk Server do usług Azure Integration Services. Aby przekazać szczegółową opinię na temat tego przewodnika, możesz użyć następującego formularza: