Designa högpresterande applikationer - kurs 46 900 rub. från IBS Training Center, träning 25 timmar, Datum: 11 mars 2024.
Miscellanea / / November 28, 2023
Redan innan du designar något mjukvarusystem måste du förstå att det på grund av vissa begränsningar alltid kan bli ett högpresterande system. När man utvecklar ett högpresterande system är det nödvändigt att bestämma vilka parametrar som definierar systemet som högpresterande. Om systemet är högpresterande måste särskilda åtgärder vidtas för att säkerställa prestanda för dess framgångsrika implementering.
Kursen undersöker skillnaderna mellan system med hög belastning, hög tillförlitlighet och hög prestanda.
Huvudmålet med kursen är att ge en förståelse för de grundläggande begrepp, principer och tillvägagångssätt som används vid design av högpresterande system.
En vanlig fras: "Det borde fungera snabbt!" - Detta är inget krav. Under utbildningen kommer deltagarna inte bara att lära sig varför detta inte är ett krav, utan kommer också att lära sig hur man korrekt arbetar med och analyserar prestationskrav. Kursen introducerar också begreppen "kritiska scenarier". Studenterna ska befästa de förvärvade kunskaperna om att arbeta med krav i praktiken under en praktisk uppgift.
Kursen undersöker de huvudsakliga exemplen på förlust av produktivitet i mjukvarusystem. Efter detta ges de viktigaste sätten att bekämpa systemets prestanda. Även inom ramen för kursen diskuteras mönster som används vid design av system med ökade krav med hjälp av praktiska exempel på tillämpning. prestanda, ger information om de huvudsakliga antimönster som uppstår vid implementering av programvarusystem som påverkar produktivitet.
Särskild uppmärksamhet ägnas åt att förbereda systemet för testning och analys av testresultat. Beskriver skapandet av ett program och metodik för att testa högbelastningssystem, lastmodeller system och diskuterar en metodik som möjliggör kvantitativ bedömning av prestanda system.
Eftersom mjukvarusystemutvecklare ofta måste lösa problemen med att utveckla högt laddade system som bearbetar stora datamängder med givet krav på svarstider och volymer av bearbetad data kommer kursen att vara användbar inte bara för arkitekter utan även för utvecklingsprojektledare, utvecklare.
1. Konceptet med ett högpresterande system (2,5 timmar):
Högpresterande applikation, applikation med hög belastning, applikation med hög tillgänglighet.
Applikationsprestandahantering.
Beroende av priset för felkorrigering på upptäcktsstadiet och introduktionsstadiet.
Grundläggande egenskaper som beskriver systemets prestanda.
Systembelastningsmodell.
2. Kravanalys för högpresterande system (1,5 timmar)
Utformning av icke-funktionella krav för högpresterande system.
Att hantera motsägelser när man skapar prestationskrav.
Fullständighet av krav.
Workshop (1 timme):
Analys av krav på inkonsekvens och fullständighet.
2.1.Arkitektonisk taktik. Produktivitetstaktik (1,5 timmar)
Funktioner för bildandet av krav för kösystem (QS).
3. Design av högpresterande system (2 timmar)
Systemkvalitetsattribut.
Avvägningar när man arbetar med flera kvalitetsattribut samtidigt: exemplet CAP och PACELC.
Workshop: Analys av principen för att balansera kvalitetsattribut med exemplet med Amazon Dynamo DB (1 timme):
Övervägande av tillvägagångssätt för flexibel systemskalning med exemplet med Amazon Dynamo DB med bibehållen kontroll över feltolerans och konstant prestanda.
3.1. Klassiska prestandametoder
De främsta orsakerna till förlust av systemets prestanda (1 timme).
Grundläggande metoder för att öka systemets prestanda (1 timme).
Principer för horisontell och vertikal skalning av system (0,5 h).
Workshop (2 timmar):
Analys av ett exempel på systemskalning.
Konvertera ett monolitiskt system till Map-Reduce.
Översikt över Map-Reduce.
Konvertera Map-Reduce till Lambda-arkitektur för att minska problemen med ren Map-Reduce-övning.
4. Mönster för implementering av högpresterande system (5 timmar)
Huvudklasserna av mönster som används för att bygga högpresterande system: GRASP, arkitekturmönster, applikationsintegrationsmönster.
Exempel på praktisk implementering av mallar i moderna standarder.
Exempel på praktisk implementering av mallar i moderna ramverk för utveckling av integrationssystem.
5. Kodning av högpresterande system (2 timmar)
Grundläggande frågor i kodning av högpresterande system.
Optimeringsmetoder för moderna kompilatorer och runtime-miljöer.
6. Testa högpresterande system (2 timmar)
Typer av tester som används för att bevisa systemets prestanda.
Förberedelse för testning (rita upp scenarier och skapa en lastmodell).
Analys av testresultat.
7. SPE-metodik (1 timme)
Introduktion till SPE-metoden. Historia, användningsgränser.
Metodik för att analysera system med hjälp av SPE.
Workshop (1 timme):
Övervägande om ett praktiskt exempel på användning av SPE-metoden för:
Uppskattning av gränserna för systemprestanda baserat på nuvarande egenskaper hos hårdvaran och mjukvaran;
Bedöma effekten av arkitektoniska beslut på systemets prestanda;
Uppskattningar av hårdvarukrav baserat på prestandakrav, baserat på skalning av nuvarande systemprocesser.