Entwerfen von Hochleistungsanwendungen – Kurs 46.900 Rubel. vom IBS Training Center, Schulung 25 Stunden, Datum: 11. März 2024.
Verschiedenes / / November 28, 2023
Noch bevor Sie ein Softwaresystem entwerfen, müssen Sie verstehen, dass es aufgrund bestimmter Einschränkungen immer zu einem Hochleistungssystem werden kann. Bei der Entwicklung eines Hochleistungssystems muss ermittelt werden, welche Parameter das System als Hochleistungssystem definieren. Wenn das System leistungsstark ist, müssen für seine erfolgreiche Implementierung besondere Maßnahmen zur Sicherstellung der Leistung ergriffen werden.
Der Kurs untersucht die Unterschiede zwischen Hochlast-, Hochzuverlässigkeits- und Hochleistungssystemen.
Das Hauptziel des Kurses besteht darin, ein Verständnis der grundlegenden Konzepte, Prinzipien und Ansätze zu vermitteln, die beim Entwurf von Hochleistungssystemen verwendet werden.
Ein häufiger Satz: „Es sollte schnell gehen!“ - Dies ist keine Voraussetzung. Während der Schulung erfahren die Teilnehmer nicht nur, warum dies keine Anforderung ist, sondern lernen auch, wie man mit Leistungsanforderungen richtig umgeht und diese analysiert. Der Kurs führt auch in die Konzepte „kritischer Szenarien“ ein. Die erworbenen Kenntnisse zum Umgang mit Anforderungen in der Praxis festigen die Studierenden im Rahmen einer Praxisaufgabe.
Der Kurs untersucht die wichtigsten Beispiele für Produktivitätsverluste von Softwaresystemen. Anschließend werden die wichtigsten Möglichkeiten zur Bekämpfung der Systemleistung beschrieben. Ebenfalls im Rahmen der Lehrveranstaltung werden Muster, die beim Entwurf von Systemen mit erhöhten Anforderungen zum Einsatz kommen, anhand praktischer Anwendungsbeispiele besprochen. Leistung, liefert Informationen über die wichtigsten Anti-Patterns, die bei der Implementierung von Softwaresystemen auftreten und die Auswirkungen haben Produktivität.
Besonderes Augenmerk wird auf die Vorbereitung des Systems für den Test und die Analyse der Testergebnisse gelegt. Beschreibt die Erstellung eines Programms und einer Methodik zum Testen von Hochlastsystemen und Lastmodellen Systeme und diskutiert eine Methodik, die eine quantitative Leistungsbewertung ermöglicht Systeme.
Denn Softwaresystementwickler müssen oft die Probleme lösen, hochbelastete Systeme zu entwickeln, die große Datenmengen verarbeiten Angesichts der Anforderungen an Reaktionszeiten und verarbeitete Datenmengen wird der Kurs nicht nur für Architekten, sondern auch für Entwicklungsprojektmanager nützlich sein. Entwickler.
1. Konzept einer Hochleistungsanlage (2,5 Stunden):
Hochleistungsanwendung, Hochlastanwendung, Hochverfügbarkeitsanwendung.
Anwendungsleistungsmanagement.
Abhängigkeit des Fehlerkorrekturpreises vom Erkennungs- und Einführungsstadium.
Grundlegende Merkmale, die die Systemleistung beschreiben.
Systemlastmodell.
2. Anforderungsanalyse für Hochleistungssysteme (1,5 Stunden)
Bildung nichtfunktionaler Anforderungen an Hochleistungssysteme.
Umgang mit Widersprüchen bei der Erstellung von Leistungsanforderungen.
Vollständigkeit der Anforderungen.
Workshop (1 Stunde):
Analyse der Anforderungen auf Inkonsistenz und Vollständigkeit.
2.1.Architektonische Taktiken. Produktivitätstaktiken (1,5 Stunden)
Merkmale der Anforderungsbildung für Warteschlangensysteme (QS).
3. Entwurf von Hochleistungssystemen (2 Stunden)
Systemqualitätsattribute.
Kompromisse bei der gleichzeitigen Bearbeitung mehrerer Qualitätsmerkmale: das Beispiel von CAP und PACELC.
Workshop: Analyse des Prinzips der Ausbalancierung von Qualitätsattributen am Beispiel von Amazon Dynamo DB (1 Stunde):
Betrachtung von Ansätzen zur flexiblen Systemskalierung am Beispiel von Amazon Dynamo DB bei gleichzeitiger Kontrolle der Fehlertoleranz und Aufrechterhaltung einer konstanten Performance.
3.1. Klassische Performance-Ansätze
Die Hauptursachen für Systemleistungsverluste (1 Stunde).
Grundlegende Methoden zur Steigerung der Systemleistung (1 Stunde).
Prinzipien der horizontalen und vertikalen Skalierung von Systemen (0,5 h).
Workshop (2 Stunden):
Analyse eines Beispiels für die Systemskalierung.
Konvertieren eines monolithischen Systems in Map-Reduce.
Überblick über Map-Reduce.
Konvertieren von Map-Reduce in die Lambda-Architektur, um die Probleme der reinen Map-Reduce-Praxis zu reduzieren.
4. Muster zur Implementierung von Hochleistungssystemen (5 Stunden)
Die wichtigsten Musterklassen, die beim Aufbau von Hochleistungssystemen verwendet werden: GRASP, Architekturmuster, Anwendungsintegrationsmuster.
Beispiele für die praktische Umsetzung von Vorlagen in modernen Standards.
Beispiele für die praktische Implementierung von Vorlagen in modernen Entwicklungsframeworks für Integrationssysteme.
5. Codierung von Hochleistungssystemen (2 Stunden)
Grundlegende Probleme beim Codieren von Hochleistungssystemen.
Optimierungsmethoden für moderne Compiler und Laufzeitumgebungen.
6. Testen von Hochleistungssystemen (2 Stunden)
Arten von Tests zum Nachweis der Systemleistung.
Vorbereitung zum Testen (Erstellung von Szenarien und Erstellung eines Lastmodells).
Analyse der Testergebnisse.
7. SPE-Methodik (1 Stunde)
Einführung in die SPE-Methodik. Geschichte, Nutzungsgrenzen.
Methodik zur Analyse von Systemen mithilfe von SPE.
Workshop (1 Stunde):
Betrachtung eines praktischen Beispiels für die Verwendung der SPE-Methodik für:
Abschätzen der Grenzen der Systemleistung basierend auf den aktuellen Eigenschaften der Hardware und Software;
Bewertung der Auswirkungen von Architekturentscheidungen auf die Systemleistung;
Schätzungen der Hardwareanforderungen basierend auf Leistungsanforderungen, basierend auf der Skalierung aktueller Systemprozesse.