* Курс занял 5 место в номинации «Онлайн-программа» премии Digital Learning 2024

Архитектор ПО. Путь к мастерству в проектировании систем

Программа «Архитектор ПО. Путь к мастерству в проектировании систем» подробно рассказывает о работе программного архитектора. Начать обучение можно с 5 бесплатных уроков*, а затем перейти к полной версии программы. Программа учит планировать будущее развитие сложных систем с нуля: выбирать инструменты и средства моделирования архитектуры, формат документирования архитектурных решений, выбирать архитектурный стиль под конкретную бизнес-задачу, планировать будущее масштабирование, гибкость. Знакомит с лучшими практиками построения архитектуры программного обеспечения.

7 АВГУСТА

Профессионал

5 месяцев

гибридный формат

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

Получите полную программу и убедитесь, что обучение подходит именно вам! Программа рассчитана на 3-6 месяцев, занятиям нужно уделять от 2 часов в день — будете учить только то, что нужно для решения настоящих задач.

1.Архитектурные стили программного обеспечения: формирование базовой архитектуры

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

Тема 1: Понятия архитектуры: основные термины и определения
Тема 2: Понятия архитектуры: критерии качества архитектуры
Тема 3: Роли и виды архитекторов
Тема 4: Архитектурные стили: монолит
Тема 5: Архитектурные стили: микросервисы
Тема 6: Принципы DDD
Тема 7: Clean Architecture: правила создания архитектур
Тема 8: Архитектурные стили: событийно-управляемая архитектура
Тема 9: Архитектурные стили: классический ETL/DWH/BI
Тема 10: Позиция архитектора в Agile-проекте
Практика: Проект «Mobile Street Food». Предложить разбиение системы на модули/микросервисы. Отобразить связи модулей/микросервисов на компонентной диаграмме.

AGILE, МОНОЛИТ, МИКРОСЕРВИСЫ

2.Работа с требованиями при проектировании архитектуры

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

Тема 1: Управление заинтересованными сторонами (стейкхолдерами) проекта
Тема 2: Виды требований и атрибуты качества
Тема 3: Влияние нефункциональных требований на архитектуру
Тема 4: Сбор и работа с функциональными требованиями
Тема 5: Дополнительные виды требований: ограничения
Тема 6: Управление критериями надёжности (SLA, SLO, SLI)
Тема 7: Работа с архитектурными изменениями
Практика: Проект «Mobile Street Food». Выделить наиболее приоритетные функциональные требования, сформулировать их в виде пользовательских историй. Сформулировать нефункциональные требования к системе в виде сценариев атрибутов качества. Составить требования к качеству системы с точки зрения масштабов и планов развития бизнеса.

БИЗНЕС ЦЕЛИ, АРХИТЕКТУРА, РАБОТА С ИЗМЕНЕНИЯМИ, ВИДЫ ТРЕБОВАНИЙ

3.Создание устойчивых решений: принципы проектирования

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

Тема 1: Проектирование от атрибутов качества
Тема 2: Тактики и паттерны проектирования
Практика: Проект «Mobile Street Food». Ранжировать требования и выбрать тактики для достижения требований каждой из групп. Создать диаграмму/таблицу взаимосвязи требований.

ПРОЕКТИРОВАНИЕ, АРХИТЕКТУРНЫЕ ПАТТЕРНЫ, АТРИБУТЫ КАЧЕСТВА

4.Технологии интеграции и взаимодействие микросервисов

Узнаете, почему интеграция приложений была и остаётся важнейшим аспектом архитектурного проектирования. Мы рассмотрим основные способы интеграции приложений через: файлы, базы данных, удалённый вызов, брокер; выделим сильные и слабые стороны каждого из них. Также мы расскажем о синхронном и асинхронном взаимодействии.

Тема 1: Задача коммуникации приложений
Тема 2: Уровни (методы) интеграционных решений
Тема 3: Шаблоны коммуникации в контексте приложений и микросервисной архитектуры: применение и практические сценарии
Тема 4: Синхронное взаимодействие и REST: основы, генерация API и управление версиями
Тема 5: REST API: рекомендации по дизайну, блокировкам, кешированию и версионированию
Тема 6: OpenAPI Spec: интеграция и API First подход в создании удобных и гибких интерфейсов
Тема 7: Архитектура сообщений: ключевые паттерны и методы разработки
Тема 8: AsyncAPI: организация асинхронного взаимодействия
Тема 9: Технологии асинхронного обмена сообщениями: RabbitMQ, Kafka в сравнении
Тема 10: Интеграция баз данных и ETL: сильные стороны, метрики и методы оптимизации
Тема 11: Capture Data Changes: анализ Debezium и его использование в различных сценариях
Тема 12: Интеграция через файлы: особенности, преимущества и правила наименования
Тема 13: Использование вспомогательных протоколов и средств интеграции API
Практика: Проект «Mobile Street Food». Спроектировать REST API для работы с заказами с точки зрения клиентского приложения. Описать процессы взаимодействия «заказчик-исполнитель», приёма платежей, поддержки. Отобразить процессы на диаграмме потоков данных. Предложить значения для триггеров уведомлений службы поддержки.

KAFKA, ПРИНЦИПЫ REST API, RABBITMQ, OPENAPI, ШАБЛОНЫ КОММУНИКАЦИИ, СИНХРОННОЕ ВЗАИМОДЕЙСТВИЕ

5.Технологии хранения и управления информацией

Познакомитесь с задачами хранения информации и принципами проектирования реляционных баз данных. Научитесь проектировать модели данных и документировать их в виде ER-диаграмм, а также познакомитесь с разными типами связей на примере бизнес-сущностей типа клиенты/счета/карты.

Тема 1: Реляционные и нереляционные базы данных: обзор, особенности и гарантии доступности
Тема 2: Как выбрать базу данных на основании требований и контекста
Тема 3: Организация конкурентного доступа: стратегии блокировок, изоляции транзакций и обеспечение согласованности; детали реализации транзакций и блокировок: обзор PostgreSQL, MySQL и их возможностей. CAP-теорема
Тема 4: Современные тактики производительности реляционной базы данных
Тема 5: Виды нереляционных баз данных: обзор, гарантии; отличия и детали реализации нереляционных баз данных
Тема 6: Проектирование моделей данных
Практика: Проект «Mobile Street Food». Спроектировать модель данных системы, нарисовать ER-диаграмму. Выбрать базу данных и обосновать выбор.

БАЗЫ ДАННЫХ, ПРОЕКТИРОВАНИЕ, МОДЕЛЬ ДАННЫХ,ER ДИАГРАММЫ

6.Системная архитектура: дизайн и оптимизация инфраструктуры

Научитесь определять, как принципы развертывания приложений оказывают влияние на атрибуты качества, ставить задачи и проверять результаты работы системных инженеров, администраторов и специалистов DevOps.
Тема 1:Технологии виртуализации
Тема 2:Основы построения информационных сетей
Тема 3:Архитектура Linux
Тема 4:Основы CI/CD: построение процессов с использованием Jenkins, GitLab, Ansible
Тема 5:Мониторинг и наблюдаемость системы: паттерны, инструменты и протоколы
Тема 6:Проектирование облачной архитектуры: провайдеры, возможности, экономика
Тема 7:Проектирование облачной архитектуры: паттерны
Тема 8:Разработка 12-факторного приложения
Тема 9:Контрактные обязательства сервиса: метрики надёжности, SLA, RTO, RPO и паттерны реализации
Тема 10:Понимание Kubernetes: типы сущностей, Helm, CI/CD и балансировка трафика
Практика: Проект «Mobile Street Food».Выбрать технологии развертывания сквозного примера, нарисовать диаграмму развертывания, расположить программные элементы по элементам инфраструктуры. Описать метрики мониторинга, технические средства обеспечения отказоустойчивости и масштабирования. Выполнить предварительный расчёт оборудования продуктивной среды: CPU, RAM, Disk.

KUBERNETES, АРХИТЕКТУРА LINUX, ИНФОРМАЦИОННЫЕ СЕТИ, МОНИТОРИНГ

7.Документирование архитектурных решений: BPMN, UML, ADR

Узнаете, как анализировать диаграммы BPMN, самостоятельно разрабатывать C4 и UML, относящиеся к архитектуре. Будет рассмотрена нотация 4+1, позволяющая с разных точек зрения взглянуть на архитектуру.

Тема 1: UML для моделирования и анализа систем
Тема 2: BPMN для моделирования бизнес-процессов
Тема 3: Нотация 4+1 для анализа и проектирования архитектуры
Тема 4: Нотация C4 для наглядного и эффективного проектирования архитектуры
Тема 5: Изучение подхода ADR для документации архитектурных решений
Тема 6: Язык ArchiMate
Практика: Проект «Mobile Street Food». Нарисовать BPMN-диаграмму для процесса заказа, оплаты и получения услуги с учётом начисления и списания баллов лояльности. Нарисовать две диаграммы последовательности (UML Sequence Diagram), отображающие работу с заказами.

BPMN,UML,ARCHITECTURE DECESION RECORDS,ДИАГРАММЫ

8.Микросервисная архитектура: проектирование, внедрение, поддержка

Этот курс научит вас строить масштабируемые и надежные микросервисные системы: от выбора архитектурного стиля и стратегических паттернов DDD до тестирования, развертывания и мониторинга, с особым вниманием на миграцию от монолитной архитектуры к управляемому ИТ ландшафту, нацеленному на скорость изменений. Вы разберетесь в ключевых принципах проектирования, интеграции и поддержки микросервисов, научитесь эффективно работать с инфраструктурой и избежите типичных ошибок.

Тема 1: Введение
Тема 2: Стратегические паттерны Event Storming и DDD
Тема 3: Проектирование микросервисов, тактические паттерны
Тема 4: Инфраструктура и данные в микросервисах
Тема 5: Жизненный цикл микросервисов
Тема 6: Тестирование
Тема 7: Observability и поддержка
Тема 8: Распил монолита

Event Storming, DDD,Observability

9.Инструменты командного игрока: Soft Skills

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

Тема 1: Сдавать задачи в срок: принципы личной эффективности
Тема 2: Как развивать команду и выстраивать коммуникации

НАВЫКИ ПРЕЗЕНТАЦИИ, ЛИЧНАЯ ЭФФЕКТИВНОСТЬ

Сквозной итоговый проект

В ходе обучения вы будете работать над сквозным проектом «Mobile Street Food» под руководством опытного тренера. Проект предоставляет все необходимые материалы и шаблоны решений, которые станут полезными в вашей дальнейшей профессиональной деятельности. Выполняя задачи проекта, вы освоите навыки принятия решений, разработки архитектурных концепций и эффективного представления информации. Благодаря поддержке тренера, вы успешно завершите проект и получите ценные знания для уверенного старта в сфере разработки и инноваций.

Эксперты

Отзывы

Часто задаваемые вопросы

Я никогда не занимался разработкой архитектуры ПО. У меня получится?

Конечно, у вас есть все шансы научиться разрабатывать архитектуру программного обеспечения! Независимо от вашего опыта.

Какой график обучения на платформе? Получится ли совмещать его с работой?

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

Действуют ли какие-нибудь программы рассрочки?

Да, вы можете купить курс в рассрочку — и спланировать свой бюджет, разбив всю сумму на небольшие ежемесячные платежи.

С какого момента я смогу заниматься трудоустройством?

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