Архитектура программного
обеспечения
На кого рассчитан курс
Курс рассчитан на опытных специалистов и руководителей с техническим бэкграундом.
На старте у вас должен быть опыт работы над коммерческим IT-продуктом в составе
команды разработки, а также опыт технического проектирования бизнес-сценариев,
фич целиком и распределённых взаимодействий.
В бесплатной части можно пройти тест, чтобы узнать, подойдёт ли вам курс.
В чём ценность курса
Учёба на реальных задачах
Программа курса построена так, чтобы вы научились решать
ключевые архитектурные задачи. Мы расскажем, как они помогают
достигать целей бизнеса, и познакомим с лучшими практиками
для их решения.
Упор на технологии и паттерны Архитектурные решения нужно не только спроектировать,
но и внедрить. Вы освоите технологии, которые востребованы
на рынке, и научитесь применять их в проектах, работая с исходным
кодом и конфигурацией.
Подготовка к работе
Чтобы создать оптимальное архитектурное решение, нужно
слышать потребности бизнеса и уметь отстаивать свои
со стейкхолдерами предложения. Мы учли это при разработке курса. Вы научитесь
собирать требования, находить общий язык с бизнесом и
стейкхолдерами, оформлять решения в понятную документацию.
Обратная связь от экспертов
Вы выполните 11 проектов, которые повторяют рабочие
задачи. Их проверят специалисты с опытом в архитектуре.
Они применяли технологии, которым мы учим, и смогут дать
качественную обратную связь.
Пробное System
В конце обучения вы пройдёте System Design Interview
со специалистами, которые занимаются наймом. Они скажут,
Design Interview что получилось хорошо, а что можно улучшить.
Как проходит обучение
Оптимальный темп
Курс поделён на 11 спринтов. Это разделы, где мы разбираем
отдельные темы. Спринты открываются по очереди, каждый идёт
две недели. За это время изучите теорию, поучаствуете
в воркшопе и выполните индивидуальный проект.
Теория и практика
Каждый спринт открывает новые уроки. Они состоят из текста,
иллюстраций и мини-заданий. Уроки можно проходить из любой
на платформе
точки мира — нужен только интернет. Если компьютер не под рукой,
Практикума можно с телефона — есть удобное мобильное приложение.
Воркшопы Потренируетесь решать бизнес-задачи, которые требуют
технических решений. Наставник разберёт разные подходы
и прокомментирует ошибки, а другие студенты — поделятся своим
опытом. Воркшопы идут 1,5–2 часа по будням вечером
или в выходной.
Практические задания
В конце каждого спринта — индивидуальный проект, который
основан на реальной архитектурной задаче. Специалисты
с опытом проверят ваши работы и дадут обратную связь.
Сможете доработать решения и добавить в портфолио.
Общение по учёбе —
Куратор поможет с организационными вопросами,
а наставник — объяснит материал. Одногруппники поддержат
в отдельном мессенджере и помогут справиться с заданиями.
Архитектура программного
обеспечения
Продолжительность курса — 6 месяцев (300 часов)
00 01 02
Бесплатный Микрофронты
Кэширование,
вводный модуль и разбивка монолитной построение мониторинга
системы на микросервисы и работа с большими
данными
03 04 05
Шардирование
Создание Переход на Hybrid cloud
и репликация, построение микросервисов и Multi-cloud, создание
пайплайна CI/CD AI/ML чат-бота
06 07 08
Создание highload
Переход на event- Как пройти аудит
в realtime-среде driven архитектуру, безопасности
объединение и соответствовать
сервисов через SSO его требованиям
09 10 11
Работа с требованиями
Соответствие продукта Построение BI
и стейкхолдерами требованиям data privacy, и создание
планирование сложной технологического
миграции роадмапа для продукта
00 Бесплатный вводный модуль
Узнаете детали о строении программы: почему важно изучать не только паттерны,
но и инструменты, зачем нужно учиться на реальных кейсах, как устроена практика.
Также познакомитесь с форматом обучения, как будут проходить спринты и кто будет
сопровождать вас на пути.
Пройдёте входной тест. Он будет полезен и вам, и нам.
Вы — сможете убедиться в том, что курс будет оптимален по сложности. Мы — будем уверены,
что наши студенты обладают достаточными навыками для прохождения курса.
Всё это поможет понять, подходит ли вам курс.
Темы Подробнее о курс
Входной тест
01 Микрофронты и разбивка монолитной
системы на микросервисы
Научитесь адаптировать существующую систему, чтобы над ней могли
работать нескольких автономных команд: с помощью микросервисов
и микрофронтов, композитного UI, бэков для фронта.
Научитесь разбивать монолит с помощью паттернов database
decomposition и strangler fig, создавать anti-corruption layer, применять
Apache Camel и ряд других инструментов.
Темы Микрофронты для существующего стек
Разбивка монолитной системы на микросервисы
Подходы Микрофронтенд
Routin
Контейнеризаци
Развертывание
Паттерны BFF (Backend For Frontend
Strangler Fi
Anti-Corruption Laye
Sag
Database decompositio
Интеграционные паттерны
Инструменты Webpac
Tailo
Apache Camel
Проект
Сделаете масштабирумый фронтенд для одновременной работы
нескольких команд. Составите план перехода от монолита к модулям
или отдельным сервисам.
02 Кэширование, построение мониторинга
и работа с большими данными
Научитесь дорабатывать систему так, чтобы она соответствовала
возросшей нагрузке. Познакомитесь с паттернами Cache Aside, Backpressure
и другими.
Поймёте, как обрабатывать большие объёмы данных, используя Apache
Hadoop, Apache Spark, Apache Kafka и Elasticsearch. Познакомитесь c Lambda
Architecture — паттерном для объединения обработки реального времени
с пакетной.
Сможете создавать решение для мониторинга вашего продукта с помощью
Prometheus, Grafana, стека ELK. Познакомитесь с основными
архитектурными шаблонами для отслеживания состояния сервиса,
централизации логов, обнаружения сбоев и переключения на резервные
варианты.
Темы Кэширование для существующего продукт
Адаптация к большому объёму данны
Дизайн и создание подходящего мониторинга
Подходы Стратегии инвалидации кеш
In-memory cachin
HTTP-кешировани
Кеширование операций поиск
Лямбда-архитектур
Шардировани
Distributed storag
Real-time processing
Паттерны Circuit Breake
Backpressur
Write-Through/Write-Behin
Cache-Aside
Инструменты Стек EL
Apache Hadoo
Apache Spar
Apache Kafk
Elasticsearc
Prometheu
Grafana
Проект
Решите проблему выросшей нагрузки на сервис и увеличившегося
объёма данных с помощью кэша. Спроектируете подход к мониторингу
продукта.
03 Шардирование и репликация,
построение пайплайна CI/CD
Научитесь масштабировать существующий продукт, применяя Redis Cluster
для распределённого кэширования и Consul для service discovery
в реплицированной среде. Познакомитесь с архитектурными паттернами,
необходимыми для правильного масштабирования, такими как Read Replica
и Cache Aside.
Научитесь создавать репликационное решение для нового региона продукта
используя AWS Global Accelerator, CloudFront, Amazon RDS или Google Cloud
Spanner. Научитесь применять active-active deployment и маршрутизацию
на основе геолокации, прорабатывать стратегии аварийного переключения
для управления сбоями.
Научитесь планировать подключение команды в существующий CI/CD процесс,
примените подход Pipeline as Code, научитесь создавать
Helm-чарты.
Темы Масштабирование с репликацией и шардирование
Репликация для существующего продукт
Присоединение существующей команды и продукта к CI/CD пайплайну
Подходы Шардировани
Replication and sharding DB
Distributed cachin
Service discover
Active-active Deploymen
Geolocation-based routin
Failover Strateg
Global content deliver
Multi-region database
Infrastructure as cod
Pipeline as cod
Feature togglin
Automation server
Паттерны Read Replic
Observer
Инструменты Redis Cluste
Consu
AWS Global Accelerato
Cloudfron
Amazon RD
Google Cloud Spanne
Helm чарты
Проект
На основе лучших практик создадите план действий для релиза
сервиса на новые регионы. Спланируете подключение новой команды
в существующий CI/CD-процесс.
Каникулы 1 неделя
04 Создание микросервисов
Научитесь создавать современный микросервисный лендскейп,
но не с нуля, а переработав существующее решение с помощью
Domain-driven design. Научитесь настраивать API Gateway, применять CORS
и использовать остальные лучшие практики по работе с микросервисами.
Темы Построение микросервисного лендскейпа
Подходы Domain-driven desig
Легковесные микросервис
Контейнеризаци
Оркестраци
Межсервисное взаимодействи
Service mesh
Паттерны API Gatewa
CQRS
Инструменты Express.j
Kafk
Istio
Проект
Оцените, нужны ли продукту микросервисы.
Составите пошаговый план по реализации.
Переход на Hybrid cloud и Multi-cloud,
05 создание AI/ML чат-бота
Научитесь переносить существующие сервисы с on-premise в облака
с помощью паттерна Lift and Shift, делать Infrastructure as Code с помощью
Terraform, применять CloudEndure для миграции данных.
Научитесь добавлять в продукт чат-бота поверх имеющихся данных прямо
во время переезда, используя для этого паттерн Repository и ряд других
инструментов.
Темы Перенос сервисов из on-premise в clou
Создание чат-бота на основе AI/ML поверх существующих сервисов и данных
Lift and Shif
Подходы
Hybrid clou
Multi-clou
Разработка ML моделе
Natural language processing (NLP)
Model-View-Controller (MVC
Паттерны
Repositor
Blackboard
Инструменты Terrafor
Tensor flo
Ras
Flask
Проект
Запланируете переход с on-premise в hybrid cloud и multi-cloud.
Опишете объём работ, чтобы попробовать применение AI/ML
на существующих данных.
Каникулы 1 неделя
06 Создание highload в realtime-среде
Научитесь перерабатывать систему, которая выросла из своего MVP
в большой highload. Поймёте, как продумывать фейловер стратегии, делать
Circuit Breaker и применять паттерн Bulkhead.
Научитесь создавать архитектуру приложения, способного обрабатывать
данные мгновенно и обеспечивать плавное пользовательское
взаимодействие. Сможете применять WebSocket, Redis Pub/Sub,
React/Redux, а также Observer pattern и практики Event-Driven архитектуры.
Темы Создание типичного highload-решения со множеством сервисо
Построение realtime-архитектуры с нуля
Подходы Микросервис
Оркестраци
Контейнеризаци
Обратный прокс
Балансировщик нагрузк
Мониторин
Event sourcin
Кэширование
Паттерны Circuit Breake
Bulkhead
Инструменты Redi
Node.j
Envo
Prometheu
Grafan
WebSocke
React/Redux
Проект
Оцените, выдержит ли проектируемая система большую нагрузку
и поменяете её, если она не выдерживает. Создадите технический
роадмап для realtime-продукта.
07 Переход на event-driven архитектуру,
объединение сервисов через SSO
Научитесь подходам Event sourcing, Event Carried State Transfer и ряду
других практик. Узнаете, почему нельзя было просто остаться в вашем
существующем стеке, без перехода нa event driven подход.
Научитесь поддерживать в стеке сложные SSO-кейсы поверх нескольких
бизнес продуктов, применять паттерн Adapter для интеграции нескольких
различных протоколов аутентификации.
Темы Перевод продукта с традиционным дизайном в event-driven архитектур
Объединение нескольких сервисов через SSO
Подходы Event Carried State Transfe
Scalable event storag
Event-driven microservice
Event sourcin
Single Sign-On (SSO
Identity and Access Management
Паттерны Prox
Adapte
Event Carrying State Transfer
Инструменты Kafk
Cassandr
Spring Cloud Strea
OAuth
OpenID Connec
Keycloak
Проект
Спланируете переход на event-driven подход в продукте.
Свяжете существующие сервисы общей авторизацией.
08 Как пройти аудит безопасности
и соответствовать его требованиям
Поймёте, как соответствовать требованиям security, про которые раньше
никто не думал. Научитесь анализировать гэпы и закрывать их с помощью
zero trust architecture, микросегментации и других необходимых изменений
в существующем ландшафте.
Темы Аудит безопасности и его требования
Подходы Микросегментаци
Policy as Cod
MF
Data at rest and in transfe
Access policie
Tokenizatio
Differential Privac
Homomorphic Encryption
Паттерны Least Privilege Access
Инструменты AWS IA
Google Authenticato
TLS / AES-25
AWS KM
Zscale
Terraform
Проект
Составите пошаговый план, чтобы продукт соответствовал лучшим
практикам безопасности. Сможете применить часть из них в облачной
среде.
Каникулы 1 неделя
09 Работа с требованиями
и стейкхолдерами
Поймёте, как внести свой вклад в трансформацию бизнес-модели компании.
Научитесь разговаривать с бизнесом на понятном ему языке, используя для этого Miro,
Lucidchart, Business Model Canvas, практики change management и дизайн-мышления.
Узнаете, какие фреймворки для описания архитектуры здесь пригодятся и как с ними
работать, чтобы бизнес воспринимал вас как партнёра, а не исполнителя.
Научитесь делать end-to-end дизайн для фичей от команды трансформации. Поймёте,
как не тонуть под сотней требований, которые появились одновременно. Узнаете,
как управлять изменениями: отстаивать существующие решения, которые всё ещё
подходят бизнесу, отсеивать неподходящие варианты и предлагать альтернативы,
которые соответствуют новой бизнес-модели компании.
Темы Сопровождение трансформации бизнес-модели компани
Проработка change management требований для большого проекта
Подходы Kotter
Architecturally significant requirement
Продуктовый подхо
Фасилитаци
FURP
Практики дизайн-мышлени
Change Management
Инструменты Architecture decision record
Jobs to be don
Lean Canva
Business Model Canva
Mir
C4 Mode
ERP / CRM
Проект
Опишете архитектуру и ценность продукта на понятном
для стейкхолдеров языке. Составите план изменений, который
совпадает со стратегией компании.
10 Соответствие продукта требованиям
data privacy, планирование сложной
миграции
Научитесь делать полный пересмотр принципов, по которым ваша система
работает с данными. Примените подходы Privacy by Design, Data
Minimisation, а также инструменты Data Flow.
Научитесь уносить часть данных в другой стек, продумывая для этого
инкрементальную миграцию и применяя паттерн Branch by Abstraction.
Научитесь делать Anti-Corruption layer, чтобы ничего не поломать.
Темы Как привести продукт в соответствие с требованиями data privac
Миграция легаси-сервиса из сложной распределенной модели данных
Подходы Privacy by Desig
Anonymization for data privac
Data Minimizatio
Key managemen
Data Encryption at Rest and In Transi
Подход Branch by Abstractio
Инкрементальная миграци
Data flow management
Паттерны Anti-Corruption Layer
Инструменты AWS KM
Apache NiF
AWS Database Migration Servic
MongoDB Atlas
Проект
Спроектируете необходимые фичи, чтобы соответствовать новым
требованиям Data Privacy. Создадите cutover-план для переезда
из легаси-сервиса в ваш продукт.
11 Построение BI и создание
технологического роадмапа
для продукта
Научитесь строить Data Lake с нуля с помощью стриминга изменений,
Snowflake/Redshift и других инструментов.
Научитесь формулировать предложения по сложным технологическим
изменениям на языке бизнеса, выставлять для них сквозной приоритет
и продавать это стейкхолдерам.
Темы Как построить BI-решение и связать его с существующим продукто
Как создать технологический роадмап для продукта
Подходы ETL (Extract, Transform, Load
Data Lak
Data Mes
Decentralized data architectur
Business analytic
Data warehousin
Domain-Driven Design (DDD
API-First Desig
Facilitatio
Trend analysis
Инструменты Architectural diagrams (C4 etc.
Apache Airflo
Snowflake / Redshift
Проект
Разберётесь, как устроено BI-решение, которым раньше владела
отдельная BI-команда. Составите технологический роадмап
на понятном бизнесу языке.
Завершающий модуль
Подведёте итоги обучения на финальном воркшопе.
Получите диплом о профессиональной переподготовке.
Темы Подведение итогов