Design af højtydende applikationer - kursus 46.900 rub. fra IBS Training Center, træning 25 timer, Dato: 11. marts 2024.
Miscellanea / / November 28, 2023
Selv før du designer et softwaresystem, skal du forstå, at det på grund af visse begrænsninger altid kan blive et højtydende system. Ved udvikling af et højtydende system er det nødvendigt at bestemme, hvilke parametre der definerer systemet som højtydende. Hvis systemet er højtydende, skal der tages særlige foranstaltninger for at sikre ydelsen, for at det skal være vellykket.
Kurset undersøger forskellene mellem høj belastning, høj pålidelighed og højtydende systemer.
Hovedformålet med kurset er at give en forståelse af de grundlæggende begreber, principper og tilgange, der anvendes i design af højtydende systemer.
En almindelig sætning: "Det burde virke hurtigt!" - dette er ikke et krav. Under uddannelsen vil deltagerne ikke kun lære, hvorfor dette ikke er et krav, men vil også lære, hvordan man korrekt arbejder med og analyserer præstationskrav. Kurset introducerer også begreberne "kritiske scenarier". Studerende vil konsolidere den opnåede viden om at arbejde med krav i praksis i løbet af en praktisk opgave.
Kurset undersøger de vigtigste eksempler på tab af produktivitet i softwaresystemer. Herefter gives de vigtigste måder at bekæmpe systemets ydeevne på. Også inden for kursets rammer diskuteres mønstre anvendt i design af systemer med øgede krav ved brug af praktiske eksempler på anvendelse. ydeevne, giver information om de vigtigste anti-mønstre, man støder på ved implementering af softwaresystemer, der påvirker produktivitet.
Der lægges særlig vægt på at forberede systemet til test og analyse af testresultater. Beskriver oprettelsen af et program og metode til test af højbelastningssystemer, belastningsmodeller systemer og diskuterer en metode, der giver mulighed for kvantitativ vurdering af ydeevne systemer.
Da softwaresystemudviklere ofte skal løse problemerne med at udvikle højt belastede systemer, der behandler store mængder data med givet krav til svartider og mængder af behandlede data, vil kurset være nyttigt ikke kun for arkitekter, men også for udviklingsprojektledere, udviklere.
1. Koncept med et højtydende system (2,5 timer):
Højtydende applikation, applikation med høj belastning, applikation med høj tilgængelighed.
Administration af applikationsydelse.
Afhængighed af prisen på fejlkorrektion på detektionsstadiet og introduktionsstadiet.
Grundlæggende egenskaber, der beskriver systemets ydeevne.
Systembelastningsmodel.
2. Kravanalyse for højtydende systemer (1,5 time)
Dannelse af ikke-funktionelle krav til højtydende systemer.
Håndtering af modsætninger, når der opstilles præstationskrav.
Fuldstændighed af krav.
Workshop (1 time):
Analyse af krav til inkonsistens og fuldstændighed.
2.1.Arkitektonisk taktik. Produktivitetstaktik (1,5 timer)
Funktioner ved dannelsen af krav til køsystemer (QS).
3. Design af højtydende systemer (2 timer)
Systemkvalitetsattributter.
Afvejninger, når der arbejdes på flere kvalitetsegenskaber samtidigt: eksemplet med CAP og PACELC.
Workshop: Analyse af princippet om afbalancering af kvalitetsegenskaber ved hjælp af eksemplet med Amazon Dynamo DB (1 time):
Overvejelse af tilgange til fleksibel systemskalering ved at bruge eksemplet med Amazon Dynamo DB, samtidig med at kontrollen over fejltolerancen bevares og konstant ydeevne.
3.1. Klassiske præstationstilgange
De vigtigste årsager til tab af systemets ydeevne (1 time).
Grundlæggende metoder til at øge systemets ydeevne (1 time).
Principper for horisontal og vertikal skalering af systemer (0,5 h).
Workshop (2 timer):
Analyse af et eksempel på systemskalering.
Konvertering af et monolitisk system til Map-Reduce.
Oversigt over Map-Reduce.
Konvertering af Map-Reduce til Lambda-arkitektur for at reducere problemerne med ren Map-Reduce-praksis.
4. Mønstre til implementering af højtydende systemer (5 timer)
De vigtigste klasser af mønstre, der bruges til at bygge højtydende systemer: GRASP, arkitekturmønstre, applikationsintegrationsmønstre.
Eksempler på praktisk implementering af skabeloner i moderne standarder.
Eksempler på praktisk implementering af skabeloner i moderne integrationssystemers udviklingsrammer.
5. Kodning af højtydende systemer (2 timer)
Grundlæggende problemer i kodning af højtydende systemer.
Optimeringsmetoder til moderne compilere og runtime-miljøer.
6. Test af højtydende systemer (2 timer)
Typer af test, der bruges til at bevise systemets ydeevne.
Forberedelse til test (opstilling af scenarier og oprettelse af en belastningsmodel).
Analyse af testresultater.
7. SPE-metode (1 time)
Introduktion til SPE-metoden. Historie, brugsgrænser.
Metode til analyse af systemer ved brug af SPE.
Workshop (1 time):
Overvejelser om et praktisk eksempel på brug af SPE-metoden til:
Estimering af grænserne for systemets ydeevne baseret på de aktuelle egenskaber af hardware og software;
Vurdering af virkningen af arkitektoniske beslutninger på systemets ydeevne;
Estimater af hardwarekrav baseret på ydeevnekrav, baseret på skalering af aktuelle systemprocesser.