Hoogwaardige toepassingen ontwerpen - cursus 46.900 wrijven. van IBS Training Center, training 25 uur, Datum: 11 maart 2024.
Gemengde Berichten / / November 28, 2023
Zelfs voordat u een softwaresysteem ontwerpt, moet u begrijpen dat het vanwege bepaalde beperkingen altijd een systeem met hoge prestaties kan worden. Bij het ontwikkelen van een krachtig systeem is het noodzakelijk om te bepalen welke parameters het systeem als krachtig definiëren. Als het systeem hoge prestaties levert, moeten er voor een succesvolle implementatie speciale maatregelen worden genomen om de prestaties te garanderen.
De cursus onderzoekt de verschillen tussen systemen met hoge belasting, hoge betrouwbaarheid en krachtige systemen.
Het hoofddoel van de cursus is inzicht te verschaffen in de basisconcepten, principes en benaderingen die worden gebruikt bij het ontwerpen van hoogwaardige systemen.
Een veel voorkomende zin: “Het zou snel moeten werken!” - dit is geen vereiste. Tijdens de training leren deelnemers niet alleen waarom dit geen vereiste is, maar leren ze ook hoe ze op de juiste manier met prestatie-eisen kunnen werken en deze kunnen analyseren. De cursus introduceert ook de concepten van ‘kritieke scenario’s’. Tijdens een praktijkopdracht consolideren de studenten de opgedane kennis over het werken met eisen in de praktijk.
De cursus onderzoekt de belangrijkste voorbeelden van productiviteitsverlies van softwaresystemen. Hierna worden de belangrijkste manieren gegeven om de systeemprestaties te bestrijden. Ook in het kader van de cursus worden patronen die worden gebruikt bij het ontwerpen van systemen met hogere eisen besproken aan de hand van praktische toepassingsvoorbeelden. prestaties, biedt informatie over de belangrijkste antipatronen die u tegenkomt bij het implementeren van softwaresystemen die van invloed zijn productiviteit.
Speciale aandacht wordt besteed aan het gereedmaken van het systeem voor het testen en het analyseren van testresultaten. Beschrijft de creatie van een programma en methodologie voor het testen van systemen met hoge belasting, belastingsmodellen systemen en bespreekt een methodologie die kwantitatieve beoordeling van de prestaties mogelijk maakt systemen.
Omdat ontwikkelaars van softwaresystemen vaak de problemen moeten oplossen van het ontwikkelen van zwaarbelaste systemen waarmee grote hoeveelheden gegevens worden verwerkt gezien de vereisten voor reactietijden en hoeveelheden verwerkte gegevens, zal de cursus niet alleen nuttig zijn voor architecten, maar ook voor ontwikkelingsprojectmanagers, ontwikkelaars.
1. Concept van een krachtig systeem (2,5 uur):
Toepassing met hoge prestaties, toepassing met hoge belasting, toepassing met hoge beschikbaarheid.
Beheer van applicatieprestaties.
Afhankelijkheid van de prijs van foutcorrectie afhankelijk van het stadium van detectie en het stadium van introductie.
Basiskenmerken die de systeemprestaties beschrijven.
Systeembelastingsmodel.
2. Vereistenanalyse voor krachtige systemen (1,5 uur)
Vorming van niet-functionele eisen voor krachtige systemen.
Omgaan met tegenstrijdigheden bij het opstellen van prestatie-eisen.
Volledigheid van eisen.
Workshop (1 uur):
Analyse van vereisten voor inconsistentie en volledigheid.
2.1.Architectonische tactieken. Productiviteitstactieken (1,5 uur)
Kenmerken van het stellen van eisen aan wachtrijsystemen (QS).
3. Ontwerp van krachtige systemen (2 uur)
Kenmerken van systeemkwaliteit.
Afwegingen bij het gelijktijdig werken aan verschillende kwaliteitskenmerken: het voorbeeld van CAP en PACELC.
Workshop: Analyse van het principe van het balanceren van kwaliteitsattributen aan de hand van het voorbeeld van Amazon Dynamo DB (1 uur):
Overweging van benaderingen voor flexibele systeemschaling met behulp van het voorbeeld van Amazon Dynamo DB, terwijl de controle over de fouttolerantie behouden blijft en constante prestaties behouden blijven.
3.1. Klassieke prestatiebenaderingen
De belangrijkste oorzaken van verlies van systeemprestaties (1 uur).
Basismethoden voor het verbeteren van de systeemprestaties (1 uur).
Principes van horizontaal en verticaal schalen van systemen (0,5 uur).
Workshop (2 uur):
Analyse van een voorbeeld van systeemschaling.
Een monolithisch systeem omzetten naar Map-Reduce.
Overzicht van Map-Reduce.
Map-Reduce omzetten naar Lambda-architectuur om de problemen van de pure Map-Reduce-praktijk te verminderen.
4. Patronen voor het implementeren van krachtige systemen (5 uur)
De belangrijkste klassen van patronen die worden gebruikt bij het bouwen van krachtige systemen: GRASP, architectuurpatronen, applicatie-integratiepatronen.
Voorbeelden van praktische implementatie van sjablonen in moderne standaarden.
Voorbeelden van praktische implementatie van sjablonen in ontwikkelingsframeworks voor moderne integratiesystemen.
5. Coderen van krachtige systemen (2 uur)
Basisproblemen bij het coderen van krachtige systemen.
Optimalisatiemethoden voor moderne compilers en runtime-omgevingen.
6. Testen van krachtige systemen (2 uur)
Soorten tests die worden gebruikt om de systeemprestaties te bewijzen.
Voorbereiding testen (scenario’s opstellen en belastingsmodel maken).
Analyse van testresultaten.
7. SPE-methodiek (1 uur)
Inleiding tot de SPE-methodologie. Geschiedenis, gebruiksgrenzen.
Methodologie voor het analyseren van systemen met behulp van SPE.
Workshop (1 uur):
Overweging van een praktisch voorbeeld van het gebruik van de SPE-methodologie voor:
Het inschatten van de grenzen van de systeemprestaties op basis van de huidige kenmerken van de hardware en software;
Het beoordelen van de impact van architecturale beslissingen op de systeemprestaties;
Schattingen van hardwarevereisten op basis van prestatie-eisen, gebaseerd op schaalbaarheid van huidige systeemprocessen.