Проектиране на високопроизводителни приложения - курс 46 900 rub. от IBS Training Center, обучение 25 часа, Дата: 11.03.2024г.
разни / / November 28, 2023
Дори преди да проектирате каквато и да е софтуерна система, трябва да разберете, че поради определени ограничения тя винаги може да се превърне в система с висока производителност. При разработването на система с висока производителност е необходимо да се определи какви параметри определят системата като високопроизводителна. Ако системата е с висока производителност, тогава за нейното успешно внедряване трябва да се вземат специални мерки за осигуряване на производителност.
Курсът разглежда разликите между системи с високо натоварване, висока надеждност и висока производителност.
Основната цел на курса е да осигури разбиране на основните концепции, принципи и подходи, използвани при проектирането на високопроизводителни системи.
Често срещана фраза: „Трябва да работи бързо!“ - това не е изискване. По време на обучението участниците не само ще научат защо това не е изискване, но и ще се научат как правилно да работят и анализират изискванията за ефективност. Курсът също така въвежда понятията „критични сценарии“. Студентите ще затвърдят придобитите знания за работа с изисквания на практика по време на практическо задание.
Курсът разглежда основните примери за загуба на производителност на софтуерни системи. След това са дадени основните начини за борба с производителността на системата. Също така в рамките на курса се обсъждат модели, използвани при проектирането на системи с повишени изисквания, като се използват практически примери за приложение. производителност, предоставя информация за основните анти-модели, срещани при внедряването на софтуерни системи, които засягат производителност.
Специално внимание е отделено на подготовката на системата за тестване и анализ на резултатите от тестовете. Описва създаването на програма и методика за тестване на високонатоварени системи, модели на натоварване системи и обсъжда методология, която позволява количествена оценка на изпълнението системи.
Тъй като разработчиците на софтуерни системи често трябва да решават проблемите с разработването на високо натоварени системи, които обработват големи обеми данни предвид изискванията за време за реакция и обеми на обработени данни, курсът ще бъде полезен не само за архитекти, но и за ръководители на проекти за развитие, разработчици.
1. Концепция за система с висока производителност (2,5 часа):
Приложение с висока производителност, приложение с голямо натоварване, приложение с висока наличност.
Управление на производителността на приложението.
Зависимост на цената на коригиране на грешки от етапа на откриване и етапа на въвеждане.
Основни характеристики, описващи производителността на системата.
Модел на натоварване на системата.
2. Анализ на изискванията за високопроизводителни системи (1,5 часа)
Формиране на нефункционални изисквания към високопроизводителни системи.
Справяне с противоречия при създаване на изисквания за изпълнение.
Пълнота на изискванията.
Семинар (1 час):
Анализ на изискванията за непоследователност и пълнота.
2.1.Архитектурна тактика. Тактики за продуктивност (1,5 часа)
Характеристики на формирането на изисквания към системите за масово обслужване (QS).
3. Проектиране на високоефективни системи (2 часа)
Атрибути за качество на системата.
Компромиси при едновременна работа върху няколко качествени атрибута: примерът на CAP и PACELC.
Семинар: Анализ на принципа на балансиране на атрибутите на качеството, използвайки примера на Amazon Dynamo DB (1 час):
Разглеждане на подходи за гъвкаво мащабиране на системата, като се използва примерът на Amazon Dynamo DB, като същевременно се поддържа контрол върху толерантността към грешки и се поддържа постоянна производителност.
3.1. Класически подходи за ефективност
Основните причини за загуба на производителност на системата (1 час).
Основни методи за повишаване на производителността на системата (1 час).
Принципи на хоризонтално и вертикално мащабиране на системи (0,5 ч).
Семинар (2 часа):
Анализ на пример за системно мащабиране.
Преобразуване на монолитна система в Map-Reduce.
Преглед на Map-Reduce.
Преобразуване на Map-Reduce в Lambda архитектура, за да се намалят проблемите на чистата Map-Reduce практика.
4. Модели за внедряване на високопроизводителни системи (5 часа)
Основните класове модели, използвани при изграждането на високопроизводителни системи: GRASP, Архитектурни модели, Шаблони за интеграция на приложения.
Примери за практическо внедряване на шаблони в съвременни стандарти.
Примери за практическо внедряване на шаблони в съвременни рамки за разработка на интеграционни системи.
5. Кодиране на високопроизводителни системи (2 часа)
Основни въпроси при кодирането на високопроизводителни системи.
Методи за оптимизация за съвременни компилатори и среди за изпълнение.
6. Тестване на високоефективни системи (2 часа)
Видове тестове, използвани за доказване на производителността на системата.
Подготовка за тестване (съставяне на сценарии и създаване на модел на натоварване).
Анализ на резултатите от теста.
7. SPE методология (1 час)
Въведение в методологията на SPE. История, граници на употреба.
Методология за анализ на системи, използващи SPE.
Семинар (1 час):
Разглеждане на практически пример за използване на методологията на SPE за:
Оценка на границите на производителността на системата въз основа на текущите характеристики на хардуера и софтуера;
Оценка на влиянието на архитектурните решения върху производителността на системата;
Оценки на хардуерните изисквания въз основа на изискванията за производителност, въз основа на мащабиране на текущите системни процеси.