Открыто

[IBS] Проектирование высокопроизводительных приложений

Тема в разделе "Курсы по программированию", создана пользователем shtift, 5 сен 2023.

Цена: 46900р.-97%
Взнос: 1382р.

Основной список: 40 участников

Резервный список: 4 участников

  1. 5 сен 2023
    #1
    shtift
    shtift ОргОрганизатор (А)

    Складчина: [IBS] Проектирование высокопроизводительных приложений

    upload_2023-9-5_22-27-5.png

    Описание

    Еще до момента проектирования любой программной системы нужно понимать то, что вследствие некоторых ограничений она всегда может стать высокопроизводительной системой. При разработке высокопроизводительной системы необходимо определиться с тем, какие параметры определяют систему как высокопроизводительную. Если система высокопроизводительная, то для успешной её реализации должны быть приняты специальные меры для обеспечения производительности.

    В курсе рассматриваются различия между высоконагруженными, высоконадежными и высокопроизводительными системами.

    Основная задача курса - дать представление об основных понятиях, принципах и подходах, используемых при проектировании высокопроизводительных систем.

    Часто встречающаяся фраза: «Это должно работать быстро!» - это не требование. Во время обучения участники не только узнают о том, почему это не требование, но и научатся правильно работать с требованиями к производительности и анализировать их. Также в курсе рассказывается о понятиях «критические сценарии». Полученные знания по работе с требованиями, слушатели закрепят на практике во время выполнения практического задания.

    В рамках курса рассматриваются основные примеры потери производительности программных систем. После этого даются основные пути борьбы за производительность системы. Также в рамках курса на практических примерах применения рассматриваются паттерны, применяемые при проектировании систем с повышенными требованиями к производительности, приведены сведения об основных анти-паттернах, встречающихся при реализации программных систем, влияющих на производительности.

    Отдельное внимание уделяется подготовке системы к тестированию и анализу результатов тестирования. Рассказывается о создании программы и методики испытания высоконагруженных систем, модели нагрузки системы и рассматривается методика, позволяющая провести количественную оценку производительности системы.

    Поскольку разработчикам программных систем часто приходится решать проблемы разработки высоконагруженных систем, обеспечивающих обработку больших объемов данных с заданными требованиями к временам отклика и объемам обрабатываемых данных, курс будет полезен не только архитекторам, но и руководителям проектов разработки, ведущим разработчикам.

    Цели

    Во время обучения участники научаться:
    • определять характеристики производительности системы;
    • анализировать требования к системе, связанные с нагрузкой на систему;
    • планировать процесс разработки высокопроизводительных систем;
    • проектировать системы с использования оптимальных для обеспечения производительности приемов;
    • взаимодействовать с командой тестирования при выполнении нагрузочных тестов;
    • оптимизировать системы с повышенными требованиями к производительности;
    • использовать методологию SPE для обеспечения производительности системы при разработке.
    Разбираемые темы

    • High-Performance application, High-Load application, High-Availability application.
    • Управление производительностью приложения.
    • Зависимость цены исправления ошибок от стадии обнаружения и стадии внесения.
    • Основные характеристики, описывающие производительность системы.
    • Модель нагрузки на систему.
    • Формирование нефункциональных требований для высокопроизводительных систем.
    • Работа с противоречиями при формировании требований к производительности.
    • Полнота требований.
    Практикум (1 ч):

    • Анализ требований на противоречивость и полноту.
    • Особенности формирования требования к системам массового обслуживания (СМО).
    • Атрибуты качества системы.
    • Компромиссы при одновременной работе над несколькими атрибутами качества на примере CAP и PACELC.
    Практикум: Разбор принципа балансировки атрибутов качества на примере Amazon Dynamo DB (1 ч):
    • Рассмотрение подходов к гибкому масштабированию системы на примере Amazon Dynamo DB с сохранением контроля над отказоустойчивостью и сохранением константной производительности.
    • Основные причины потери производительности системы (1 ч).
    • Основные методы повышения производительности системы (1 ч).
    • Принципы горизонтального и вертикального масштабирования систем (0,5 ч).
    Практикум (2 ч):
    • Разбор примера масштабирования системы.
    • Преобразование монолитной системы в Map-Reduce.
    • Обзор Map-Reduce.
    • Преобразование Map-Reduce в Lambda-архитектуру для снижения проблем чистой Map-Reduce практики.
    • Основные классы шаблонов, используемые при построении высокопроизводительных систем: GRASP, Architecture patterns, Application Integration patterns.
    • Примеры практической реализации шаблонов в современных стандартах.
    • Примеры практической реализации шаблонов в современных системах интеграции frameworks разработки.
    • Основные вопросы кодирования высокопроизводительных систем.
    • Методы оптимизации современных компиляторов и сред выполнения.
    • Виды тестов, используемые при доказательствах производительности системы.
    • Подготовка к тестированию (составление сценариев и формирование модели нагрузки).
    • Анализ результатов тестирования.
    • Введение в методологию SPE. История, границы использования.
    • Методика анализа систем с использованием SPE.
    Практикум (1 ч):

    Рассмотрение на практическом примере применения SPE методологии для:

    • Оценки пределов производительности системы, исходя из текущих характеристик аппаратно-программной части;
    • Оценки влияния принимаемых архитектурных решений на производительность системы;
    • Оценки требований к аппаратной части, исходя из поставленных требований по производительности, базируясь на масштабировании текущих процессов системы.


     
  2. Последние события

    1. Oppundale
      Oppundale не участвует.
      18 июн 2025 в 17:36
    2. Microfon
      Microfon участвует.
      5 июн 2025
    3. Microfon
      Microfon не участвует.
      5 июн 2025
    4. Microfon
      Microfon участвует.
      18 май 2025

    Последние важные события

    1. skladchik.com
      Нужен организатор складчины.
      11 мар 2024
    2. skladchik.com
      shtift организатор.
      5 сен 2023