Navrhování vysoce výkonných aplikací - kurz 46 900 rub. z IBS Training Center, školení 25 hodin, Termín: 11. března 2024.
Různé / / November 28, 2023
Ještě před návrhem jakéhokoli softwarového systému musíte pochopit, že kvůli určitým omezením se vždy může stát vysoce výkonným systémem. Při vývoji vysoce výkonného systému je nutné určit, jaké parametry definují systém jako vysoce výkonný. Pokud je systém vysoce výkonný, pak pro jeho úspěšnou implementaci musí být přijata speciální opatření k zajištění výkonu.
Předmět zkoumá rozdíly mezi systémy s vysokou zátěží, vysokou spolehlivostí a vysokým výkonem.
Hlavním cílem kurzu je poskytnout pochopení základních pojmů, principů a přístupů používaných při návrhu vysoce výkonných systémů.
Běžná fráze: "Mělo by to fungovat rychle!" - není to podmínkou. Během školení se účastníci nejen dozvědí, proč to není požadavek, ale také se naučí, jak správně pracovat s požadavky na výkon a analyzovat je. Kurz také seznamuje s pojmy „kritické scénáře“. Získané znalosti o práci s požadavky v praxi si studenti upevní při praktickém cvičení.
Předmět zkoumá hlavní příklady ztráty produktivity softwarových systémů. Poté jsou uvedeny hlavní způsoby boje proti výkonu systému. V rámci předmětu jsou také diskutovány vzory používané při návrhu systémů se zvýšenými požadavky na praktických příkladech aplikace. výkonu, poskytuje informace o hlavních anti-vzorcích, které se vyskytují při implementaci softwarových systémů, které ovlivňují produktivita.
Zvláštní pozornost je věnována přípravě systému pro testování a analýze výsledků testů. Popisuje tvorbu programu a metodiku testování vysoce zatěžovaných systémů, zátěžových modelů systémů a pojednává o metodologii, která umožňuje kvantitativní hodnocení výkonnosti systémy.
Protože vývojáři softwarových systémů musí často řešit problémy s vývojem vysoce zatížených systémů, které zpracovávají velké objemy dat vzhledem k požadavkům na doby odezvy a objemy zpracovávaných dat bude kurz užitečný nejen pro architekty, ale i pro manažery developerských projektů, vývojáři.
1. Koncepce vysoce výkonného systému (2,5 hodiny):
High-Performance aplikace, High-Load aplikace, High-Availability aplikace.
Řízení výkonu aplikace.
Závislost ceny opravy chyb na stádiu odhalení a stádiu zavedení.
Základní charakteristiky popisující výkon systému.
Model zatížení systému.
2. Analýza požadavků na vysoce výkonné systémy (1,5 hodiny)
Tvorba nefunkčních požadavků na vysoce výkonné systémy.
Řešení rozporů při vytváření požadavků na výkon.
Úplnost požadavků.
Workshop (1 hodina):
Analýza požadavků na nekonzistentnost a úplnost.
2.1.Architektonická taktika. Taktika produktivity (1,5 hodiny)
Vlastnosti tvorby požadavků na systémy hromadné obsluhy (QS).
3. Návrh vysoce výkonných systémů (2 hodiny)
Atributy kvality systému.
Kompromisy při současné práci na několika atributech kvality: příklad CAP a PACELC.
Workshop: Analýza principu vyvažování atributů kvality na příkladu Amazon Dynamo DB (1 hodina):
Zvážení přístupů k flexibilnímu škálování systému na příkladu Amazon Dynamo DB při zachování kontroly nad odolností proti chybám a zachování konstantního výkonu.
3.1. Klasické výkonové přístupy
Hlavní příčiny ztráty výkonu systému (1 hodina).
Základní metody pro zvýšení výkonu systému (1 hodina).
Principy horizontálního a vertikálního škálování systémů (0,5 h).
Workshop (2 hodiny):
Analýza příkladu škálování systému.
Převod monolitického systému na Map-Reduce.
Přehled Map-Reduce.
Konverze Map-Reduce na architekturu Lambda, aby se snížily problémy čisté praxe Map-Reduce.
4. Vzory pro implementaci vysoce výkonných systémů (5 hodin)
Hlavní třídy vzorů používaných při budování vysoce výkonných systémů: GRASP, vzory architektury, vzory integrace aplikací.
Příklady praktické implementace šablon v moderních standardech.
Příklady praktické implementace šablon v rámci vývoje moderních integračních systémů.
5. Kódování vysoce výkonných systémů (2 hodiny)
Základní problémy v kódování vysoce výkonných systémů.
Optimalizační metody pro moderní kompilátory a runtime prostředí.
6. Testování vysoce výkonných systémů (2 hodiny)
Typy testů používaných k prokázání výkonu systému.
Příprava na testování (vypracování scénářů a vytvoření modelu zatížení).
Analýza výsledků testů.
7. Metodika SPE (1 hodina)
Úvod do metodiky SPE. Historie, hranice použití.
Metodika analýzy systémů pomocí SPE.
Workshop (1 hodina):
Úvaha o praktickém příkladu použití metodiky SPE pro:
Odhadování limitů výkonu systému na základě aktuálních charakteristik hardwaru a softwaru;
Posouzení dopadu architektonických rozhodnutí na výkon systému;
Odhady hardwarových požadavků na základě požadavků na výkon, na základě škálování aktuálních systémových procesů.