Udostępnij za pośrednictwem


Wzorzec skalowania między chmurami (dane lokalne)

Dowiedz się, jak utworzyć aplikację hybrydową, która obejmuje platformę Azure i usługę Azure Stack Hub. Ten wzorzec pokazuje również, jak używać pojedynczego lokalnego źródła danych na potrzeby zgodności.

Kontekst i problem

Wiele organizacji zbiera i przechowuje ogromne ilości poufnych danych klientów. Często nie można przechowywać poufnych danych w chmurze publicznej z powodu przepisów firmowych lub zasad rządowych. Organizacje te chcą również korzystać ze skalowalności chmury publicznej. Chmura publiczna może obsługiwać sezonowe szczyty ruchu, co pozwala klientom płacić za dokładnie potrzebny sprzęt, gdy tego potrzebują.

Rozwiązanie

Rozwiązanie korzysta z zalet zgodności chmury prywatnej, łącząc je ze skalowalnością chmury publicznej. Chmura hybrydowa platformy Azure i usługi Azure Stack Hub zapewnia spójne środowisko dla deweloperów. Ta spójność pozwala im zastosować swoje umiejętności zarówno w chmurze publicznej, jak i w środowiskach lokalnych.

Przewodnik wdrażania rozwiązania umożliwia wdrożenie identycznej aplikacji internetowej w chmurze publicznej i prywatnej. Możesz również uzyskać dostęp do sieci nieinternetowej hostowanej w chmurze prywatnej. Aplikacje internetowe są monitorowane pod kątem obciążenia. Po znacznym wzroście ruchu program manipuluje rekordami DNS w celu przekierowania ruchu do chmury publicznej. Gdy ruch nie jest już znaczący, rekordy DNS są aktualizowane w celu kierowania ruchu z powrotem do chmury prywatnej.

Cross-cloud scaling with on-prem data pattern

Składniki

To rozwiązanie korzysta z następujących składników:

Warstwa Składnik Opis
Azure Azure App Service Azure App Service umożliwia tworzenie i hostowanie aplikacji internetowych, aplikacji interfejsu API RESTful i Azure Functions. Wszystko w wybranym języku programowania bez zarządzania infrastrukturą.
Azure Virtual Network Usługa Azure Virtual Network (VNet) to podstawowy blok konstrukcyjny dla sieci prywatnych na platformie Azure. Sieć wirtualna umożliwia wielu typom zasobów platformy Azure, takim jak maszyny wirtualne, bezpieczne komunikowanie się ze sobą, Internetem i sieciami lokalnymi. Rozwiązanie demonstruje również użycie dodatkowych składników sieciowych:
— podsieci aplikacji i bramy.
— lokalna brama sieci lokalnej.
— brama sieci wirtualnej, która działa jako połączenie bramy sieci VPN typu lokacja-lokacja.
- publiczny adres IP.
- połączenie sieci VPN typu punkt-lokacja.
— Usługa Azure DNS do hostowania domen DNS i zapewniania rozpoznawania nazw.
Azure Traffic Manager Azure Traffic Manager jest modułem równoważenia obciążenia ruchu opartego na systemie DNS. Umożliwia kontrolowanie dystrybucji ruchu użytkowników dla punktów końcowych usługi w różnych centrach danych.
Azure Application Insights Szczegółowe informacje aplikacji to rozszerzalna usługa zarządzania wydajnością aplikacji dla deweloperów internetowych tworzących aplikacje i zarządzając nimi na wielu platformach.
Azure Functions Azure Functions umożliwia wykonywanie kodu w środowisku bezserwerowym bez konieczności wcześniejszego tworzenia maszyny wirtualnej lub publikowania aplikacji internetowej.
Autoskalowanie platformy Azure Autoskaluj to wbudowana funkcja usług w chmurze, maszyn wirtualnych i aplikacji internetowych. Funkcja umożliwia aplikacjom najlepsze działanie w przypadku zmian zapotrzebowania. Aplikacje dostosują się do skoków ruchu, powiadamiając o zmianie i skalowaniu metryk zgodnie z potrzebami.
Azure Stack Hub Środowisko obliczeniowe IaaS Usługa Azure Stack Hub umożliwia korzystanie z tego samego modelu aplikacji, portalu samoobsługowego i interfejsów API włączonych przez platformę Azure. Usługa Azure Stack Hub IaaS umożliwia szeroką gamę technologii typu open source na potrzeby spójnych wdrożeń w chmurze hybrydowej. W przykładzie rozwiązania użyto maszyny wirtualnej serwera Windows do SQL Server, na przykład.
Azure App Service Podobnie jak w przypadku aplikacji internetowej platformy Azure rozwiązanie używa Azure App Service w usłudze Azure Stack Hub do hostowania aplikacji internetowej.
Sieć Sieć wirtualna usługi Azure Stack Hub działa dokładnie tak samo jak usługa Azure Virtual Network. Używa wielu z tych samych składników sieciowych, w tym niestandardowych nazw hostów.
Usługa Azure DevOps Services Rejestrowanie Szybko skonfiguruj ciągłą integrację na potrzeby kompilacji, testowania i wdrażania. Aby uzyskać więcej informacji, zobacz Rejestracja, logowanie się do Azure DevOps.
Azure Pipelines Użyj Azure Pipelines do ciągłej integracji/ciągłego dostarczania. Azure Pipelines umożliwia zarządzanie hostowanymi agentami kompilacji i wydaniami oraz definicjami.
Repozytorium kodu Korzystanie z wielu repozytoriów kodu w celu usprawnienia potoku programowania. Użyj istniejących repozytoriów kodu w GitHub, Bitbucket, Dropbox, OneDrive i Azure Repos.

Problemy i kwestie do rozważenia

Podczas podejmowania decyzji o sposobie implementacji tego rozwiązania należy wziąć pod uwagę następujące kwestie:

Skalowalność

Platforma Azure i usługa Azure Stack Hub są unikatowo dostosowane do potrzeb dzisiejszej firmy rozproszonej na całym świecie.

Chmura hybrydowa bez problemów

Firma Microsoft oferuje niezrównaną integrację zasobów lokalnych z usługami Azure Stack Hub i Azure w jednym ujednoliconym rozwiązaniu. Ta integracja eliminuje problemy z zarządzaniem wieloma rozwiązaniami punktowymi i połączeniem dostawców usług w chmurze. W przypadku skalowania między chmurami moc platformy Azure to zaledwie kilka kliknięć. Po prostu połącz usługę Azure Stack Hub z platformą Azure za pomocą skalowania w chmurze, a dane i aplikacje będą dostępne na platformie Azure w razie potrzeby.

  • Wyeliminuj konieczność kompilowania i obsługi dodatkowej lokacji odzyskiwania po awarii.
  • Oszczędzaj czas i pieniądze, eliminując tworzenie kopii zapasowych taśm i domowanie danych kopii zapasowych na platformie Azure do 99 lat.
  • Łatwe migrowanie obciążeń funkcji Hyper-V, fizycznych (w wersji zapoznawczej) i VMware (w wersji zapoznawczej) na platformę Azure w celu wykorzystania ekonomii i elastyczności chmury.
  • Uruchamianie raportów intensywnie korzystających z mocy obliczeniowej lub analiz na replikowanej kopii zasobów lokalnych na platformie Azure bez wpływu na obciążenia produkcyjne.
  • W razie potrzeby przejdą do chmury i uruchamiaj obciążenia lokalne na platformie Azure przy użyciu większych szablonów obliczeniowych. Rozwiązanie hybrydowe zapewnia niezbędną moc, gdy jej potrzebujesz.
  • Twórz wielowarstwowe środowiska programistyczne na platformie Azure za pomocą kilku kliknięć— nawet replikuj dane produkcyjne na żywo do środowiska deweloperskiego/testowego, aby zachować synchronizację niemal w czasie rzeczywistym.

Ekonomia skalowania między chmurami za pomocą usługi Azure Stack Hub

Kluczową zaletą skalowania chmury są oszczędności ekonomiczne. Płacisz tylko za dodatkowe zasoby, gdy istnieje zapotrzebowanie na te zasoby. Nie ma więcej wydatków na niepotrzebną dodatkową pojemność lub próbuje przewidzieć szczyty i wahania zapotrzebowania.

Zmniejszanie obciążeń na duże zapotrzebowanie do chmury

Skalowanie między chmurami może służyć do obciążeń związanych z przetwarzaniem ramiennym. Obciążenie jest dystrybuowane przez przeniesienie podstawowych aplikacji do chmury publicznej, zwalniając zasoby lokalne dla aplikacji krytycznych dla działania firmy. Aplikację można zastosować do chmury prywatnej, a następnie przejść do chmury publicznej tylko wtedy, gdy jest to konieczne, aby spełnić wymagania.

Dostępność

Wdrożenie globalne ma własne wyzwania, takie jak łączność zmienna i różne przepisy rządowe według regionów. Deweloperzy mogą opracowywać tylko jedną aplikację, a następnie wdrażać ją z różnych powodów z różnymi wymaganiami. Wdróż aplikację w chmurze publicznej platformy Azure, a następnie wdróż dodatkowe wystąpienia lub składniki lokalnie. Możesz zarządzać ruchem między wszystkimi wystąpieniami przy użyciu platformy Azure.

Możliwości zarządzania

Pojedyncze, spójne podejście programistyczne

Platforma Azure i usługa Azure Stack Hub umożliwiają korzystanie ze spójnego zestawu narzędzi programistycznych w całej organizacji. Ta spójność ułatwia implementowanie praktyki ciągłej integracji i ciągłego opracowywania (CI/CD). Wiele aplikacji i usług wdrożonych na platformie Azure lub w usłudze Azure Stack Hub jest wymiennych i można je bezproblemowo uruchamiać w dowolnej lokalizacji.

Hybrydowy potok ciągłej integracji/ciągłego wdrażania może pomóc:

  • Zainicjuj nową kompilację na podstawie zatwierdzeń kodu w repozytorium kodu.
  • Automatycznie wdróż nowo utworzony kod na platformie Azure na potrzeby testowania akceptacyjnego użytkowników.
  • Po zakończeniu testowania kodu automatycznie wdróż w usłudze Azure Stack Hub.

Pojedyncze, spójne rozwiązanie do zarządzania tożsamościami

Usługa Azure Stack Hub współpracuje z usługami Azure Active Directory (Azure AD) i Active Directory Federation Services (ADFS). Usługa Azure Stack Hub współpracuje z Azure AD w połączonych scenariuszach. W przypadku środowisk, które nie mają łączności, możesz użyć usług AD FS jako rozwiązania bez połączenia. Jednostki usługi są używane do udzielania dostępu do aplikacji, umożliwiając im wdrażanie lub konfigurowanie zasobów za pośrednictwem usługi Azure Resource Manager.

Zabezpieczenia

Zapewnianie zgodności i niezależności danych

Usługa Azure Stack Hub umożliwia uruchamianie tej samej usługi w wielu krajach, co w przypadku korzystania z chmury publicznej. Wdrożenie tej samej aplikacji w centrach danych w każdym kraju umożliwia spełnienie wymagań dotyczących niezależności danych. Ta funkcja zapewnia, że dane osobowe są przechowywane w granicach każdego kraju.

Azure Stack Hub — stan zabezpieczeń

Nie ma stanu zabezpieczeń bez solidnego, ciągłego procesu obsługi. Z tego powodu firma Microsoft zainwestowała w aparat aranżacji, który bezproblemowo stosuje poprawki i aktualizacje w całej infrastrukturze.

Dzięki partnerstwu z partnerami OEM usługi Azure Stack Hub firma Microsoft rozszerza ten sam poziom zabezpieczeń na składniki specyficzne dla producenta OEM, takie jak host cyklu życia sprzętu i oprogramowanie działające na nim. To partnerstwo zapewnia, że usługa Azure Stack Hub ma jednolity, solidny poziom zabezpieczeń w całej infrastrukturze. Z kolei klienci mogą tworzyć i zabezpieczać obciążenia aplikacji.

Korzystanie z jednostek usługi za pośrednictwem programu PowerShell, interfejsu wiersza polecenia i Azure Portal

Aby udzielić dostępu do zasobu skryptowi lub aplikacji, skonfiguruj tożsamość aplikacji i uwierzytelnij aplikację przy użyciu własnych poświadczeń. Ta tożsamość jest znana jako jednostka usługi i umożliwia:

  • Przypisz uprawnienia do tożsamości aplikacji, które różnią się od własnych uprawnień i są ograniczone do potrzeb aplikacji.
  • Używanie certyfikatu do uwierzytelnienia podczas wykonywania skryptu nienadzorowanego.

Aby uzyskać więcej informacji na temat tworzenia jednostki usługi i używania certyfikatu dla poświadczeń, zobacz Używanie tożsamości aplikacji do uzyskiwania dostępu do zasobów.

Kiedy używać tego wzorca

  • Moja organizacja korzysta z podejścia DevOps lub ma jedną zaplanowaną w najbliższej przyszłości.
  • Chcę zaimplementować praktyki ciągłej integracji/ciągłego wdrażania w ramach implementacji usługi Azure Stack Hub i chmury publicznej.
  • Chcę skonsolidować potok ciągłej integracji/ciągłego wdrażania w środowiskach chmurowych i lokalnych.
  • Chcę mieć możliwość bezproblemowego tworzenia aplikacji przy użyciu usług w chmurze lub lokalnych.
  • Chcę wykorzystać spójne umiejętności deweloperów w aplikacjach w chmurze i aplikacjach lokalnych.
  • Korzystam z platformy Azure, ale mam deweloperów, którzy pracują w lokalnej chmurze usługi Azure Stack Hub.
  • Moje aplikacje lokalne doświadczają skoków zapotrzebowania podczas sezonowych, cyklicznych lub nieprzewidywalnych wahań.
  • Mam składniki lokalne i chcę bezproblemowo skalować je przy użyciu chmury.
  • Chcę mieć skalowalność chmury, ale chcę, aby moja aplikacja uruchamiała się lokalnie, jak najwięcej.

Następne kroki

Aby dowiedzieć się więcej o tematach wprowadzonych w tym artykule:

Gdy wszystko będzie gotowe do przetestowania przykładu rozwiązania, przejdź do przewodnika wdrażania rozwiązań do skalowania między chmurami (danych lokalnych). Przewodnik wdrażania zawiera instrukcje krok po kroku dotyczące wdrażania i testowania jego składników.