Язык программирования - GO
40 ак.часов
Курс Go: микросервисы, Docker, Kubernetes и облачная оркестрация
-
О КУРСЕКурс предназначен для разработчиков и системных администраторов, которые хотят овладеть навыками проектирования микросервисных архитектур с использованием Go, а также освоить технологии контейнеризации и оркестрации. В рамках курса вы научитесь создавать и оптимизировать REST и gRPC API, работать с шинами событий (NATS, Kafka), настраивать мониторинг и логирование с Prometheus, Grafana и OpenTelemetry, а также эффективно использовать Docker и Kubernetes для контейнеризации и оркестрации микросервисов в облаке
Системные инженеры
Разработчики
Системные администраторы
Модуль 1: Основы микросервисной архитектуры
Тема 1.1: Введение в микросервисную архитектуру
Определение микросервисов
Преимущества и недостатки микросервисов
Различия между монолитами и микросервисами
Тема 1.2: Дизайн микросервисов
Принципы разработки
Подходы к проектированию API
Обработка ошибок и отказоустойчивость
Модуль 2: gRPC и REST API
Тема 2.1: Введение в gRPC
Сравнение gRPC и REST
Основы работы с gRPC в Go
Тема 2.2: Создание REST API
Основы создания RESTful API
Стандарты HTTP (методы, коды состояния)
Обработка запросов и ответов
Тема 2.3: Сравнение и выбор между gRPC и REST
Где использовать каждый подход
Преимущества и ограничения
Модуль 3: Введение в шины событий и обработку сообщений
Тема 3.1: Введение в шины событий
Зачем нужны шины событий
Преимущества событийной архитектуры
Тема 3.2: Обзор NATS
Установка и настройка NATS
Основные функции и возможности
Пример реализации событийной модели с NATS
Тема 3.3: Обзор Kafka
Установка и настройка Kafka
Архитектура и ключевые компоненты
Пример реализации событийной модели с Kafka
Модуль 4: Инструменты мониторинга и логирования
Тема 4.1: Введение в мониторинг
Зачем важен мониторинг
Основные метрики для мониторинга микросервисов
Тема 4.2: Prometheus
Установка и настройка Prometheus
Сбор метрик из микросервисов
Интерфейс Prometheus
Тема 4.3: Grafana
Установка и настройка Grafana
Визуализация данных с помощью Grafana
Тема 4.4: OpenTelemetry
Введение в OpenTelemetry
Интеграция OpenTelemetry с микросервисами
Трейсинг и анализ производительности
Модуль 5: Основы контейнеризации
Тема 5.1: Введение в контейнеризацию
Что такое контейнеры
Преимущества и недостатки контейнеризации
Основы Docker
Тема 5.2: Основы работы с Docker
Установка и настройка Docker
Основные команды Docker
Создание и управление контейнерами
Тема 5.3: Разработка с Docker
Создание Dockerfile
Управление образами и контейнерами
Практические примеры использования Docker в Go
Модуль 6: Введение в оркестрацию контейнеров
Тема 6.1: Введение в оркестрацию контейнеров
Зачем нужна оркестрация
Сравнение Docker Swarm и Kubernetes
Тема 6.2: Docker Swarm
Установка и настройка Docker Swarm
Создание и управление кластерами Docker Swarm
Развертывание приложений в Docker Swarm
Тема 6.3: Kubernetes
Установка и настройка Kubernetes
Основные компоненты Kubernetes
Развертывание и управление приложениями в Kubernetes
Практическая работа: создание и деплой приложения в Kubernetes
-
Получаемый документ
-
Для успешного прохождения курса необходимы:
- базовые знания языка программирования Go,
- понимание основ работы с сетями,
- опыт работы с микросервисами и API
-
По окончании курса слушатели смогут:
◉ разрабатывать микросервисные архитектуры с использованием Go
◉ использовать REST и gRPC для взаимодействия между сервисами
◉ настроить мониторинг и ведение журналов с использованием Prometheus и Grafana
◉ применять контейнеризацию и оркестрацию с Docker и Kubernetes в своих проектах


