Мы используем файлы cookie для обеспечения работоспособности сервиса, улучшения навигации и маркетинговых активностей Yolonce. Нажимая "Согласен", вы соглашаетесь с нашей Политикой конфиденциальности

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

  Сложность

Пока неизвестно

  Длительность

25 ак.ч.

  Формат

онлайн

  Документ по выпуску

удостоверение о повышении квалификации государственного образца

Стоимость курса
48 900

Подробнее о курсе

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

Документ после выпуска

удостоверение о повышении квалификации государственного образца

Автор курса

Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Действует скидка 10% на обучение физических лиц.

Программа курса

  1. Понятие высокопроизводительной системы (2,5 ч):

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

  2. Анализ требований для высокопроизводительных систем (1,5 ч)

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

  2.1.Архитектурные тактики. Тактики производительности (1,5 ч)

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

  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, Architecture patterns, Application Integration patterns. Примеры практической реализации шаблонов в современных стандартах. Примеры практической реализации шаблонов в современных системах интеграции frameworks разработки.

  5. Кодирование высокопроизводительных систем (2 ч)

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

  6. Тестирование высокопроизводительных систем (2 ч)

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

  7. Методология SPE (1 ч)

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

  ВСЕГО: теория 20ч (80%), практика 5ч (20%)

Предварительные требования

знание и умение использовать UML;

владение основами объектно-ориентированного проектирования.

Оставьте отзыв

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

обновлено: 19.09.2024

Оставьте заявку

Наши консультанты ответят на все вопросы
И помогут в выборе

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных