Чему вы научитесь:
- Планировать архитектуру ПО
- Узнаете, что такое монолитная и микросервисная архитектуры, как они соотносятся с целями бизнеса
- Настраивать системы под большие нагрузки
- Освоите балансировщики нагрузки, стратегии кеширования, брокеры сообщений
- Проектировать API
- Изучите правила, соглашения и стандарты, которые действуют при проектировании расширяемого API
- Выбирать формат обмена данными
- Поймёте, какие форматы и протоколы межсервисного взаимодействия подходят под ваши задачи
- Выбирать формат хранения данных
- Познакомитесь с плюсами и минусами разных СУБД, чтобы научиться выбирать оптимальную
- Использовать шаблоны
- Узнаете, какие проблемы часто возникают при проектировании программ и как их решать
Каждая система разрабатывается под определённую задачу и может изменяться в зависимости от планируемой нагрузки на разные функции. Архитектор ПО получает от бизнеса требования и трансформирует их в чёткие технические характеристики, под которые будет разрабатываться система. В первом модуле вы отточите эти навыки, а также изучите разные способы проектирования API, потренируетесь в выборе подхода и проектировании простой системы.
Каких результатов вы достигнете:
- Узнаете, из чего состоит ТЗ на архитектуру
- Соберёте требования к системе от заказчика любого уровня технической подготовки
- Декомпозируете систему на компоненты и спроектируете взаимодействие между ними
- Узнаете принципы разработки MVP
- Разработаете MVP спроектированной системы с основным функционалом.
Месяц 1:
1. Работа с требованиями
- Технические характеристики систем Трейдоф
- Бюджет архитектурного решения
- Как проводить интервью с заказчиков
- Оформление дизайндоков и популярные графические инструмент
- DDD как подход к разработке ПО
2. Работа с компонентами
- Протоколы общения компонентов
- Проектирование API
- Способы снизить нагрузку на API
3. Разработка MVP
- MVP как метод тестирования архитектур
- Состав MVP
В проекте модуля вы соберете требования к системе, спроектируете агрегатор ресторанов и доставок. Проект займет от 20 до 30 часов.
Месяц 2:
Создание микросервисов, построение пайплайна CI/CD
- Научитесь проектировать масштабируемые и отказоустойчивые микросервисные системы, начиная с базовых принципов и заканчивая сложными архитектурными паттернами.
- Узнаете, как эффективно декомпозировать монолитные приложения, управлять данными в распределенных системах и обеспечивать безопасность микросервисов.
- Познакомитесь с настройкой мониторинга CI/CD-конвейера.
- Освоите мониторинг, логирование и методы управления взаимодействием микросервисов, включая API GW и Event Sourcing.
- Научитесь автоматизировать CI/CD-конвейер для разработки и развёртывания программного обеспечения.
- Узнаете, как интегрировать команды и продукты в существующие CI/CD-процессы, используя Pipeline as Code.
- Научитесь создавать и управлять Helm-чартами, а также настраивать конвейеры для обеспечения бесшовной доставки и развёртывания приложений
Кеширование, построение мониторинга и адаптация к высокой нагрузке
- Научитесь дорабатывать систему так, чтобы она соответствовала возросшей нагрузке.
- Познакомитесь с HTTP кешированием и различными паттернами серверного кеширования.
- Узнаете способы инвалидации кэша, которые помогут поддерживать актуальность данных.
- Познакомитесь с механизнами работы паттернов для уменьшения нагрузки на систему Backpressure и Circuit Breaker.
- Разберёте компоненты концепции Observability — мониторинг, логирование и трейсинг.
- Рассмотрите ключевые виды метрик, этапы мониторинга и основные подходы к нему — «Четыре золотых сигнала», USE и RED.
- Покажем, как собирать и визуализировать метрики с помощью Prometheus и Grafana.
- Ещё разберём, как использовать комплекс инструментов для логирования — Elasticsearch, Logstash и Kibana.
- Затем расскажем, как реализовать трейсинг в Jaeger.
Месяц 3:
Создание микросервисов, построение пайплайна CI/CD
- Научитесь проектировать масштабируемые и отказоустойчивые микросервисные системы, начиная с базовых принципов и заканчивая сложными архитектурными паттернами.
- Узнаете, как эффективно декомпозировать монолитные приложения, управлять данными в распределенных системах и обеспечивать безопасность микросервисов.
- Познакомитесь с настройкой мониторинга CI/CD-конвейера.
- Освоите мониторинг, логирование и методы управления взаимодействием микросервисов, включая API GW и Event Sourcing.
- Научитесь автоматизировать CI/CD-конвейер для разработки и развёртывания программного обеспечения.
- Узнаете, как интегрировать команды и продукты в существующие CI/CD-процессы, используя Pipeline as Code.
- Научитесь создавать и управлять Helm-чартами, а также настраивать конвейеры для обеспечения бесшовной доставки и развёртывания приложений
Кеширование, построение мониторинга и адаптация к высокой нагрузке
- Научитесь дорабатывать систему так, чтобы она соответствовала возросшей нагрузке.
- Познакомитесь с HTTP кешированием и различными паттернами серверного кеширования.
- Узнаете способы инвалидации кэша, которые помогут поддерживать актуальность данных.
- Познакомитесь с механизмами работы паттернов для уменьшения нагрузки на систему Backpressure и Circuit Breaker.
- Разберёте компоненты концепции Observability — мониторинг, логирование и трейсинг.
- Рассмотрите ключевые виды метрик, этапы мониторинга и основные подходы к нему — «Четыре золотых сигнала», USE и RED.
Месяц 4:
Как пройти аудит безопасности и соответствовать его требованиям
- Поймёте, как соответствовать требованиям безопасности, про которые раньше никто не думал.
- Научитесь анализировать гэпы и закрывать их с помощью zero trust architecture, микросегментации и других необходимых изменений в существующем ландшафте.
Объединение сервисов через SSO и работа с данными для аналитики
- Научитесь подходам Event sourcing, Event Carried State Transfer и ряду других практик. Узнаете, почему нельзя было просто остаться в вашем существующем стеке, без перехода нa event driven подход.
- Научитесь поддерживать в стеке сложные SSO-кейсы поверх нескольких бизнес продуктов, применять паттерн Adapter для интеграции нескольких различных протоколов аутентификации.
Месяц 5:
Работа с требованиями и стейкхолдерами
- поймёте, как внести свой вклад в трансформацию бизнес-модели компании;
- научитесь разговаривать с бизнесом на понятном ему языке, используя для этого Miro, Lucidchart, Business Model Canvas, практики change management и дизайн-мышления;
- узнаете, какие фреймворки для описания архитектуры здесь пригодятся и как с ними работать, чтобы бизнес воспринимал вас как партнёра, а не исполнителя;
- научитесь делать end-to-end дизайн для фичей от команды трансформации;
- поймёте, как не тонуть под сотней требований, которые появились одновременно;
- узнаете, как управлять изменениями: отстаивать существующие решения, которые всё ещё подходят бизнесу, отсеивать неподходящие варианты и предлагать альтернативы, которые соответствуют новой бизнес-модели компании.
Соответствие продукта требованиям data privacy, планирование сложной миграции
- научитесь делать полный пересмотр принципов, по которым ваша система работает с данными;
- примените подходы Privacy by Design, Data Minimisation, а также инструменты Data Flow;
- научитесь уносить часть данных в другой стек, продумывая для этого инкрементальную миграцию и применяя паттерн Branch by Abstraction;
- научитесь делать Anti-Corruption layer, чтобы ничего не поломать.
Месяц 6:
Построение архитектуры данных и технологические тренды
- спроектируете целевой ландшафт и архитектуру витрин данных, создадите технологический радар, и выстроите технологический роадмап для активно растущей сети клиник;
- настроите пайплайн данных с использованием подхода Data Mesh и инструментов Airflow и Data Hub;
- создадите DWH на PostgreSQL и архитектуру Data LakeHouse с Apache Iceberg и Trino;
- оцените различия между монолитным и распределенным подходами, а также используйте техрадар для разработки технологического роадмапа, обосновав выбор технологий на каждом этапе.








