Initial commit: Complete Software Architecture course with 11 modules

- Added comprehensive course structure with 11 modules
- Included theoretical content, practical examples, and tasks
- Multi-language code examples (Java, Rust, Node.js, Python)
- Detailed analysis of architectural approaches and trade-offs
- Complete caching strategies documentation
- Architecture examples from real-world systems (Twitter, Netflix, Uber)
- Structured navigation and learning path
- Ready for educational use
This commit is contained in:
Alexander Abakumov committed 2025-09-09 22:08:07 +03:00
commit 15e744da49
107 files changed
+61762

No files matched your search

+108
View File
@@ -0,0 +1,108 @@
# Модуль 3: Контейнеризация и оркестрация
## Навигация
- [🏠 Главная страница курса](../../README.md)
---
## Описание модуля
Этот модуль посвящен изучению современных технологий контейнеризации и оркестрации, которые являются основой для развертывания и управления микросервисными приложениями. Студенты изучат Docker, Kubernetes, Infrastructure as Code и связанные инструменты.
## Содержание модуля
### 1. [Основы контейнеризации](sections/01-containerization-basics.md)
- Что такое контейнеризация
- Преимущества контейнеризации
- Контейнеры vs Виртуальные машины
- Компоненты контейнеризации
### 2. [Docker](sections/02-docker.md)
- Основы Docker
- Dockerfile и лучшие практики
- Docker Compose
- Команды Docker
### 3. [Kubernetes](sections/03-kubernetes.md)
- Архитектура Kubernetes
- Основные объекты (Pod, Deployment, Service, Ingress)
- ConfigMap и Secret
- Сетевая модель и хранилище
### 4. [Infrastructure as Code](sections/04-infrastructure-as-code.md)
- Основы IaC
- Terraform
- Ansible
- Модули и переменные
### 5. [CI/CD с контейнерами](sections/05-cicd-containers.md)
- CI/CD Pipeline
- GitOps
- ArgoCD
- Автоматизация развертывания
### 6. [Мониторинг контейнеров](sections/06-container-monitoring.md)
- Prometheus + Grafana
- ELK Stack
- Логирование и метрики
- Дашборды и алерты
## Ключевые компетенции
После изучения модуля студенты будут уметь:
- Создавать и оптимизировать Dockerfile
- Настраивать Docker Compose для микросервисов
- Развертывать приложения в Kubernetes
- Управлять инфраструктурой через код
- Настраивать CI/CD пайплайны
- Мониторить контейнеры и приложения
## Практические задания
1. **Создание Dockerfile**
- Оптимизация размера образа
- Многоэтапная сборка
- Безопасность и best practices
2. **Docker Compose**
- Настройка микросервисной архитектуры
- Сети и volumes
- Health checks
3. **Kubernetes развертывание**
- Создание манифестов
- Настройка Service и Ingress
- ConfigMap и Secret
4. **Terraform инфраструктура**
- Создание модулей
- Управление состоянием
- Переменные и outputs
5. **CI/CD Pipeline**
- GitHub Actions
- Автоматическое развертывание
- GitOps с ArgoCD
6. **Мониторинг**
- Настройка Prometheus
- Создание дашбордов Grafana
- Централизованное логирование
## Дополнительные ресурсы
- [Docker Documentation](https://docs.docker.com/) - официальная документация Docker
- [Kubernetes Documentation](https://kubernetes.io/docs/) - официальная документация Kubernetes
- [Terraform Documentation](https://terraform.io/docs/) - документация Terraform
- [Prometheus Documentation](https://prometheus.io/docs/) - документация Prometheus
- [Grafana Documentation](https://grafana.com/docs/) - документация Grafana
## Критерии оценки
- Понимание принципов контейнеризации (20%)
- Навыки работы с Docker (25%)
- Опыт работы с Kubernetes (25%)
- Знание Infrastructure as Code (15%)
- Навыки настройки CI/CD (10%)
- Понимание мониторинга (5%)