Учебный центр IBS

ARC-008 Проектирование высокопроизводительных приложений

Начало: По факту набора потока
Длительность: 1 неделя
Улучшаемые навыки:
Mapreduce
СертификатОнлайн

Описание курса

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

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

Курс будет полезен не только архитекторам, но и руководителям проектов разработки, ведущим разработчикам.

Модуль 1

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

Модуль 2

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

Практикум (1 ч):

  • Анализ требований на противоречивость и полноту.

Модуль 3

  • Особенности формирования требования к системам массового обслуживания (СМО).

Модуль 4

  • Атрибуты качества системы. 
  • Компромиссы при одновременной работе над несколькими атрибутами качества на примере CAP и PACELC.

Практикум: Разбор принципа балансировки атрибутов качества на примере Amazon Dynamo DB (1 ч):

  • Рассмотрение подходов к гибкому масштабированию системы на примере Amazon Dynamo DB с сохранением контроля над отказоустойчивостью и сохранением константной производительности.

Модуль 5

  • Основные причины потери производительности системы (1 ч).
  • Основные методы повышения производительности системы (1 ч).
  • Принципы горизонтального и вертикального масштабирования систем (0,5 ч).

Практикум (2 ч):

  • Разбор примера масштабирования системы.
  • Преобразование монолитной системы в Map-Reduce.
  • Обзор Map-Reduce. 
  • Преобразование Map-Reduce в Lambda-архитектуру для снижения проблем чистой Map-Reduce практики.

Модуль 6

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

Модуль 7

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

Модуль 8

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

Модуль 9

  • Введение в методологию SPE. История, границы использования.
  • Методика анализа систем с использованием SPE.

Практикум (1 ч):

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

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

Отзывы о курсе

Отзывов пока нет
Будьте первым, напишите отзыв и поставьте оценку этому курсу.

Еще курсы