Scenariusz 1 — tworzenie architektury na skalę globalną z bezpiecznym dostępem

Ukończone

W kolejnych dwóch lekcjach przejrzysz dwa scenariusze biznesowe. Opisy firmy, cele projektu i ograniczenia zostały już opracowane. Jeśli chcesz, możesz pracować nad tym samodzielnie, ale przeprowadzenie w miarę możliwości burzy mózgów z innymi osobami może być interesujące.

Proces opracowywania rozwiązań

Twoim celem, w tych scenariuszach i prawdopodobnie w świecie rzeczywistym, jest zrozumienie następujących kwestii:

  • Problem, który firma musi rozwiązać.
  • Wszelkie wymagania i ograniczenia, które towarzyszą rozwiązaniu.

Ten cel jest często w postaci opisu problemu. Jest to formalny zestaw punktów, który jasno definiuje okoliczności, obecny stan i wymagane wyniki rozwiązania. Na tym etapie chcesz uniknąć poznawania sposobu rozwiązywania problemu i skupić się na tym, co chcesz rozwiązać.

Po zaakceptowaniu opisu problemu przez Ciebie (i prawdopodobnie członków Twojego zespołu oraz osób biorących udział w projekcie) należy określić jak najwięcej wymagań (celów) dla projektu. Następnie weź pod uwagę wszelkie ograniczenia dotyczące rozwiązania.

Na tym etapie akceptowalne są nawet nierealistyczne ograniczenia. Później, po poznaniu współczynnika kosztów do korzyści, będzie można zweryfikować poszczególne wymagania i ograniczenia.

W środowisku produkcyjnym tworzenie rozwiązania wymaga zazwyczaj sześciu faz. Opracowanie opisu problemu to dopiero początek.

  1. Odnajdywanie: oryginalne stwierdzenie problemu od klienta.
  2. Wyobrażanie sobie: "niebieski niebo" opis tego, jak wygląda sukces w projekcie. Często używane są w nim zdania rozpoczynające się od „Mogę...”.
  3. Sesja projektowania architektury: początkowy układ opcji technologicznych i wyborów dla wstępnego rozwiązania.
  4. Weryfikacja koncepcji ( POC): po wybraniu optymalnych technologii i procesów dla rozwiązania konfiguracja weryfikacji koncepcji jest skonfigurowana przy użyciu małego reprezentatywnego przykładu tego, jak może wyglądać rozwiązanie. Jeśli jest dostępne aktualnie działające rozwiązanie w ramach równoległego przykładu, można go użyć.
  5. Implementacja: Implementowanie etapowego wdrażania ukończonego rozwiązania na podstawie wyników z poprzednich faz.
  6. Przekazywanie: postmortem dotyczący projektu z omówieniem przyszłych ulepszeń.

W tym module można korzystać z szablonów projektu i najnowszych ikon. Tych zasobów możesz również używać w obciążeniach produkcyjnych.

W przypadku scenariuszy w tym module poświęcasz trochę czasu na określenie opisu problemu (odnajdywanie). Jednak główny fokus będzie skierowany na sesję projektu architektury. Jeśli po zakończeniu pracy z tym modułem chcesz dalej rozwijać swoje rozwiązanie, możesz skorzystać z zasobów z tego modułu.

Szczegóły scenariusza

Twoim klientem jest działający na całym świecie dostawca usług i zawartości. Zażądał on pomocy przy tworzeniu systemu, który będzie mógł obsłużyć tysiące operacji zapisu na sekundę w czymś, co zasadniczo jest operacyjną składnicą danych.

Klient musi również mieć możliwość przeprowadzania analizy danych w czasie rzeczywistym w celu określenia trendów i zidentyfikowania anomalii. Jest to obecnie wykonywane za pomocą aplikacji środowiska uruchomieniowego języka wspólnego (CLR). Klient nie potrzebuje magazynu danych i nie musi wykorzystywać dużych obszarów powierzchni SQL, ale musi mieć możliwość skalowania w miejscu, gdzie znajdują się użytkownicy.

Klient próbuje również określić, które metody uwierzytelniania mają być używane w środowisku hybrydowym. Chociaż główne rozwiązanie i aplikacja będą działać na platformie Azure, klient musi mieć również zapewnione działanie następujących elementów:

  • Aplikacja na maszynie spoza platformy Azure przyłączonej do domeny.
  • Starsza aplikacja, która nie umożliwia zmiany sterownika ani parametrów połączenia na maszynie spoza platformy Azure.
  • Wielu użytkowników, którzy uruchamiają raporty z narzędzi administracyjnych SQL (SQL Server Management Studio, Azure Data Studio, PowerShell) na maszynach spoza platformy Azure nieprzyłączonych do domeny.

Gdy jest to możliwe, klient chce wyeliminować trwale kodowane hasła lub wpisy tajne w parametrach połączenia i plikach konfiguracji aplikacji. Chce też wyeliminować korzystanie z haseł w narzędziach SQL lub znaleźć sposób, aby rozszerzyć to uwierzytelnianie.

Wskazówki dotyczące scenariusza

  • Rozpocznij od wybrania opcji wdrożenia usługi Azure SQL, która jest najbardziej zgodna z bieżącym rozwiązaniem i jest teraz dostępna.
  • Jak klient będzie przeprowadzał skalowanie w wielu regionach z wieloma zapytaniami obsługiwanymi w tym samym czasie z jednoczesnym izolowaniem obciążeń odczytu od obciążeń zapisu?
  • W jaki sposób klient ma uzyskiwać dostęp do danych w różnych wdrożeniach?
  • Jakie metody uwierzytelniania są zalecane dla ścieżek interakcji opisanych w tym scenariuszu?

Zadania

  1. Po przejrzeniu scenariusza i udostępnionych wskazówek wyodrębnij jak najwięcej wymagań dotyczących projektu.

  2. Utwórz listę możliwych technologii i procesów, które mogą potencjalnie znaleźć zastosowanie w rozwiązaniu. Możesz dowolnie dostosowywać scenariusz, aby uzyskać więcej informacji tam, gdzie chcesz mieć jasność. W takim przypadku możesz przyjąć pewne założenia.

    Napiwek

    W przypadku wyzwań związanych z zabezpieczeniami warto rozważyć skorzystanie z podręcznika z opisem najlepszych rozwiązań dotyczących zabezpieczeń usługi Azure SQL.

  3. Korzystając z macierzy podejmowania decyzji lub innego procesu decyzyjnego, wybierz technologie i procesy, które będą się składały na wstępne rozwiązanie.

  4. Sporządź notatki, w których uwzględnisz cele i ograniczenia projektu, a także zalecany model rozwiązania.

Po opracowaniu wstępnego rozwiązania często następnym krokiem jest przedstawienie go większej liczbie członków zespołu (klientowi lub liderowi w zależności od scenariusza). Konieczne będzie zestawienie i przedstawienie rozwiązania w sposób umożliwiający zaprezentowanie celów i ograniczeń projektu, a także sposobu, w jaki to rozwiązanie odnosi się do wymienionych elementów.

Gdy wszystko będzie gotowe, udziel odpowiedzi na następujące pytania, aby sprawdzić, jak prezentuje się Twoje rozwiązanie w porównaniu z rozwiązaniem przykładowym. Może istnieć wiele prawidłowych odpowiedzi, więc nawet jeśli Twoje rozwiązanie nie znajdzie się na liście, może być wykonalne.

Test wiedzy

1.

Która opcja wdrażania usługi Azure SQL jest potencjalnie najlepsza na potrzeby tego scenariusza?

2.

Jak klient będzie przeprowadzał skalowanie w wielu regionach z wieloma zapytaniami obsługiwanymi w tym samym czasie z jednoczesnym izolowaniem obciążeń odczytu od obciążeń zapisu?

3.

Która metoda uwierzytelniania jest zalecana dla aplikacji działającej na maszynie wirtualnej platformy Azure?

4.

Która metoda uwierzytelniania jest zalecana dla aplikacji działającej na maszynie spoza platformy Azure przyłączonej do domeny?

5.

Która metoda uwierzytelniania jest zalecana dla narzędzi administracyjnych SQL (SSMS, PowerShell) działających na maszynie spoza platformy Azure nieprzyłączonej do domeny?

6.

Która metoda uwierzytelniania jest zalecana dla starszej aplikacji, w przypadku której nie można zmienić sterownika/parametrów połączenia na komputerze spoza platformy Azure?