ARC-PRG-001 Архитектор ПО. Путь к мастерству в проектировании систем
Описание курса
Программа «Архитектор ПО. Путь к мастерству в проектировании систем» подробно рассказывает о работе программного архитектора. Начать обучение можно с 5 бесплатных уроков*, а затем перейти к полной версии программы. Курс учит планировать будущее развитие сложных систем с нуля: выбирать инструменты и средства моделирования архитектуры, формат документирования архитектурных решений, выбирать архитектурный стиль под конкретную бизнес-задачу, планировать будущее масштабирование, гибкость. Знакомит с лучшими практиками построения архитектуры программного обеспечения.
Модуль 1
- Понятия архитектуры: основные термины и определения
- Понятия архитектуры: критерии качества архитектуры
- Роли и виды архитекторов
- Архитектурные стили: монолит
- Архитектурные стили: микросервисы
- Принципы DDD
- Clean Architecture: правила создания архитектур
- Архитектурные стили: событийно-управляемая архитектура
- Архитектурные стили: классический ETL/DWH/BI
- Позиция архитектора в Agile проекте
Итого 24 часа: теория – 10 ч. (42%), практика – 14 ч. (58%)
Модуль 2
- Управление заинтересованными сторонами (стейкхолдерами) проекта
- Виды требований и атрибуты качества
- Влияние нефункциональных требований на архитектуру
- Сбор и работа с функциональными требованиями
- Дополнительные виды требований: ограничения
- Управление критериями надежности (SLA, SLO, SLI)
- Работа с архитектурными изменениями
Итого 23 часа: теория – 9 ч. (39%), практика – 14 ч. (61%)
Модуль 3
- Проектирование от атрибутов качества
- Тактики и паттерны проектирования
Итого 23 часа: теория – 9 ч. (39%), практика – 14 ч. (61%)
Модуль 4
- Задача коммуникации приложений
- Уровни (методы) интеграционных решений
- Шаблоны коммуникации в контексте приложений и микросервисной архитектуры: применение и практические сценарии
- Синхронное взаимодействие и REST: основы, генерация API и управление версиями
- REST API: рекомендации по дизайну, блокировкам, кешированию и версионированию
- OpenAPI Spec: интеграция и API First подход в создании удобных и гибких интерфейсов
- Архитектура сообщений: ключевые паттерны и методы разработки
- AsyncAPI: организация асинхронного взаимодействия
- Технологии асинхронного взаимодействия: RabbitMQ, AtiveMQ, Kafka в сравнении
- Интеграция баз данных и ETL: сильные стороны, метрики и методы оптимизации
- Capture Data Changes: анализ Debezium и его использование в различных сценариях
- Интеграция через файлы: особенности, преимущества и правила наименования
- Использование вспомогательных протоколов и средств интеграции API
Итого 54 часа: теория – 27 ч. (50%), практика – 27 ч. (50%)
Модуль 5
- Реляционные и нереляционные базы данных: обзор, особенности и гарантии доступности
- Организация конкурентного доступа: стратегии блокировок, изоляции транзакций и обеспечение согласованности
- Современные тактики производительности реляционной базы данных
- Детали реализации транзакций и блокировок: обзор Postgresql, MySQL и их возможностей
- Виды нереляционных баз данных: обзор, гарантии и CAP-теорема
- Отличия и детали реализации нереляционных баз данных
- Проектирование моделей данных
Итого 42 часа: теория – 20 ч. (48%), практика – 22 ч. (52%)
Модуль 6
- Технологии виртуализации
- Основы построения информационных сетей
- Архитектура Linux
- Основы CI/CD: построение процессов с использованием Jenkins, GitLab, Ansible
- Мониторинг и наблюдаемость системы: паттерны, инструменты и протоколы
- Проектирование облачной архитектуры: провайдеры, возможности, экономика
- Проектирование облачной архитектуры: паттерны
- Разработка 12-Факторного приложения
- Контрактные обязательства сервиса: метрики надежности, SLA, RTO, RPO и паттерны реализации
- Понимание Kubernetes: типы сущностей, Helm, CI/CD и балансировка трафика
Итого 42 часа: теория – 20 ч. (48%), практика – 22 ч. (52%)
Модуль 7
- UML для моделирования и анализа систем
- BPMN для моделирования бизнес-процессов
- Нотация 4+1 для анализа и проектирования архитектуры
- Нотация C4 для наглядного и эффективного проектирования архитектуры
- Изучение подхода ADR для документации архитектурных решений
- Язык Archimate
Итого 32 часа: теория – 10 ч. (31%), практика – 22 ч. (69%)
Модуль 8
- Сдавать задачи в срок: принципы личной эффективности
- Как развивать команду и выстраивать коммуникации
- Навыки презентации
Итого 16 часов: теория – 4 ч. (25%), практика – 12 ч. (75%)