Мы используем файлы 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 символов

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

обновлено: 24.11.2024

Похожие курсы

Курс «Система управления движением Simotion фирмы Siemens»

Курс «Система управления движением Simotion фирмы Siemens»

Курс «Преобразователь частоты Micromaster 440 фирмы Siemens»

Курс «Преобразователь частоты Micromaster 440 фирмы Siemens»

Микросервисная архитектура

Микросервисная архитектура

IT-ликбез

IT-ликбез

Как стать программистом

Как стать программистом

Языки программирования: какой учить в 2022

Языки программирования: какой учить в 2022

Основы программирования

Основы программирования

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

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

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

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