Фоновый баннер

DevOps-инженер

DevOpsengineer

Подробнее о курсе

Краткое описание курса
На курсе Вы изучите ключевые инструменты: Docker, Kubernetes, Ansible, Terraform, Jenkins, и зарубежные практики: CI/CD/CD, автоматизацию процессов, управление конфигурациями, микросервисную архитектуру, облачные сервисы

Цель курса

  • Получить структурированные знания, изучить скриптовые языки и языки разметки, построение процесса DevOps.
  • Научиться правильно и эффективно выстраивать процесс DevOps в рамках своих рабочих задач и отработать полученные знания.
  • Получить углубленные и структурированные знания, основанные на лучших практиках DevOps.

Целевая аудитория курса
Системные администраторы, специалистам по эксплуатации, начинающие DevOps-инженеры, QA Automation Engineer, программисты

Получаемые знания и навыки

  • Работа с 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

Необходимая предварительная подготовка

  • Базовые представления о программировании
  • Знание Linux на уровне пользователя.

Краткое содержание курса

  • DevOps и инфраструктурная инженерия
  • Основная терминология, инфраструктура современной разработки, цикл и этапы разработки программного обеспечения
  • DevOps и DevSecOps: определение, цели, сравнительная характеристика
  • Гибкие методологии разработки: Agile, Scrum, Kanban
  • Системы управления версиями
  • Обзор систем управления версиями
  • Git репозитории: их синхронизация и создание резервных копий, способы интеграции с внешними системами
  • Установка Gitlab на собственный сервер
  • Основы системного администрирования
  • Работа с операционными систем Linux, Unix. Основы сетевой архитектуры
  • Работа с локальной сетью и сетью интернет (MAC, Ethernet, TCP/IP, DNS)
  • Отладка операционной системы и приложений
  • Авторизация, аутентификация и безопасность пользователей
  • Практическое задание
  • Скриптовые языки и языки разметки: Python, Bash, YAML, JSON
  • Основы работы с языками программирования в DevOps: Python, Bash, YAML, JSON (изучение синтаксиса разметки, создание командной оболочки Bash,использование Python для решения типовых задач в DevOps)
  • Виртуализация
  • Основные виды виртуализации и контейнеризации (основные технологии, системы управления
  • Контейнеризация на примере Docker и ContainerD (практические навыки с Docker)
  • Написание Dockerfile и использование Docker Compose
  • Типы и структура СУБД
  • Администрирование PostgreSQL
  • Администрирование MySQL
  • Знакомство с NoSQL-базами данных на примере MongoDB
  • Навыки установки кеш-систем Redis и Memcached
  • Elasticsearch
  • Кластеризация, шардинг и отказоустойчивость
  • Непрерывная разработка и интеграция
  • Жизненный цикл разработки программного обеспечения
  • Инфраструктура тестирования, сборки и доставки программного обеспечения
  • Процессы CI/CD: integration, delivery, deployment
  • Практическое знакомство с Jenkins, TeamCity и Gitlab CI
  • Мониторинг и логи
  • Назначение мониторинга данных и основные параметры контроля
  • Настройка систем оповещений
  • Навыки работы с elasticsearch, Logstash, Kibana и Graylog
  • Использование Zabbix для мониторинга физических и виртуальных машин
  • Система управления конфигурациями
  • Обзор систем управления конфигурациями, настройка удаленных серверов
  • Описание инфраструктуры в виде кода
  • Ansible: основные понятия, практика использования
  • Облачная инфраструктура. Terraform
  • Terraform: синтаксис и принцип работы, обзор существующих провайдеров описание конфигурации сервисов, имеющих API, в виде кода
  • Выстраивание командных процессов работы над инфраструктурой
  • Написание скриптов на Golang
  • Обзор облачных провайдеров: AWS, GCP, Azure
  • Микросервисная архитектура
  • Микросервисная архитектура: определение, преимущества и недостатки, практика применения
  • Проектирование отказоустойчивых систем
  • Работа с Nginx, HAProxy, Envoy
  • Практическое задание
  • Администрирование кластера Kubernetes
  • Кластеризация
  • Kubernetes: компоненты, команды для работы, администрирование собственного кластера, развёртывание кластера на собственных серверах, Kubespray
  • Сетевые решения CNI
  • Практическое задание
  • Конфигурация Kubernetes
  • Рассмотрение понятий контейнеры, поды, deployment, statefulset, services
  • Обзор инструментов для упрощения написания конфигурационных файлов. Разделы монтирование
  • Язык шаблонов Jsonnet,
  • Работа c Kubectl
  • Язык шаблонов Jsonnet
  • Поддержка нескольких окружений на примере Qbec
  • Практическое задание
  • Сетевая безопасность в Kubernetes
  • Создание и использование секретов, паролей внутри кластера
  • Синхронизация секретов с внешними сервисами
  • Карты конфигураций
  • Сервис-аккаунты
  • Изучение SecurityContext, NetworkPolicies
  • Организация проекта при помощи облачных провайдеров
  • Общие принципы создания проектов в облачных сервисах
  • Виртуальное приватное облако
  • Организация сети
  • Вычислительные мощности
  • Балансировщики нагрузки
  • Контексты безопасности
  • Менеджеры секретов
  • Итоговый проект в Cloud, использующий систему непрерывной разработки и интеграции в самостоятельно развёрнутом Kubernetes кластере. Построение современного процесса DevOps

Отзывы по курсу