Navrhovanie vysokovýkonných aplikácií - kurz 46 900 rub. z IBS Training Center, tréning 25 hodín, Termín: 11.3.2024.
Rôzne / / November 28, 2023
Ešte pred návrhom akéhokoľvek softvérového systému musíte pochopiť, že kvôli určitým obmedzeniam sa vždy môže stať vysokovýkonným systémom. Pri vývoji vysokovýkonného systému je potrebné určiť, aké parametre definujú systém ako vysokovýkonný. Ak je systém vysoko výkonný, potom pre jeho úspešnú implementáciu musia byť prijaté špeciálne opatrenia na zabezpečenie výkonu.
Kurz skúma rozdiely medzi systémami s vysokou záťažou, vysokou spoľahlivosťou a vysokým výkonom.
Hlavným cieľom kurzu je poskytnúť pochopenie základných pojmov, princípov a prístupov používaných pri navrhovaní vysokovýkonných systémov.
Bežná fráza: "Malo by to fungovať rýchlo!" - to nie je požiadavka. Počas školenia sa účastníci nielen dozvedia, prečo to nie je požiadavka, ale naučia sa aj správne pracovať s požiadavkami na výkon a analyzovať ich. Kurz tiež predstaví koncepty „kritických scenárov“. Získané vedomosti o práci s požiadavkami si študenti upevnia v praxi počas praktického zadania.
Kurz skúma hlavné príklady straty produktivity softvérových systémov. Potom sú uvedené hlavné spôsoby boja proti výkonu systému. V rámci predmetu sú diskutované aj vzory používané pri návrhu systémov so zvýšenými požiadavkami na praktických príkladoch použitia. výkon, poskytuje informácie o hlavných anti-vzoroch, s ktorými sa stretávate pri implementácii softvérových systémov, ktoré ovplyvňujú produktivitu.
Osobitná pozornosť sa venuje príprave systému na testovanie a analýze výsledkov testov. Popisuje tvorbu programu a metodiku testovania vysoko zaťažených systémov, záťažových modelov systémov a diskutuje o metodológii, ktorá umožňuje kvantitatívne hodnotenie výkonnosti systémov.
Keďže vývojári softvérových systémov musia často riešiť problémy s vývojom vysoko zaťažených systémov, ktoré spracúvajú veľké objemy údajov vzhľadom na požiadavky na reakčné časy a objemy spracovávaných dát bude kurz užitočný nielen pre architektov, ale aj manažérov developerských projektov, vývojárov.
1. Koncepcia vysokovýkonného systému (2,5 hodiny):
High-Performance aplikácia, High-Load aplikácia, High-Availability aplikácia.
Riadenie výkonu aplikácií.
Závislosť ceny opravy chýb od štádia odhalenia a štádia zavedenia.
Základné charakteristiky popisujúce výkon systému.
Model zaťaženia systému.
2. Analýza požiadaviek na vysokovýkonné systémy (1,5 hodiny)
Tvorba nefunkčných požiadaviek na vysokovýkonné systémy.
Riešenie rozporov pri vytváraní požiadaviek na výkon.
Úplnosť požiadaviek.
Workshop (1 hodina):
Analýza požiadaviek na nekonzistentnosť a úplnosť.
2.1.Architektonická taktika. Taktika produktivity (1,5 hodiny)
Vlastnosti tvorby požiadaviek na systémy radenia (QS).
3. Návrh vysokovýkonných systémov (2 hodiny)
Vlastnosti kvality systému.
Kompromisy pri súčasnej práci na niekoľkých atribútoch kvality: príklad CAP a PACELC.
Workshop: Analýza princípu vyvažovania atribútov kvality na príklade Amazon Dynamo DB (1 hodina):
Zváženie prístupov k flexibilnému škálovaniu systému na príklade Amazon Dynamo DB pri zachovaní kontroly nad odolnosťou voči chybám a zachovaní konštantného výkonu.
3.1. Klasické výkonové prístupy
Hlavné príčiny straty výkonu systému (1 hodina).
Základné metódy na zvýšenie výkonu systému (1 hodina).
Princípy horizontálneho a vertikálneho škálovania systémov (0,5 h).
Workshop (2 hodiny):
Analýza príkladu škálovania systému.
Konverzia monolitického systému na Map-Reduce.
Prehľad Map-Reduce.
Konverzia architektúry Map-Reduce na architektúru Lambda, aby sa zredukovali problémy s čistou praxou Map-Reduce.
4. Vzory pre implementáciu vysokovýkonných systémov (5 hodín)
Hlavné triedy vzorov používaných pri budovaní vysokovýkonných systémov: GRASP, vzory architektúry, vzory integrácie aplikácií.
Príklady praktickej implementácie šablón v moderných štandardoch.
Príklady praktickej implementácie šablón v rámci vývoja moderných integračných systémov.
5. Kódovanie vysokovýkonných systémov (2 hodiny)
Základné problémy pri kódovaní vysokovýkonných systémov.
Metódy optimalizácie pre moderné kompilátory a runtime prostredia.
6. Testovanie vysokovýkonných systémov (2 hodiny)
Typy testov používaných na preukázanie výkonu systému.
Príprava na testovanie (vypracovanie scenárov a vytvorenie modelu zaťaženia).
Analýza výsledkov testov.
7. Metodika SPE (1 hodina)
Úvod do metodiky SPE. História, hranice použitia.
Metodika analýzy systémov pomocou SPE.
Workshop (1 hodina):
Úvaha o praktickom príklade použitia metodiky SPE pre:
Odhad limitov výkonu systému na základe aktuálnych charakteristík hardvéru a softvéru;
Hodnotenie vplyvu architektonických rozhodnutí na výkon systému;
Odhady hardvérových požiadaviek na základe požiadaviek na výkon, na základe škálovania súčasných systémových procesov.