Чем занимаются DevOps-инженеры:
Профессия возникла на стыке конфликта интересов разработчика и системного администратора. Разработчик хочет быстро выкатывать фичи, а администратор хочет стабильности.
DevOps-инженер синхронизирует этапы создания программного продукта и отвечает за автоматизацию задач, связанных с настройкой и развёртыванием приложений. Использует системы управления конфигурациями, решения виртуализации и облачные инструменты для балансировки ресурсов.
Кому будет полезен этот курс:
Сисадминам и специалистам по эксплуатации
Получите структурированные знания. Изучите скриптовые языки и языки разметки и разберётесь в построении процесса DevOps.
Начинающим DevOps-инженерам
Научитесь правильно и эффективно выстраивать процесс DevOps в рамках своих рабочих задач и отработаете полученные знания.
QA Automation Engineer
Сможете привнести в работу лучшие практики DevOps и увеличить свою стоимость как специалиста. Или претендовать на работу в DevOps с более высокой зарплатой.
Программистам
Получите углубленные и структурированные знания, основанные на лучших практиках DevOps. Совершите плавный переход в новую профессию.
Ключевые навыки, которые вы освоете после прохождения данной профессии:
- Работа с Git, одновременная работа с несколькими репозиториями
- Администрирование Linux, работа с инструментами отладки операционной системы и приложений
- Автоматизация процессов и решение типовых задач с помощью Python и Bash
- Администрирование реляционных и нереляционных баз данных, работа с PostgreSQL, MongoDB, Memcached и Redis
- Процессы CI/CD: тестирование, сборка и доставка в разные окружения, работа с Jenkins, Teamcity и Gitlab CI
- Мониторинг и логирование с помощью ELK, Graylog, Zabbix, Prometehus, Grafana и Alertmanager
- Работа с системой управления конфигурацией Ansible, настройка удалённых серверов и восстановление их конфигурации
- Выстраивание командных процессов работы над облачной инфраструктурой, описание конфигурации сервисов с помощью Terraform и создание для него собственных расширений
- Знание Kubernetes на продвинутом уровне — развёртка кластера Kubernetes, работа с конфигурацией и сетевой безопасностью
- Знание различных видов виртуализации и контейнеризации, работа с Docker и Docker Compose
- Организация проектов при помощи облачных провайдеров Amazon Web Services, Google Cloud Platform и Microsoft Azure
Спойлер: Программа обучения
1. DevOps и инфраструктурная инженерия:
Знакомство с основной терминологией
Различие DevOps и DevSecOps
Цели методологии DevOps
Общее представление об инфраструктуре современной разработки
Обзор используемых инструментов
Циклы и этапы разработки ПО
Гибкие методологии разработки: Agile, Scrum, Kanban
2. Системы управления версиями:
Обзор систем управления версиями
Подробное знакомство с Git
Установка Gitlab на собственный сервер
3. Основы системного администрирования:
Обзор архитектуры операционных систем на примере Linux
Основы сетевой архитектуры
Полезные инструменты
Авторизация, аутентификация и безопасность пользователей
4. Скриптовые языки и языки разметки: Python, Bash, YAML, JSON:
Основы работы с языками программирования в DevOps: Python, Bash, YAML, JSON
Синтаксис разметки YAML
Синтаксис разметки JSON
Командная оболочка Bash: практические навыки
Использование Python для решения типовых задач в DevOps
5. Виртуализация:
Изучение задач, которые решает виртуализация
Технологии виртуализации
Системы управления виртуализацией
Контейнеризация на примере Docker и ContainerD
Практические навыки работы с Docker
Написание Dockerfile и использование Docker Compose
6. Администрирование баз данных:
Типы и структура СУБД
Администрирование PostgreSQL
Администрирование MySQL
Знакомство с NoSQL-базами данных на примере MongoDB
Кеш-системы Redis и Memcached
Elasticsearch
Кластеризация, шардинг и отказоустойчивость
7. Непрерывная разработка и интеграция:
Жизненный цикл разработки ПО
Процессы CI/CD: integration, delivery, deployment
Инфраструктура тестирования, сборки и доставки ПО
Практическое знакомство с Jenkins, TeamCity и Gitlab CI
8. Мониторинг и логи:
Зачем и что нужно мониторить
Системы для мониторинга
Системы оповещения о проблемах
ELK: Elasticsearch, Logstash и Kibana
Graylog
Zabbix
Prometehus, Grafana, Alertmanager
9. Система управления конфигурациями:
Обзор систем управления конфигурациями
Концепция «инфраструктура как код»
Знакомство с Ansible
Практика использования Ansible
10. Облачная инфраструктура. Terraform:
Любая конфигурация как код
Обзор облачных провайдеров: AWS, GCP, Azure
Обзор существующих провайдеров Terraform
Синтаксис и принцип работы Terraform
Введение в Golang
Написание собственных провайдеров для Terraform
11. Микросервисная архитектура:
Преимущества и недостатки микросервисной архитектуры
Отказоустойчивость систем
Nginx
HAProxy
Envoy
Кластеризация
12. Администрирование кластера Kubernetes:
Компоненты Kubernetes
Развёртывание кластера на собственных серверах, Kubespray
Сетевые решения CNI
Команды для работы с Kubernetes
13. Конфигурация Kubernetes:
Контейнеры, поды, deployment, statefulset, services
Разделы, монтирование
Работа c Kubectl
Обзор инструментов для упрощения написания конфигурационных файлов
Язык шаблонов Jsonnet
Поддержка нескольких окружений на примере Qbec
14. Сетевая безопасность в Kubernetes:
Создание и использование секретов
Синхронизация секретов с внешними сервисами
Карты конфигураций
Сервис-аккаунты
SecurityContext, NetworkPolicies
15. Организация проекта при помощи облачных провайдеров:
Виртуальное приватное облако
Организация сети
Вычислительные мощности
Балансировщики нагрузки
Контексты безопасности
Менеджеры секретов
Кластеры
Ресурсы под управлением облачным провайдером
16. Дипломный практикум в Cloud:
Создаём базовую инфраструктуру при помощи Terraform
Деплоим собственный Kubernetes кластер при помощи Ansible
Автоматически устанавливаем Jenkins
Настраиваем Jenkins для деплоя сервисов в Kubernetes
Для просмотра содержимого вам необходимо авторизоваться
Для просмотра содержимого вам необходимо авторизоваться
Симпатии:
Это понравилось makcumkyc и cherep1993