Форма обучения: очная с применением дистанционных технологий
Объем программы: 550 ак. часов
Продолжительность обучения: 10 месяцев
Выдаваемый документ: Диплом о профессиональной переподготовке МФТИ
Старт обучения: май 2023
Стоимость обучения: 220 000 руб.
Краткое описание программы:Чтобы получить Профессию Архитектор программного обеспечения, подтвержденную Дипломом о профессиональной переподготовке МФТИ установленного образца, необходимо пройти обучение на четырех самостоятельных курсах.
В течение обучения вы выполните несколько проектов для решения задач бизнеса, которые лягут в основу вашего портфолио. Проекты выполняются самостоятельно под руководством экспертов и преподавателей, позволяют закрепить весь спектр знаний и навыков, полученных на программе, и применить их к реальным задачам.
Успешное окончание каждого курса подтверждается Удостоверением о повышении квалификации МФТИ.
Содержание программы:
1. Курс: Continuous Integration, Continuous Delivery и Continuous Deployment
1 месяц
Понятие непрерывных практик разработки - CI/CD/CD: различия между практиками
- Основные стадии непрерывной интеграции проектов
- Автоматическое тестирование и сборка проектов
- Понятие "агент" (runner) в непрерывных системах поставки
Инструменты Continuous Integration. Gitlab - Автоматическое тестирование
- Статический анализатор кода
Continuous Delivery и Continuous Deployment: основные отличия - Сборка проектов в закрытом контуре
- Сборка установочных файлов для поставки на серверное окружение
- Возможные артефакты сборки проекта
Cпособы создания артефактов - Тестовые сценарии
- Покрытие кода тестами
- Сборка пакетов (Package Registry)
- Сборка контейнеров (Container Registry)
Continuous Deployment - Способы развертываний
- Типы окружений для развертывания - отличия между окружениями
- Настройка развертываний, приемочное тестирование
Создание окружений - Review/staging/production
- Откатка релизов и перемещение релизов между окружениями
- Проведение видов приемочного тестирования в автоматическом режиме (проверка процедур установки ПО)
GitOps - Способы выкатки приложений
- Push CD / Pull CD
- Способы версионирования приложений: Helm
Разбираем инструменты CD в стеке Kubernetes - ArgoCD/FluxCD
- Настраиваем GitOps Pipeline
2. Курс: Архитектура программного обеспечения
3 месяца
Основы архитектуры ПО. Парадигмы программирования - Что такое архитектура ПО и зачем она нужна
- Парадигмы программирования: структурное, объектно-ориентированное, функциональное, логическое, декларативное
- Архитектурные стили
Принципы проектирования ПО. Архитектурные стили - Принципы SOLID
- Объектно-ориентированные паттерны: порождающие, структурные, поведенческие
- Компоненты: связность и сочетамость
- Архитектура: горизонтальные уровни и вертикальные срезы
- Чистая архитектура
- Архитектурные стили
Проектирование приложений - Хранение данных
- Проектирование приложений с базами данных
- Передача данных
- Представление данных
- Архитектурные паттерны MVC, MVP, MVVM
- Архитектуры SPA-приложений
- Обработка данных
Распределённая архитектура - Особенности распределённой архитектуры
- Service-Based Architecture
- Space-Based Architecture
- Надежность, отказоустойчивость и безопасность систем
- Горизонтальное масштабирование
- EDA
- Микросервисная архитектура
Проектирование API и безопасность - Протокол HTTP
- REST
- OpenAPI
- API Gateway
- OWASP
- Аутентификация
- SSL и TL
Микросервисная архитектура - Инфраструктурные паттерны
- Коммуникационные паттерны
- Распределительные системы
- Децентрализованные системы
Облачная архитектура - Базовые компоненты и сервисы облачного решения
- Правильная облачная архитектура: Well‑Architected Framework
- Шаблоны облачной архитектуры: Cloud Architecture Patterns
- Миграция приложений в облако: Cloud Adoption Framework
4. Курс: Инструменты DevOps1 месяцInfrastructure as Code и системы управления конфигурацией - Infrastructure as Code
- Системы управления конфигурацией (Terraform, Ansible, Chef, Salt, Puppet)
Хранение данных - Инструменты хранения данных: S3, MinIO vs Ceph
- Хранение и передача чувствительных данных: Vault
Микросервисы, балансировка и кэширование - балансировка и кэширование
- микросервисы
- стратегии поставки
5. Курс: Kubernetes4 месяца- Почему Kubernetes, монолитная vs микросервисная архитектуры, виртуальная машина vs контейнер
- Docker, Kernel modules for isolation, best vs bad practices Docker-compose, best vs bad practices Введение в Kubernetes
- Kubernetes Control-Plane
- Основные сущности Kubernetes
- Хранение больших данных в Kubernetes
- Kubernetes: сети и сервера
- Продвинутые сущности Kubernetes
- Шаблонизаторы Kubernetes: Helm
- Kubernetes: мониторинг (Prometheus/VictoriaMetrics & Grafana)
- Kubernetes: оповещения (mail/chats)
- Kubernetes: логирование (EF/LK)
- Kubernetes и GitLab CI/CD
- Kubernetes и Harbor as Docker Registry
Целевая аудитория курса: - Те, кто начинает карьеру в ИТ
Возможность изучить все необходимое для начинающего разработчика: алгоритмы, ООП, основы рабочего кода языка Python. Вы заложите крепкий фундамент для дальнейшего развития в сфере ИТ. - Начинающие ИТ-специалисты
Если у вас уже есть базовые знания, наш курс поможет структурировать их и получить комплексный практический опыт на реальных примерах. - Практикующие ИТ-специалисты
Тем, кто уже является действующим разработчиком, и хочет изучить новый язык программирования.
На программе вы: - Освоите новую востребованную профессию
- Станете крепким junior-разработчиком со знанием языка программирования Python
На всех курсах вы получите: - Постоянное живое общение с преподавателем МФТИ на вебинарах и в телеграмм-чате группы
- Ответы на все свои вопросы по ходу курса от преподавателя
- Обратную связь на интересные домашние задания