Scénář 1 – Návrh globálního škálování a zabezpečeného přístupu
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.
- Zjišťování: Původní prohlášení o problému od zákazníka.
- Představa: "modrá obloha" popis toho, jak by úspěch v projektu vypadal. V popisu se často objevují formulace jako „Můžu...“
- Relace návrhu architektury: Počáteční rozložení možností technologie a voleb pro předběžné řešení
- 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.
- Implementace: Implementace postupného zavedení dokončeného řešení na základě zjištění z předchozích fází.
- 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
Až si projdete scénář a poskytnuté doprovodné materiály, stanovte pro projekt tolik požadavků, kolik jich jen půjde najít.
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.
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í.
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é.