DevOps и инфраструктурная инженерия
В этом модуле вы овладеете базовой терминологией, используемой в процессе создания программного обеспечения. Познакомитесь с популярными методологиями разработки и поймёте их различия. Узнаете, зачем нужны инфраструктурные архитекторы и чем они занимаются.
Системы управления версиями
В этому модуле вы узнаете, почему и как возникли системы управления версиями исходного кода. Получите практические навыки глубокой работы с Git репозиториями. Научитесь работать одновременно с несколькими репозиториями, синхронизировать их и создавать резервные копии. Познакомитесь со способами интеграции репозиториев со внешними системами. Узнаете, как контролировать процесс разработки ещё на уровне отправки кода в репозиторий.
Основы системного администрирования
Разберётесь с Linux, Unix и другими видами ОС. Научитесь работать на продвинутом уровне с локальной сетью и интернет (MAC, Ethernet, TCP/IP, DNS). Попробуете на практике набор инструментов для отладки операционной системы и приложений.
Скриптовые языки и языки разметки: Python, Bash, YAML, JSON
В этом модуле вы напишете ряд Bash-скриптов, которые можно будет использовать для решения типовых задач. Научитесь автоматизировать работу с помощью языка программирования Python. Научитесь создавать документы в формате YAML, JSON и конвертировать эти форматы между собой.
Виртуализация
Узнаете различия видов виртуализации и контейнеризации. Научитесь управлять виртуальными машинами с помощью libvirtd. Напишете несколько Dockerfile, которые можно будет использовать в дальнейших проектах как примеры. Научитесь запускать несколько контейнеров одновременно и объединять их в виртуальную сеть.
Администрирование баз данных
Узнаете, чем различаются SQL и NoSQL базы данных, и научитесь выбирать нужную из всего многообразия существующих решений. Познакомитесь с решениями для полнотекстового поиска. Овладеете навыками установки и настройки кеш-систем. Научитесь устанавливать и настраивать базы данных для нужд разработки. Познакомитесь с технологиями создания отказоустойчивых кластеров баз данных и кеш систем при помощи кластеризации и шардинга. Научитесь писать
Облачная инфраструктура. Terraform
Научитесь описывать конфигурацию любых сервисов, имеющих API, в виде кода при помощи Terraform. Научитесь выстраивать командные процессы работы над инфраструктурой. Овладеете навыками написания скриптов на Golang. Научитесь писать собственные расширения для Terraform.
Система управления конфигурациями
Научитесь описывать инфраструктуру в виде кода. Сможете настроить удаленный сервер и восстановить его конфигурацию в случае необходимости. Узнаете набор уже готовых шаблонов для решения типовых задач конфигурирования серверов.
Непрерывная разработка и интеграция
Подробно разберём все этапы жизни ПО. Вы узнаете, как организовать взаимодействие между разработчиками, тестировщиками и системными администраторами. Получите практические навыки работы с Jenkins, TeamCity и Gitlab CI.
Мониторинг и логи
Подробно разберётесь, зачем нужен мониторинг и какие параметры нужно контролировать. Узнаете, как организовать систему оповещения о различных событиях, чтобы узнавать о сбоях первым, а не от заказчика. Научитесь организовывать логирование всех действий приложений и анализировать эти логи. Овладеете навыками работы с elasticsearch, Logstash, Kibana и Graylog. Научитесь настраивать связку Prometehus + Grafana + Alertmanager. Познакомитесь с Zabbix для мониторинга физических и виртуальных машин.
Микросервисная архитектура
Узнаете, в каких случаях выгодно использовать микросервисы вместо монолитного приложения. Научитесь проектировать отказоустойчивые системы. Познакомитесь с популярными веб-серверами и балансировщиками нагрузок.
Администрирование кластера Kubernetes
Научитесь разворачивать кластер Kubernetes на собственных мощностях. Поймёте, из каких компонентов состоит control plane и на что нужно обращать внимание при администрировании собственного кластера Кубернетес. Узнаете, как с помощью навыков автоматизированного управления конфигурациями добавлять и удалять узлы, менять конфигурацию имеющихся нод.
Конфигурация Kubernetes
С помощью полученных теоретических знаний развернём stateless-приложение. Усложним, добавив stateful зависимости. Воспользуемся готовыми манифестами для установки приложений в кластер.
Сетевая безопасность в Kubernetes
Разберётесь, как хранить и использовать пароли внутри кластера и передавать конкретным приложениям. Узнаете, как управлять уровнем доступов контейнеров и подов. Научитесь контролировать взаимодействия подов между собой.
Организация проекта при помощи облачных провайдеров
Освоите общие принципы создания проектов в облачных сервисах. Познакомитесь с основными инструментами, которые предоставляют облачные провайдеры.
Карьера в DevOps
Научитесь формулировать карьерные цели, создавать резюме, собирать портфолио и готовиться к собеседованиям. Создадите пошаговый план поиска работы, запишете видеопрезентацию и пройдёте карьерную консультацию с HR-экспертом.
Дипломный практикум в Cloud
Сначала вы поэтапно изучите построение процессов, используемых в DevOps, в теории и на практических задачах, а затем выполните дипломный практикум в облачном сервисе Yandex Cloud. Это позволит вам интегрировать накопленные знания, самостоятельно построить современный процесс DevOps и получить в портфолио серьезный проект, использующий систему непрерывной разработки и интеграции в самостоятельно развёрнутый Kubernetes кластер.
Вы научитесь создавать базовую инфраструктуру с помощью Terraform, деплоить собственный Kubernetes кластер с помощью Ansible, настраивать Jenkins для деплоя сервисов в Kubernetes.