Курс: Архитектура для аналитика
Продолжительность курса: 40 ак. ч.
Описание курса:
Современный аналитик — это не только связующее звено между бизнесом и разработкой, но и специалист, способный видеть систему целиком. Понимание архитектуры информационных систем позволяет точнее формулировать требования, предвидеть риски и предлагать решения, которые будут не только удобны для пользователей, но и жизнеспособны с точки зрения реализации.
Аудитория:
• Бизнес-аналитики;
• Системный аналитик;
• Руководители проектов и продуктов;
• IT-специалисты других направлений.
Необходимая подготовка:
Практический опыт работы системным аналитиком.
Программа курса:
Модуль 1. Сбор требований к архитектуре:
• Виды требований: функциональные и нефункциональные;
• Требования к производительности, надежности, масштабируемости и безопасности;
• Как перевести бизнес-ожидания в технические ограничения;
• Работа с заинтересованными сторонами;
• Документирование архитектурных требований.
Модуль 2. Декомпозиция на микросервисы:
• Что такое микросервисная архитектура и чем она отличается от монолита;
• Основные принципы декомпозиции: Single Responsibility, Domain-Driven Design;
• Границы сервисов: как правильно их определить;
• Плюсы и минусы микросервисного подхода;
• Кейсы успешной и неудачной декомпозиции.
Модуль 3. Выбор БД:
• Виды СУБД: реляционные, NoSQL (документные, графовые, ключ-значение);
• Когда использовать SQL, а когда — NoSQL;
• Критерии выбора БД: скорость чтения/записи, консистентность, отказоустойчивость;
• Горизонтальное и вертикальное масштабирование БД;
• Практические рекомендации по использованию PostgreSQL, MongoDB, Cassandra и др.
Модуль 4. Высокоуровневый дизайн:
• Уровни проектирования: высокоуровневый (high-level) и детализированный (low-level);
• Архитектурные стили: MVC, Event-driven, Layered, Microkernel и др;
• Инструменты моделирования: C4 Model, UML, Mermaid, Draw;io;
• Обозначение компонентов, взаимодействий, внешних систем;
• Примеры диаграмм для различных типов систем.
Модуль 5. Межсервисное взаимодействие:
• REST, gRPC, GraphQL: плюсы, минусы, сценарии применения;
• Асинхронное и синхронное взаимодействие;
• API First и OpenAPI/Swagger;
• Использование API Gateway;
• Проблемы согласованности и транзакций между сервисами.
Модуль 6. Брокер сообщений:
• Что такое очередь сообщений и зачем она нужна;
• Основные понятия: продюсер, консьюмер, топик, партиция;
• Обзор популярных решений: Kafka, RabbitMQ, AWS SQS;
• Событийно-ориентированная архитектура (Event-Driven Architecture);
• Отказоустойчивость, доставка сообщений, гарантии качества.
Модуль 7. Масштабирование и отзывчивость:
• Что значит "высокая нагрузка" и как её измерять;
• Методы масштабирования: горизонтальное и вертикальное;
• Использование кэширования (Redis, CDN), пулов соединений;
• Автоматическое управление нагрузкой (Load Balancer, Kubernetes);
• Понятие отказоустойчивости и восстановления после сбоев;
• Мониторинг и метрики в распределённых системах.
Окончательная цена указывается в договоре на обучение.