Aprowizuj i wykazuj nowe dzierżawy przy użyciu aplikacji na wzorzec SaaS dla dzierżawy
Dotyczy: Azure SQL Database
W tym artykule opisano aprowizowanie i katalogowanie nowych dzierżaw przy użyciu autonomicznej aplikacji na wzorzec SaaS dzierżawy. Ten artykuł ma dwie główne części:
- Koncepcyjna dyskusja na temat aprowizacji i katalogowania nowych dzierżaw
- Samouczek, który wyróżnia przykładowy kod programu PowerShell, który umożliwia aprowizowanie i katalogowanie
- W samouczku użyto przykładowej aplikacji SaaS Wingtip Tickets dostosowanej do autonomicznej aplikacji dla poszczególnych dzierżaw.
Wzorzec aplikacji autonomicznej na dzierżawę
Autonomiczny wzorzec aplikacji na dzierżawę jest jednym z kilku wzorców dla aplikacji SaaS z wieloma dzierżawami. W tym wzorcu aplikacja autonomiczna jest aprowizowana dla każdej dzierżawy. Aplikacja składa się ze składników na poziomie aplikacji i usługi Azure SQL Database. Każdą aplikację dzierżawy można wdrożyć w ramach subskrypcji dostawcy. Alternatywnie platforma Azure oferuje program aplikacji zarządzanych, w którym można wdrożyć aplikację w ramach subskrypcji dzierżawy i zarządzaną przez dostawcę w imieniu dzierżawy.
Podczas wdrażania aplikacji dla dzierżawy aplikacja i baza danych są aprowizowane w nowej grupie zasobów utworzonej dla dzierżawy. Użycie oddzielnych grup zasobów izoluje zasoby aplikacji każdej dzierżawy i umożliwia zarządzanie nimi niezależnie. W każdej grupie zasobów każde wystąpienie aplikacji jest skonfigurowane do uzyskiwania bezpośredniego dostępu do odpowiedniej bazy danych. Ten model połączenia kontrastuje z innymi wzorcami, które używają wykazu do połączeń brokera między aplikacją a bazą danych. Ponieważ nie ma udostępniania zasobów, każda baza danych dzierżawy musi być aprowizowana przy użyciu wystarczających zasobów, aby obsłużyć szczytowe obciążenie. Ten wzorzec jest zwykle używany w przypadku aplikacji SaaS z mniejszą liczbą dzierżaw, gdzie istnieje silny nacisk na izolację dzierżawy i mniejszy nacisk na koszty zasobów.
Używanie wykazu dzierżaw z aplikacją na wzorzec dzierżawy
Chociaż aplikacja i baza danych każdej dzierżawy są w pełni odizolowane, różne scenariusze zarządzania i analizy mogą działać w różnych dzierżawach. Na przykład zastosowanie zmiany schematu dla nowej wersji aplikacji wymaga zmian w schemacie każdej bazy danych dzierżawy. Scenariusze raportowania i analizy mogą również wymagać dostępu do wszystkich baz danych dzierżaw niezależnie od tego, gdzie są wdrażane.
Wykaz dzierżaw zawiera mapowanie między identyfikatorem dzierżawy a bazą danych dzierżawy, co umożliwia rozpoznawanie identyfikatora jako nazwy serwera i bazy danych. W aplikacji Wingtip SaaS identyfikator dzierżawy jest obliczany jako skrót nazwy dzierżawy, chociaż można użyć innych schematów. Aplikacje autonomiczne nie wymagają katalogu do zarządzania połączeniami, ale wykaz może służyć do określania zakresu innych akcji do zestawu baz danych dzierżawy. Na przykład zapytanie elastyczne może użyć wykazu do określenia zestawu baz danych, w których zapytania są dystrybuowane na potrzeby raportowania między dzierżawami.
Biblioteka kliencka Elastic Database
W przykładowej aplikacji Wingtip wykaz jest implementowany przez funkcje zarządzania fragmentami biblioteki klienta elastycznej bazy danych (EDCL). Biblioteka umożliwia aplikacji tworzenie, zarządzanie i używanie mapy fragmentów przechowywanej w bazie danych. W przykładzie Wingtip Tickets wykaz jest przechowywany w bazie danych wykazu dzierżaw. Fragment mapuje klucz dzierżawy na fragment (bazę danych), w którym są przechowywane dane tej dzierżawy. Funkcje EDCL zarządzają globalną mapą fragmentów przechowywaną w tabelach w bazie danych wykazu dzierżaw i lokalną mapę fragmentów przechowywaną w każdym fragmentzie.
Funkcje EDCL można wywoływać z aplikacji lub skryptów programu PowerShell w celu utworzenia wpisów na mapie fragmentów i zarządzania nimi. Inne funkcje EDCL mogą służyć do pobierania zestawu fragmentów lub nawiązywania połączenia z poprawną bazą danych dla danego klucza dzierżawy.
Ważne
Nie edytuj danych w bazie danych wykazu ani lokalnej mapie fragmentów w bazach danych dzierżawy bezpośrednio. Aktualizacje bezpośrednie nie są obsługiwane z powodu wysokiego ryzyka uszkodzenia danych. Zamiast tego zmodyfikuj dane mapowania tylko przy użyciu interfejsów API EDCL.
Aprowizowanie dzierżawy
Każda dzierżawa wymaga nowej grupy zasobów platformy Azure, która musi zostać utworzona, zanim będzie można aprowizować w niej zasoby. Po utworzeniu grupy zasobów można użyć szablonu usługi Azure Resource Management do wdrożenia składników aplikacji i bazy danych, a następnie skonfigurować połączenie z bazą danych. Aby zainicjować schemat bazy danych, szablon może zaimportować plik bacpac. Alternatywnie bazę danych można utworzyć jako kopię bazy danych szablonu. Baza danych zostanie następnie zaktualizowana o dane początkowego miejsca i zarejestrowana w wykazie.
Samouczek
Ten samouczek zawiera informacje na temat wykonywania następujących czynności:
- Aprowizuj wykaz
- Rejestrowanie przykładowych baz danych dzierżawy wdrożonych wcześniej w wykazie
- Aprowizuj dodatkową dzierżawę i zarejestruj ją w wykazie
Szablon usługi Azure Resource Manager służy do wdrażania i konfigurowania aplikacji, tworzenia bazy danych dzierżawy, a następnie importowania pliku bacpac, aby go zainicjować. Żądanie importu może zostać w kolejce przez kilka minut przed wykonaniem akcji.
Na końcu tego samouczka masz zestaw autonomicznych aplikacji dzierżawy z każdą bazą danych zarejestrowaną w wykazie.
Wymagania wstępne
Do wykonania kroków tego samouczka niezbędne jest spełnienie następujących wymagań wstępnych:
- Zainstalowany jest program Azure PowerShell. Aby uzyskać szczegółowe informacje, zobacz Rozpoczynanie pracy z programem Azure PowerShell
- Wdrażane są trzy przykładowe aplikacje dzierżawy. Aby wdrożyć te aplikacje w mniej niż pięć minut, zobacz Wdrażanie i eksplorowanie wzorca aplikacji autonomicznej SaaS Wingtip Tickets.
Aprowizuj wykaz
W tym zadaniu dowiesz się, jak aprowizować wykaz używany do rejestrowania wszystkich baz danych dzierżawy. Wykonasz następujące zadania:
- Aprowizuj bazę danych wykazu przy użyciu szablonu zarządzania zasobami platformy Azure. Baza danych jest inicjowana przez zaimportowanie pliku bacpac.
- Zarejestruj wdrożone wcześniej przykładowe aplikacje dzierżawy. Każda dzierżawa jest rejestrowana przy użyciu klucza skonstruowanego na podstawie skrótu nazwy dzierżawy. Nazwa dzierżawy jest również przechowywana w tabeli rozszerzeń w wykazie.
W programie PowerShell ISE otwórz plik ...\Learning Modules\UserConfig.psm i zaktualizuj <wartość użytkownika> do wartości użytej podczas wdrażania trzech przykładowych aplikacji. Zapisz plik.
W programie PowerShell ISE otwórz plik ...\Learning Modules\ProvisionTenants\Demo-ProvisionAndCatalog.ps1 i ustaw $Scenario = 1. Wdróż wykaz dzierżaw i zarejestruj wstępnie zdefiniowane dzierżawy.
Dodaj punkt przerwania, umieszczając kursor w dowolnym miejscu w wierszu z
& $PSScriptRoot\New-Catalog.ps1
napisem , a następnie naciśnij F9.Uruchom skrypt, naciskając F5.
Po zatrzymaniu wykonywania skryptu w punkcie przerwania naciśnij F11 , aby przejść do skryptu New-Catalog.ps1.
Śledzenie wykonania skryptu przy użyciu opcji menu Debugowanie, F10 i F11, aby przejść do wywoływanych funkcji lub do tych funkcji.
- Aby uzyskać więcej informacji na temat debugowania skryptów programu PowerShell, zobacz Porady dotyczące pracy ze skryptami programu PowerShell i debugowania ich.
Po zakończeniu działania skryptu wykaz będzie istniał, a wszystkie przykładowe dzierżawy zostaną zarejestrowane.
Teraz przyjrzyj się utworzonym zasobom.
Otwórz witrynę Azure Portal i przeglądaj grupy zasobów. Otwórz grupę zasobów wingtip-sa-catalog-user<> i zanotuj serwer wykazu i bazę danych.
Otwórz bazę danych w portalu i wybierz pozycję Eksplorator danych z menu po lewej stronie. Kliknij polecenie Login, a następnie wprowadź hasło = P@ssword1.
Zapoznaj się ze schematem bazy danych tenantcatalog .
- Wszystkie obiekty w schemacie
__ShardManagement
są udostępniane przez bibliotekę klienta elastic database. - Tabela
Tenants
iTenantsExtended
widok są rozszerzeniami dodanymi w przykładzie, które pokazują, jak można rozszerzyć wykaz w celu zapewnienia dodatkowej wartości.
- Wszystkie obiekty w schemacie
Uruchom zapytanie .
SELECT * FROM dbo.TenantsExtended
Alternatywą dla korzystania z Eksploratora danych jest połączenie z bazą danych z programu SQL Server Management Studio. Aby to zrobić, nawiąż połączenie z etykietki serwera
Pamiętaj, że nie należy edytować danych bezpośrednio w wykazie — zawsze używaj interfejsów API zarządzania fragmentami.
Aprowizuj nową aplikację dzierżawy
W tym zadaniu dowiesz się, jak aprowizować pojedynczą aplikację dzierżawy. Wykonasz następujące zadania:
- Utwórz nową grupę zasobów dla dzierżawy.
- Aprowizuj aplikację i bazę danych w nowej grupie zasobów przy użyciu szablonu zarządzania zasobami platformy Azure. Ta akcja obejmuje inicjowanie bazy danych przy użyciu typowych schematów i danych referencyjnych przez zaimportowanie pliku bacpac.
- Zainicjuj bazę danych przy użyciu podstawowych informacji o dzierżawie. Ta akcja obejmuje określenie typu miejsca, który określa zdjęcie używane jako tło w witrynie internetowej zdarzeń.
- Zarejestruj bazę danych w bazie danych wykazu.
W programie PowerShell ISE otwórz plik ...\Learning Modules\ProvisionTenants\Demo-ProvisionAndCatalog.ps1 i ustaw $Scenario = 2. Wdrażanie wykazu dzierżaw i rejestrowanie wstępnie zdefiniowanych dzierżaw
Dodaj punkt przerwania w skrycie, umieszczając kursor w dowolnym miejscu w wierszu 49, który mówi ,
& $PSScriptRoot\New-TenantApp.ps1
, a następnie naciśnij F9.Uruchom skrypt, naciskając F5.
Po zatrzymaniu wykonywania skryptu w punkcie przerwania naciśnij F11 , aby przejść do skryptu New-Catalog.ps1.
Śledzenie wykonania skryptu przy użyciu opcji menu Debugowanie, F10 i F11, aby przejść do wywoływanych funkcji lub do tych funkcji.
Po aprowizacji dzierżawy zostanie otwarta witryna internetowa zdarzeń nowej dzierżawy.
Następnie możesz sprawdzić nowe zasoby utworzone w witrynie Azure Portal.
Aby zatrzymać rozliczenia, usuń grupy zasobów
Po zakończeniu eksplorowania przykładu usuń wszystkie utworzone grupy zasobów, aby zatrzymać skojarzone rozliczenia.
Dodatkowe zasoby
- Aby dowiedzieć się więcej na temat wielodostępnych aplikacji baz danych SaaS, zobacz Projektowanie wzorców dla wielodostępnych aplikacji SaaS.
Następne kroki
Ten samouczek zawiera informacje na temat wykonywania następujących czynności:
- How to deploy the Wingtip Tickets SaaS Standalone Application (Jak wdrożyć autonomiczną aplikację SaaS w witrynie Wingtip Tickets).
- Informacje o serwerach i bazach danych tworzących aplikację.
- Jak usunąć przykładowe zasoby, aby zatrzymać powiązane rozliczenia.
Możesz dowiedzieć się, jak wykaz jest używany do obsługi różnych scenariuszy między dzierżawami przy użyciu wersji bazy danych dla dzierżawy aplikacji SaaS Wingtip Tickets.