Проектирование высокопроизводительных приложений
В курсе рассматриваются различия между высоконагруженными, высоконадежными и высокопроизводительными системами. Основная задача курса – дать представление об основных понятиях, принципах и подходах, используемых при проектировании высокопроизводительных систем. Курс будет полезен не только архитекторам, но и руководителям проектов разработки, ведущим разработчикам.
24 ак.ч.
Онлайн
ARC-008
Проектирование высокопроизводительных приложений
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-008
Расписание и цены
06.12.2021 - 10.12.2021
08.12.2021 - 17.12.2021
26.01.2022 - 04.02.2022
42 500 руб.
12 500 грн.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей
Проектирование высокопроизводительных приложений
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-008
Расписание и цены
06.12.2021 - 10.12.2021
08.12.2021 - 17.12.2021
26.01.2022 - 04.02.2022
42 500 руб.
12 500 грн.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей

Описание

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

При разработке высокопроизводительной системы необходимо выяснить, какие параметры определяют систему как высокопроизводительную. Если система высокопроизводительная, то для успешной её реализации должны быть приняты специальные меры по обеспечению производительности.

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

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

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

В рамках курса рассматриваются основные примеры потери производительности программных систем. После этого даются основные пути борьбы за производительность системы.

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

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

Поскольку разработчикам программных систем часто приходится решать проблемы разработки высоконагруженных систем, обеспечивающих обработку больших объемов данных с заданными требованиями к временам отклика и объемам обрабатываемых данных, курс будет полезен не только архитекторам, но и руководителям проектов разработки, ведущим разработчикам. 
После прохождения курса выдается
сертификат на бланке Luxoft Training

Цели

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

Целевая аудитория

Архитекторы, проектировщики, а также аналитики, руководители проектов, руководители разработки, ведущие разработчики.

Предварительная подготовка

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

Желательно знание:
  • языка Java; 
  • основ архитектуры компьютеров; 
  • архитектуры сетей передачи данных (основы); 
  • GOF patterns. 

Разбираемые темы

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

Основные характеристики производительности систем:
  • Основные характеристики, описывающие производительность системы;
  • Модель производительности системы.

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

Проектирование высокопроизводительных систем:
  • Атрибуты качества системы;
  • Основные причины потери производительности системы;
  • Основные методы повышения производительности системы.
Лабораторная работа:
Часть 1. Построение алгоритма сортировки объектов с использованием параллельного выполнения сортировки. Анализ построенного алгоритма.
Часть 2. Определение оценок количественных характеристик доступа к записям базы данных с использованием индексов. Анализ зависимостей времени доступа от длины ключа и количества записей в БД.

Шаблоны для реализации высокопроизводительных систем:
  • Основные классы шаблонов, используемые при построении высокопроизводительных систем:
    • GRASP;
    • Architecture patterns;
    • Application Integration patterns.
  • Примеры практической реализации шаблонов в современных стандартах.
  • Примеры практической реализации шаблонов в современных системах интеграции frameworks-разработки.
Лабораторная работа "Оптимизация производительности приложения, выполняющего последовательную обработку большого объема информации".

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

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

Оптимизация производительности для приложений:
  • Оптимизация производительности системы;
  • Пути оптимизации производительности сложных распределенных систем;
  • Оптимизация и повышение стабильности работы Java-приложений;
  • Повышение производительности баз данных.

Методология SPE:
  • Введение в методологию SPE. История, границы использования;
  • Модель производительности системы;
  • Применение модели производительности системы при анализе современных систем;
  • Применение SPE при разработке современных систем;
  • Методика анализа систем с использованием SPE.
Лабораторная работа "Построение модели производительности тестовой системы".

Примечание

Материалы курса представлены на английском языке.
Раcписание курсов
Вид:
06.12.2021 - 10.12.2021
09:00-14:00
Локация:Онлайн
Длительность:25 ак.ч.
Время:09:00-14:00
42 500 руб.
12 500 грн.
Записаться
08.12.2021 - 17.12.2021
16:00-19:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:16:00-19:00
42 500 руб.
11 250 грн.
Записаться
26.01.2022 - 04.02.2022
16:00-19:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:16:00-19:00
42 500 руб.
12 500 грн.
Записаться
30.03.2022 - 08.04.2022
16:00-19:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:16:00-19:00
42 500 руб.
12 500 грн.
Записаться
Смотреть полное расписание
Тренеры
Занкович Михаил
Эксперт в области разработки программного обеспечения и баз данных
Михаил с 2006 г. плотно занимается проектированием и разработкой информационных систем.
За это время принимал участие в разработке систем различного уровня и направления: от стационарных однопользовательских справочных систем до архитектурно сложных распределенных процессинговых систем, функционирующих в режиме 24х7. 

Основные интересы Михаила при разработке и сопровождении ИС лежат в области обеспечения приемлемого уровня быстродействия без ущерба для безопасности / безотказности / функциональной гибкости системы.

Основные проекты:
  • Глобальный процессинг топливных карт одной из крупнейших нефтеперерабатывающих компаний России. Основные активности: трансформация системы процессирования из стадии "глубокого" оффлайн-режима в полноценный онлайн; разработка и внедрение с нуля системы лояльности для физических лиц (полноценное онлайн-процессирование данных / калькуляция бонусных счетов / онлайн-мониторинг нетипичных активностей и т.д.).
  • Система внутренней отчетности для крупного инвестиционного европейского банка. Основные активности: проработка архитектуры, разработка и внедрение принципа разделения прав доступа в существующую систему, с возможностью гибкого конфигурирования как персональных привилегий, так и объединением пользователей системы по группам/ролям; оптимизация производительности и расходования ресурсов в рамках смежной транзакционной системы, одновременно повышение отказоустойчивости системы.
  • Система обеспечения процесса автоматизации совершения сделок в рамках одного из направлений финансового бизнеса крупного западного банка. Основные активности:  трансформация системы с целью унификации технололгической платформы, оптимизация используемых ресурсов, производительности; трансформация архитектуры системы с целью унификации процессов.


Соколов Михаил
Эксперт в области разработки и архитектуры ПО
Михаил имеет опыт в области разработки ПО уровня Enterprise с 2004 г. 
В компании Luxoft Михаил работает с 2010 г., за это время участвовал в нескольких проектах для крупной американской авиастроительной компании в различных ролях от разработчика до архитектора. 
Михаил интересуется технологиями создания масштабируемых, высокопроизводительных, распределенных приложений, а также функциональными языками программирования.

Статьи эксперта в СМИ:

  • 7 причин выбрать Java для изучения
  • https://vc.ru/dev/284968-7-prichin-vybrat-java-dlya-izucheniya

Отзывы (10)
Интересны и полезны были практические примеры из реальной жизни. По итогам обучения остались самые положительные впечатления. Данный курс - хорошая возможность взглянуть на свою деятельность со стороны и научиться задавать правильные вопросы аналитикам и заказчику.
Фролов
В процессе обучения разобрано много вопросов на примере реальных ситуаций. Интересной была организационная лабораторная работа. Понравилась хорошо структурированная информация по теоретической части. Думаю, это лучший тренинг, который я посещал: живое общение, удобное время, постепенное освоение материала.
Тюкавкин
Очень полезный курс, снимающий все неоднозначности при проектировании.
Земляных
Хороший тренинг, дал практичные и полезные знания для работы, а также старт для дальнейшего индивидуального обучения.
Серикбаев
Весьма полезно провел время на курсе. Понравилась как теория, так и практика, особенно информация о паттернах, примерах и тактиках решения проблем производительности.
Укладников
Наиболее полезным оказалось описание базовых подходов к увеличению производительности.
Участник тренинга
Много практических рекомендаций. Тренер поделился своим опытом, как всё происходит на самом деле, а не в теории.
Участник тренинга
Мое впечатление от тренинга отличное. Курс превзошел мои ожидания. Наиболее полезными мне показались практические примеры и их разбор, новые для меня методики оценки проектов.
Участник тренинга
Лучший тренинг, на котором я была. Интересный материал, практические задания из жизни, тренер [Юнусов Максим] - профессионал, которого интересно слушать.
Участник тренинга
Отличный тренинг. Получил общее представление о подходах к проектированию систем, что дает понимание в поддержке систем. Были приведены примеры оптимизации и основные подходы к повышению быстродействия БД, рассмотрена технология SPE, основы проектирования высоконагруженных комплексов систем, паттерны. Отдельное спасибо за материал по Postre SQL и Oracle.
Участник тренинга
Показать все отзывы
Связанные курсы
Моделирование бизнес-процессов на UML
Автоматизируя бизнес, следует четко понимать, как именно работает этот бизнес сейчас и как повлияет на его работу автоматизация. Такое понимание можно получить из модели бизнес-процессов, включающей описание потока работ, исполнителей и ресурсов, участвующие в процессах. Если в вашем проекте уже используется UML, для моделирования бизнес-процессов можно использовать этот же графический язык.
Смотреть каталог
Ваши преимущества
Экспертность
Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
Живое обучение
“Живая” коммуникация с тренером даже в онлайн-формате
Практика
Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
Для физических лиц
10%
Скидка на любой курс
5%
Бонус от стоимости курса после прохождения
5%
Бонус за рекомендацию курсов Luxoft Training
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Luxoft Training – первый учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.