Академический Документы
Профессиональный Документы
Культура Документы
Занятие 1
- Введение в DevOps, методология, основные понятия
- Настройка рабочей среды. Инструментарий. Облачный
аккаунт
- Жизненный цикл ПО
- Циклы и этапы разработки ПО
- Методологии разработки ПО. Agile, Waterfall, Scrum
Занятие 2
- Linux: основы. Разновидности Linux
- Linux: ядро, процессы, файлы
- Linux: основные команды
- Linux: Bash, программирование. Основные сценарии
использования
Занятие 3
- Знакомство с системами контроля версий (scm)
- Git. Создание веток, основные понятия
- Git. Клонирование, слияния, merge
- Знакомство с GitHub. Создание и работа с репозиториями
- CI/CD. Jenkins. Знакомство
Занятие 4
- Контейнеризация. Базовые понятия
- Знакомство с Docker. Философия Docker
- Docker hub и Docker registry
- Работа с Dockerfile
- Упаковка приложений в Docker
Занятие 5
- Обзор систем управления конфигурациями
- Ansible. Основные концепции
- Синтаксис YAML
- Ansible. Ad-Hoc команды
- Ansible playbook
Модуль 1. Инструменты.
Занятие 1 - бесплатное
• Введение в DevOps, методология, основные понятия,
инструменты
• Настройка рабочей среды
• Жизненный цикл ПО
• Циклы и этапы разработки ПО
• Методологии разработки ПО
• Agile, Waterfall, Scrum
ДЗ. Подготовка «облачного» аккаунта для лабораторных
работ
Занятие 2
• Linux: основы. Разновидности Linux
• Linux: ядро, процессы, файлы
• Linux: основные команды
• Linux: мониторинг системы
• Linux: Bash скриптинг. Основные сценарии использования
• Современные инструменты для работы с Linux системами
ДЗ. Написание программы бэкапа на bash
Занятие 3
• Виртуализация. Типы гипервизоров
• Microsoft Hyper-v, VMware Esxi, Xen, KVM
• Системы сборки. Apache Maven. Gradle
• Общее представление о работе Java-приложений
• Знакомство с контейнерами сервлетов
• Apache Tomcat. Установка и конфигурирование
ДЗ. Деплой выборочного Java-приложения
Занятие 4
• Базы данных
• Типы и структуры БД
• знакомство с Postgresql. Кластер, диспетчер очередей,
репликация
• знакомство с Mysql, Percona XtraDB cluster
• мониторинг работы БД. Backup
• Особенности работы с NoSQL БД
ДЗ. Деплой и разбор тестовой БД Postgresql
Занятие 5
• Знакомство с системами контроля версий
• Git. Основные понятия, команды
• Git. Создание веток, репозитории
• Git. Клонирование, слияния, merge request
• Знакомство с GitHub
• Gitlab-введение
ДЗ. Создание собственного репозитория на GitLab. Работа
с репозиторием
Занятие 6
• Понятие Контейнеризации
• Знакомство с Docker
• Dockerfile
• Упаковка приложений в Docker
• Создание кластера с Docker-compose
• Docker Swarm mode
• Особенности работы с сетями в Docker
• Мониторинг контейнеров
• Docker registry: native, Artifactory / Nexus
ДЗ. Упаковка приложения в Docker
Занятие 7
• Docker практика
• Наработка навыков создания Dockerfile
• Упаковка своего приложения в Docker
• Автоматизация сборки приложений с помощью Docker-
compose
ДЗ. Практика создания Docker-контейнеров
Занятие 8
• Обзор систем управления конфигурациями
• Ansible. Знакомство с концепцией "Infrastructure as Code"
• Синтаксис YAML
• Ansible: файл инвентаризации
• Ansible: знакомство с переменными, модулями shell, copy
и др.
• Ansible: запуск на группу хостов
• Ansible: шаблоны и роли конфигурации
ДЗ. Подготовка тестового окружения с помощью Ansible
Занятие 9
• Ansible практика
• Написание плэйбуков. Работа с ролями
• Ansible-galaxy. Обзор готовых ролей
• Ansible: поднимаем кластер приложений
ДЗ. Практика работы с Ansible
Модуль 2. Автоматизация.
Занятие 10
• Знакомство с CI/CD
• Jenkins: знакомство
• Запуск Jenkins в Docker
• Jenkins: модули, используемые плагины
• Автоматизация сборок. Best practice
• TeamCity: Обзор
ДЗ. Написание Job-ов Jenkins
Занятие 11
• Тестирование ПО. Основные этапы и виды.
• Jenkins практика, построение pipeline
• Jenkins: автоматизируем процессы разработки
ДЗ. Автоматизация деплоя нескольких приложений в
небольшой тестовой среде
Занятие 12
• Микросервисы. Введение в Kubernetes.
• Концепции и архитектура Kubernetes. Pod
• Kubectl, minikube.
ДЗ. Практика работы с Kubernetes в облачной среде
Занятие 13
• Облачные технологии
• Знакомство с AWS. awscli - управление из консоли
• AWS EC2. Создание инстансов
• AWS S3. Работа с облачным хранилищем
• AWS Route 53
• AWS CloudWatch, мониторинг и биллинг
• Знакомство и обзор сервисов MS Azure
ДЗ. Деплой распределенного приложения в AWS E2
Занятие 14
• Облачные технологии
• Знакомство с Google Cloud. Rancher. Упрощаем настройку
Kubernetes
• Terraform - облачный Deploy
ДЗ. Практика работы с Terraform
Занятие 15
• Анализ и мониторинг логов
• Обзор актуальных систем мониторинга логов
• ELK-стек. Практика настройки
• ELK-стек. Паттерны Logstash
• ELK-стек. Kibana, создание визуализаций
ДЗ. Написание парсера логов для приложения
Занятие 16
• Мониторинг инфраструктуры
• Обзор наиболее распространенных утилит для
мониторинга
• Zabbix - Enterprise monitoring. Шаблоны, хосты,
комплексные экраны. Практика настройки
• Grafana и CollectD / FluentD / StatsD
• Prometheus - современное видение мониторинга
ДЗ. Разработка системы мониторинга для приложения
+ Бонус: Разбор и составление резюме
Модуль 1. Инфраструктура.
Занятие 1 - Архитектура высоконагруженных приложений
• Hardware and software bootleneck
• Linux Kernel: Highload tuning
• Горизонтальное и вертикальное масштабирование
сервисов
• Кластерный подход
• Подход Мульти-ЦОД
Занятие 2 - Балансировка нагрузки
• Аппаратные и программные балансировщики
• Алгоритмы и методы балансировки на различных сетевых
уровнях
• HAproxy/Nginx/BalanceNG
• Облачные решения и решения интеграторов
• Балансировка нагрузки приложений
Занятие 3 - Системы хранения данных
• Аппаратные СХД: HPE, Dell EMC, Lenovo
• Файловые системы Linux
• ext4/zfs/btrfs
• Дедупликация данных, снапшоты, бэкап
• Veeam Backup & Replication
• Распределенные файловые системы. GlusterFS, CEPH
• Object storage, block storage, blob storage
• Шифрование данных
• Практика работы с CEPH
Занятие 4 - Базы данных
• Шардирование и партиционирование на примере
Postgresql 12
• Postgresql HA. Репликация master-master
• Postgresql. Barman. Continuous backup
• Кластеризация MongoDB
• Кластеризация Redis
• Паттерны NewSQL
• DBMS ClickHouse. Особенности кластерной конфигурации
Занятие 5 - Сети и сетевая безопасность
• VPN. Структура и уровни реализации
• IPSec/PPTP/L2TP/OpenVPN/WireGuard
• Организация Mesh-сетей. OpenvSwitch
• Расширенные методы настройки фаерволов
• Инспектирование, перехват пакетов, анализ. Работа с
nDPI
• Системы защиты от сетевых угроз
• Работа со сканером Tenable Nessus
Занятие 6 - Безопасность окружений
• Современные средства защиты информации
• Безопасность в "облачных" средах
• Сценарии применения IPS/IDS
• Использование встроенных механизмов Linux/Systemd
• Многокомпонентная изоляция окружений
• Мониторинг событий безопасности. AT&T Cubersecurity
OSSIM
• 2FA & MFA Google Authenticator
• Работа с сертификатами
• Обзор инструментов дистрибутива Kali Linux
Модуль 2. Инфраструктура как код
Занятие 7 - Архитектурные принципы построения IaC
• Организация репозиториев
• Ansible v2.9. Расширенная работа с ролями
• Ansible. Многообразие переменных
• Ansible. Molecule. Тестирование плэйбуков
• Ansible boosters
• Создание собственных модулей Ansible
Занятие 8 - Трансформация инфраструктуры
• Ansible. Практика работы с IaC
• Методы преобразования уже сформированной
инфраструктуры в IaC
• Расширенная шаблонизация Jinja2
• Работа с Vault
Занятие 9 - Terraform. Best practice
• Разворачивание кластера приложений в Google cloud
• Мультиоблачный деплой. Disaster recovery AWS-AZURE-
GC
• Уровни подготовки приложения
• Инкапсуляция кода Ansible
• Инкапсуляция кода Python. Скриптинг
Занятие 10 - Amazon Web Services*
• AWS Developer Services for CI/CD
• One-Click Deploy
• Построение IaC в облаках
• Практика работы с AWS
Занятие 11 - AWS CloudFormation*
• Практика работы с AWS IaC
Занятие 12 - AWS CloudFormation*
• Практика работы с AWS Iac
Модуль 3. Микросервисы
Занятие 13 - Kubernetes Service Mesh*
• Общая архитектура работы приложений
• Компоненты кластерного приложения
• Проблемы высоконагруженных систем k8s
• Service discovery. Consul
• Service Mesh. Linkerd
• Практика работы с Istio
Занятие 14 - Kubernetes HA*
• Обзор Kubernetes Ingress Controllers
• Стратегии обновления приложений
• AB тестирование
• Blue/Green Deployment
• Canary Deployment
• Post-Deployment Monitoring
Занятие 15 - Kubernetes CI/CD*
• Знакомство с Google Container Tools
• Container Structure Tests
• Skaffold. Обзор
• Пакетный менеджер Helm. Практика работы
• Взаимодействие с Gitlab-Ci
Занятие 16 - Kubernetes Monitoring*
• cAdvisor
• ELK stack. Работа с логированием
• Практика работы с Prometheus
• Prometheus Alerting, Exporters, Visualization
• Трассировка приложений. Zipkin/Jaeger
• Sensu. Monitoring as Code
Занятие 17 - Kubernetes Messaging*
• Брокеры сообщений
• Стандарт AMPQ
• Разбор простого интерфейса обмена данными
• Практика работы с RabbitMQ в Kubernetes
• Знакомство с Apache Kafka
Занятие 18 - Serverless технологии
• Философия Everythings as Service
• Облачные решения. Aws Lambda
• Знакомство с Knative. Запуск Python-приложения в
serverless среде
• Знакомство с платформой Apache OpenWhisk
Модуль 4. Технологии
Занятие 19 - Концепции BigData
• Основы Apache Hadoop, HBase
• Знакомство с парадигмой MapReduce
• Hadoop Common
• Знакомство с Hive
• Использование СУБД Apache Cassandra
• Talend. Обзор
Занятие 20 - Machine learning
• Основы Машинного обучения
• Знакомство с Google TensorFlow
• Сверточные нейронные сети
• Моделирование работы системы распознавания объектов
Занятие 21 - ChatOps
• Написание бота на Python
• Работа с Hubot
• Интеграция в Slack и Telegram
• Знакомство с платформой StackStorm
+ 2-х недельная стажировка в компании-партнере по
окончании курса.