Программа «Архитектор ПО. Путь к мастерству в проектировании систем» подробно рассказывает о работе программного архитектора. Начать обучение можно с 5 бесплатных уроков*, а затем перейти к полной версии программы. Курс учит планировать будущее развитие сложных систем с нуля: выбирать инструменты и средства моделирования архитектуры, формат документирования архитектурных решений, выбирать архитектурный стиль под конкретную бизнес-задачу, планировать будущее масштабирование, гибкость. Знакомит с лучшими практиками построения архитектуры программного обеспечения.
Тема 1: Понятия архитектуры: основные термины и определения.
Тема 2: Понятия архитектуры: критерии качества архитектуры.
Тема 3: Роли и виды архитекторов.
Тема 4: Архитектурные стили: монолит.
Тема 5: Архитектурные стили: микросервисы.
Тема 6: Принципы DDD.
Тема 7: Clean Architecture: правила создания архитектур.
Тема 8: Архитектурные стили: событийно-управляемая архитектура.
Тема 9: Архитектурные стили: классический ETL/DWH/BI.
Тема 10: Позиция архитектора в Agile-проекте.
Практика: Проект «Mobile Street Food». Этап работ: предложить разбиение системы на модули/микросервисы. Отобразить связи модулей/микросервисов на компонентной диаграмме.
Итого на курс 24 часа:
Тема 1: Управление заинтересованными сторонами (стейкхолдерами) проекта.
Тема 2: Виды требований и атрибуты качества.
Тема 3: Влияние нефункциональных требований на архитектуру.
Тема 4: Сбор и работа с функциональными требованиями.
Тема 5: Дополнительные виды требований: ограничения.
Тема 6: Управление критериями надёжности (SLA, SLO, SLI).
Тема 7: Работа с архитектурными изменениями.
Практика: Проект «Mobile Street Food». Этап работ: выделить наиболее приоритетные функциональные требования, сформулировать их в виде пользовательских историй. Сформулировать нефункциональные требования к системе в виде сценариев атрибутов качества. Составить требования к качеству системы с точки зрения масштабов и планов развития бизнеса.
Итого на курс 26 часов:
Тема 1: Проектирование от атрибутов качества.
Тема 2: Тактики и паттерны проектирования.
Практика: Проект «Mobile Street Food». Этап работ: ранжировать требования и выбрать тактики для достижения требований каждой из групп. Создать диаграмму/таблицу взаимосвязи требований.
Итого на курс 28 часов:
Тема 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.
Практика: Этап работ: спроектировать REST API для работы с заказами с точки зрения клиентского приложения. Описать процессы взаимодействия «заказчик-исполнитель», приёма платежей, поддержки. Отобразить процессы на диаграмме потоков данных. Предложить значения для триггеров уведомлений службы поддержки.
Итого на курс 54 часа:
Тема 1: Реляционные и нереляционные базы данных: обзор, особенности и гарантии доступности.
Тема 2: Как выбрать базу данных на основании требований и контекста.
Тема 3: Организация конкурентного доступа: стратегии блокировок, изоляции транзакций и обеспечение согласованности; детали реализации транзакций и блокировок: обзор PostgreSQL, MySQL и их возможностей. CAP-теорема.
Тема 4: Современные тактики производительности реляционной базы данных.
Тема 5: Виды нереляционных баз данных: обзор, гарантии; отличия и детали реализации нереляционных баз данных.
Тема 6: Проектирование моделей данных.
Практика: Проект «Mobile Street Food». Этап работ: спроектировать модель данных системы, нарисовать ER-диаграмму. Выбрать базу данных и обосновать выбор.
Итого на курс 42 часа:
Тема 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.
Итого на курс 42 часа:
Тема 1: UML для моделирования и анализа систем.
Тема 2: BPMN для моделирования бизнес-процессов.
Тема 3: Нотация 4+1 для анализа и проектирования архитектуры.
Тема 4: Нотация C4 для наглядного и эффективного проектирования архитектуры.
Тема 5: Изучение подхода ADR для документации архитектурных решений.
Тема 6: Язык ArchiMate.
Практика: Проект «Mobile Street Food». Этап работ: нарисовать BPMN-диаграмму для процесса заказа, оплаты и получения услуги с учётом начисления и списания баллов лояльности. Нарисовать две диаграммы последовательности (UML Sequence Diagram), отображающие работу с заказами.
Итого на курс 32 часа:
Тема 1: Сдавать задачи в срок: принципы личной эффективности.
Тема 2: Как развивать команду и выстраивать коммуникации.
Итого на курс 2 часа.
В ходе обучения вы будете работать над сквозным проектом «Mobile Street Food» под руководством опытного тренера. Проект предоставляет все необходимые материалы и шаблоны решений, которые станут полезными в вашей дальнейшей профессиональной деятельности. Выполняя задачи проекта, вы освоите навыки принятия решений, разработки архитектурных концепций и эффективного представления информации. Благодаря поддержке тренера, вы успешно завершите проект и получите ценные знания для уверенного старта в сфере разработки и инноваций.
Обзор современных методов управления данными от реляционных СУБД до NoSQL. Узнайте, как выбрать правильную систему для ваших задач и оптимизировать ее использование. Курс охватывает эволюцию хранилищ данных, реляционные и нереляционные модели, распределенные файловые системы и системы обработки потоков данных.