Практический курс по системному дизайну для Python-разработчиков уровня Middle+ и выше. Охватывает архитектурные паттерны, проектирование API, базы данных, кэширование, очереди, микросервисы, масштабирование, observability, безопасность и event-driven архитектуру. Каждая тема включает теорию, примеры кода на Python, разбор реальных кейсов и практические задания.
Фундамент чистого кода: пять принципов SOLID, DRY, KISS, YAGNI. Как писать поддерживаемый и расширяемый код на Python.
Layered Architecture, Hexagonal, Clean Architecture, Event-Driven — когда и зачем применять каждый паттерн.
REST, GraphQL, gRPC — выбор инструмента. Контрактный подход, версионирование, документирование API.
Нормализация, индексы, транзакции, isolation levels, оптимизация запросов, шардирование и репликация.
Стратегии кэширования, Redis, CDN, инвалидация кэша, cache stampede, cache penetration, cache avalanche.
Celery, Kafka, RabbitMQ — фоновые задачи, event streaming, паттерны обработки очередей.
Декомпозиция монолита, сервис-дискавери, circuit breaker, saga, распределённые транзакции.
Horizontal vs vertical scaling, load balancing алгоритмы, auto-scaling, rate limiting.
Три столпа observability, метрики, алертинг, distributed tracing, structured logging.
OAuth2, JWT, сессии, rate limiting, защита от OWASP Top 10, безопасное хранение секретов.
Event sourcing, CQRS, event storming, реактивные системы, паттерны event-driven архитектуры.
Полный цикл проектирования: от требований до архитектуры и масштабирования. Практическое задание.