Курс: Проектирование высокопроизводительных приложений

Курс: Проектирование высокопроизводительных приложений

Курс: Проектирование высокопроизводительных приложений


Продолжительность курса: 24 ак. ч.

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

Аудитория:
• Архитекторы
• Проектировщики
• Аналитики
• Руководители проектов
• Руководители разработки
• Ведущие разработчики

Необходимая подготовка:
• знание и умение использовать UML;
• владение основами объектно-ориентированного проектирования.

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

Модуль 2. Анализ требований для высокопроизводительных систем
• Формирование нефункциональных требований для высокопроизводительных систем.
• Работа с противоречиями при формировании требований к производительности.
• Полнота требований.
• Практикум (1 ч):
• Анализ требований на противоречивость и полноту.

Модуль 3. Архитектурные тактики. Тактики производительности
• Особенности формирования требования к системам массового обслуживания (СМО).

Модуль 4. Проектирование высокопроизводительных систем
• Атрибуты качества системы.
• Компромиссы при одновременной работе над несколькими атрибутами качества на примере CAP и PACELC.
• Практикум: Разбор принципа балансировки атрибутов качества на примере Amazon Dynamo DB (1 ч):
• Рассмотрение подходов к гибкому масштабированию системы на примере Amazon Dynamo DB с сохранением контроля над отказоустойчивостью и сохранением константной производительности.

Модуль 5. Классические подходы производительности
• Атрибуты качества системы.
• Компромиссы при одновременной работе над несколькими атрибутами качества на примере CAP и PACELC.
• Практикум: Разбор принципа балансировки атрибутов качества на примере Amazon Dynamo DB (1 ч):
• Рассмотрение подходов к гибкому масштабированию системы на примере Amazon Dynamo DB с сохранением контроля над отказоустойчивостью и сохранением константной производительности.

Модуль 6. Шаблоны для реализации высокопроизводительных систем
• Основные классы шаблонов, используемые при построении высокопроизводительных систем: GRASP, Architecture patterns, Application Integration patterns.
• Примеры практической реализации шаблонов в современных стандартах.
• Примеры практической реализации шаблонов в современных системах интеграции frameworks разработки.

Модуль 7. Кодирование высокопроизводительных систем
• Основные вопросы кодирования высокопроизводительных систем.
• Методы оптимизации современных компиляторов и сред выполнения.

Модуль 8. Тестирование высокопроизводительных систем
• Виды тестов, используемые при доказательствах производительности системы.
• Подготовка к тестированию (составление сценариев и формирование модели нагрузки).
• Анализ результатов тестирования.

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

Окончательная цена указывается в договоре на обучение.

Характеристики курса

  • Начало: Ведется набор
  • Вендор: Архитектура ПО
  • Код курса: ARC04
  • Город: Пермь, Москва,
  • Направление: Курсы для IT-специалистов
  • Академических часов: 24
  • Количество мест: 8
  • Очно: 70900 ₽
  • Дистанционно: 70900 ₽
Записаться на курс

Курсы повышения квалификации
и профессиональной переподготовки


График работы:
Мы отвечаем на звонки и письма в будние дни с 7:00 до 16:00 по Мск

8 800 (600)-66-16

Владелец сайта:
АНО ДПО «Учебный центр «ШИФТ»
ИНН 5904355180
ОГРН 1175958039586
Юридический адрес: 614010, г. Пермь, ул. Клары Цеткин, д. 14, офис 32.
E-mail: info@eshift.ru