Повысьте производительность ваших систем! Курс для архитекторов и разработчиков, стремящихся создавать быстрые и эффективные приложения. Оптимизация, тестирование и паттерны проектирования.
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 методологии для: Оценки пределов производительности системы, исходя из текущих характеристик аппаратно-программной части; Оценки влияния принимаемых архитектурных решений на производительность системы; Оценки требований к аппаратной части, исходя из поставленных требований по производительности, базируясь на масштабировании текущих процессов системы.
Программа «Fullstack-тестировщик» — это комплексное обучение, включающее в себя все необходимые аспекты тестирования программного обеспечения. Вы научитесь работать с требованиями, создавать тестовую документацию, применять различные виды тестирования веб-приложений, автоматизировать тестирование фронтенда и бэкенда, а также взаимодействовать с командой разработки. По окончании обучения вы станете востребованным специалистом, готовым к работе в современных IT-проектах.
Наши курсы — это практический опыт, живые знания и поддержка профессионалов, что сделает ваши инвестиции в обучение оправданными.
Основные темы курса: