Scénář 1 – Návrh globálního škálování a zabezpečeného přístupu

Dokončeno

V následujících dvou lekcích si projdete dva obchodní scénáře. Popisy společnosti, cíle projektu a omezení už máte stanovené. Můžete na nich pracovat samostatně, ale mohlo by být zajímavé uspořádat brainstorming s ostatními, pokud je to možné.

Proces vývoje řešení

Váš cíl v těchto scénářích a pravděpodobně i ve skutečném světě je porozumět:

  • Problému, který společnost potřebuje vyřešit
  • Všem požadavkům a omezením, které se na hledané řešení vztahují

Tento cíl má často podobu stanovení problému. Jde o formální sadu odstavců, které jasně definují okolnosti, aktuální stav a požadovaný výstup z řešení. V tuto chvíli se chcete vyhnout zkoumání, jak problém vyřešit, a naopak se zaměřit na to, co se má řešit.

Až se vy (a pravděpodobně i váš tým a další zúčastněné strany) shodnete na stanovení problému, měli byste u projektu definovat co nejvíce požadavků (cílů). Z požadavků pak vyplývají omezení u daného řešení.

V tuto chvíli je přípustné mít nerealistická omezení. Později je možné ukázat poměr nákladů a přínosu každého požadavku a omezení a případně je zmírnit.

V produkčním prostředí se řešení obvykle vytváří v 6 fázích. Stanovení problému je jen začátek.

  1. Zjišťování: Původní prohlášení o problému od zákazníka.
  2. Představa: "modrá obloha" popis toho, jak by úspěch v projektu vypadal. V popisu se často objevují formulace jako „Můžu...“
  3. Relace návrhu architektury: Počáteční rozložení možností technologie a voleb pro předběžné řešení
  4. Testování konceptu (POC): Po výběru optimálních technologií a procesů pro řešení se vytvoří POC s malým reprezentativním příkladem toho, jak by řešení mohlo vypadat. Pokud je k dispozici aktuálně spuštěné řešení v paralelní ukázce, můžete ho použít.
  5. Implementace: Implementace postupného zavedení dokončeného řešení na základě zjištění z předchozích fází.
  6. Předání: Postmortem na projektu s diskuzí o budoucích vylepšeních.

V celém tomto modulu můžete využívat šablony projektů a nejnovější ikony. Tyto prostředky můžete využít i ve svých produkčních úlohách.

U scénářů v tomto modulu strávíte nějaký čas určováním, jak stanovit problém (zjišťování). Hlavně se ale zaměříte na proces návrhu architektury. Pokud budete chtít řešení vyvíjet dále i po skončení modulu, můžete k tomu využít prostředky v modulu.

Podrobnosti scénáře

Váš zákazník je poskytovatel služeb a doručování obsahu po celém světě. Požádal o vaši pomoc se sestavením systému, který dokáže zpracovat tisíce zápisů za sekundu do něčeho, co je prakticky provozním datovým tržištěm.

Navíc musí mít možnost provádět analýzu dat v reálném čase, aby mohl zjišťovat trendy a identifikovat anomálie. V současné době to dělá s aplikacemi CLR (Common Language Runtime). Zákazník nehledá datový sklad ani nevyužívá velké části prostředků SQL, ale potřebuje mít možnost škálovat v oblasti, kde se nacházejí uživatelé.

Kromě toho se pokouší určit, které metody ověřování by měl používat ve svém hybridním prostředí. I když se hlavní řešení a aplikace budou provozovat v Azure, zákazník potřebuje zvládat i tyto situace:

  • Aplikace na počítači mimo Azure připojeném k doméně
  • Starší aplikace, která neumožní změnu ovladače nebo připojovacího řetězce, na počítači mimo Azure
  • Několik uživatelů, kteří spouštějí sestavy z nástrojů pro správu SQL (SQL Server Management Studio, Azure Data Studio, PowerShell) na počítačích mimo Azure, které nejsou připojené k doméně

Všude, kde je to možné, chce zákazník odstranit pevné kódování hesel a tajných kódů do připojovacích řetězců a konfiguračních souborů aplikací. Zároveň chce odstranit používání hesel v nástrojích SQL nebo najít způsob, jak dané ověřování vylepšit.

Pokyny pro scénář

  • Začněte s možností nasazení Azure SQL, která je nejvíce kompatibilní s aktuálním řešením a je k dispozici už nyní.
  • Jak bude u zákazníka probíhat škálování do několika oblastí s několika dotazy, které se budou provádět najednou, a jak se při tom bude zachovávat izolace úloh čtení a zápisu?
  • Jak může zákazník přistupovat k datům v různých nasazeních?
  • Které metody ověřování byste doporučili pro cesty interakce popsané v daném scénáři?

Úlohy

  1. Až si projdete scénář a poskytnuté doprovodné materiály, stanovte pro projekt tolik požadavků, kolik jich jen půjde najít.

  2. Vypište možné technologie a procesy, které by se potenciálně daly použít v řešení. Bez obav si můžete scénář přizpůsobit tak, abyste měli více informací a zadání bylo jasnější. V tomto případě si můžete dovolit něco předpokládat.

    Tip

    Při řešení zabezpečení byste mohli zvážit možnost využít playbook osvědčených postupů k zabezpečení Azure SQL.

  3. Pomocí rozhodovací matice nebo nějakého jiného procesu rozhodování vyberte technologie a procesy, které se využijí pro předběžné řešení.

  4. Sepište si poznámky k cílům a omezením projektu i k doporučenému návrhu řešení.

Až nějaké předběžné řešení vymyslíte, dalším obvyklým krokem bývá jeho prezentace většímu týmu (nebo zákazníkovi, vedoucímu apod. – podle konkrétní situace). Řešení bude nutné sestavit a představit způsobem, který sdělí cíle a omezení projektu a vysvětlí, jak se vaše řešení s těmito problémy vypořádá.

Až budete připravení, odpovězte na následující otázky, abyste mohli porovnat své řešení s tím ukázkovým. Správných odpovědí může být i více, takže i když vaše řešení nebude uvedené, může být reálné.

Kontrola znalostí

1.

Která možnost nasazení Azure SQL může být nejvhodnější pro tento scénář?

2.

Jak bude u zákazníka probíhat škálování do několika oblastí s několika dotazy, které se budou provádět najednou, a jak se při tom bude zachovávat izolace úloh čtení a zápisu?

3.

Kterou metodu ověřování byste doporučili pro aplikaci na virtuálním počítači Azure?

4.

Kterou metodu ověřování byste doporučili pro aplikaci na počítači mimo Azure, který je připojený k doméně?

5.

Kterou metodu ověřování byste doporučili pro nástroje pro správu SQL (SSMS, PowerShell) na počítači mimo Azure, který je připojený k doméně?

6.

Kterou metodu ověřování byste doporučili pro starší aplikaci na počítači mimo Azure, ve které nemůžete změnit ovladač ani připojovací řetězec?