Oblikovanje visoko zmogljivih aplikacij - tečaj 46.900 rub. iz izobraževalnega centra IBS, usposabljanje 25 ur, datum: 11. marec 2024.
Miscellanea / / November 28, 2023
Še preden načrtujete katerikoli programski sistem, morate razumeti, da lahko zaradi določenih omejitev vedno postane visoko zmogljiv sistem. Pri razvoju visoko zmogljivega sistema je treba ugotoviti, kateri parametri opredeljujejo sistem kot visoko zmogljiv. Če je sistem visoko zmogljiv, potem je za njegovo uspešno izvedbo treba sprejeti posebne ukrepe za zagotovitev delovanja.
Tečaj preučuje razlike med visoko obremenjenimi, visoko zanesljivimi in visoko zmogljivimi sistemi.
Glavni cilj predmeta je zagotoviti razumevanje osnovnih konceptov, principov in pristopov, ki se uporabljajo pri načrtovanju visoko zmogljivih sistemov.
Pogost stavek: "Delovati mora hitro!" - to ni pogoj. Med usposabljanjem se udeleženci ne bodo samo naučili, zakaj to ni pogoj, ampak se bodo tudi naučili, kako pravilno delati in analizirati zahteve glede uspešnosti. Predmet uvaja tudi koncepte "kritičnih scenarijev". Pridobljeno znanje o delu z zahtevami bodo študenti utrdili v praksi pri praktičnih nalogah.
Predmet obravnava glavne primere izgube produktivnosti programskih sistemov. Po tem so podani glavni načini za boj proti zmogljivosti sistema. Tudi v okviru predmeta se na praktičnih primerih uporabe obravnavajo vzorci, ki se uporabljajo pri načrtovanju sistemov s povečanimi zahtevami. uspešnosti, ponuja informacije o glavnih anti-vzorcih, na katere naletimo pri izvajanju programskih sistemov, ki vplivajo produktivnost.
Posebna pozornost je namenjena pripravi sistema za testiranje in analizi rezultatov testiranja. Opisuje izdelavo programa in metodologije za testiranje visokoobremenjenih sistemov, modelov obremenjevanja sistemov in obravnava metodologijo, ki omogoča kvantitativno oceno uspešnosti sistemi.
Ker morajo razvijalci sistemov programske opreme pogosto reševati težave pri razvoju zelo obremenjenih sistemov, ki obdelujejo velike količine podatkov glede na zahteve glede odzivnih časov in količine obdelanih podatkov bo tečaj uporaben ne le za arhitekte, ampak tudi za vodje razvojnih projektov, razvijalci.
1. Koncept visokozmogljivega sistema (2,5 ure):
Visoko zmogljiva aplikacija, aplikacija visoke obremenitve, aplikacija visoke razpoložljivosti.
Upravljanje zmogljivosti aplikacij.
Odvisnost cene odprave napak od stopnje odkrivanja in stopnje vnosa.
Osnovne značilnosti, ki opisujejo delovanje sistema.
Model obremenitve sistema.
2. Analiza zahtev za visoko zmogljive sisteme (1,5 ure)
Oblikovanje nefunkcionalnih zahtev za visoko zmogljive sisteme.
Ukvarjanje s protislovji pri ustvarjanju zahtev glede uspešnosti.
Popolnost zahtev.
Delavnica (1 ura):
Analiza zahtev glede nedoslednosti in popolnosti.
2.1.Arhitekturne taktike. Taktika produktivnosti (1,5 ure)
Značilnosti oblikovanja zahtev za sisteme čakalnih vrst (QS).
3. Načrtovanje visoko zmogljivih sistemov (2 uri)
Atributi kakovosti sistema.
Kompromisi pri hkratnem delu na več atributih kakovosti: primer CAP in PACELC.
Delavnica: Analiza principa uravnoteženja atributov kakovosti na primeru Amazon Dynamo DB (1 ura):
Upoštevanje pristopov k prilagodljivemu skaliranju sistema na primeru Amazon Dynamo DB ob ohranjanju nadzora nad toleranco napak in ohranjanju konstantne zmogljivosti.
3.1. Klasični pristopi k uspešnosti
Glavni vzroki za izgubo delovanja sistema (1 ura).
Osnovne metode za povečanje zmogljivosti sistema (1 ura).
Principi horizontalnega in vertikalnega skaliranja sistemov (0,5 h).
Delavnica (2 uri):
Analiza primera skaliranja sistema.
Pretvarjanje monolitnega sistema v Map-Reduce.
Pregled Map-Reduce.
Pretvarjanje Map-Reduce v Lambda arhitekturo za zmanjšanje težav čiste prakse Map-Reduce.
4. Vzorci za implementacijo visoko zmogljivih sistemov (5 ur)
Glavni razredi vzorcev, ki se uporabljajo pri gradnji visoko zmogljivih sistemov: GRASP, arhitekturni vzorci, vzorci integracije aplikacij.
Primeri praktične implementacije predlog v sodobnih standardih.
Primeri praktične implementacije predlog v razvojna ogrodja sodobnih integracijskih sistemov.
5. Kodiranje visokozmogljivih sistemov (2 uri)
Osnovna vprašanja pri kodiranju visokozmogljivih sistemov.
Optimizacijske metode za sodobne prevajalnike in izvajalna okolja.
6. Testiranje visoko zmogljivih sistemov (2 uri)
Vrste testov, ki se uporabljajo za dokazovanje delovanja sistema.
Priprava na testiranje (izdelava scenarijev in izdelava obremenitvenega modela).
Analiza rezultatov testov.
7. Metodologija SPE (1 ura)
Uvod v metodologijo SPE. Zgodovina, meje uporabe.
Metodologija za analizo sistemov z uporabo SPE.
Delavnica (1 ura):
Razmislek o praktičnem primeru uporabe metodologije SPE za:
Ocenjevanje meja zmogljivosti sistema na podlagi trenutnih značilnosti strojne in programske opreme;
Ocenjevanje vpliva arhitekturnih odločitev na delovanje sistema;
Ocene zahtev glede strojne opreme na podlagi zahtev glede zmogljivosti na podlagi skaliranja trenutnih sistemskih procesov.