Программа и содержание

Освойте разработку микросервисов на Go: от основ до сложных архитектурных решений для высокой производительности.

Для кого этот курс:

Для программистов с опытом разработки на Go, стремящихся углубить знания в микросервисной архитектуре и применении языка.

Для архитекторов, желающих освоить современные подходы к проектированию микросервисов и улучшить управление распределенными системами.

Для руководителей, управляющих проектами по декомпозиции монолита.

Для выпускников курсов Go-разработчик. Продвинутый уровень и Проектирование систем, которые хотят закрыть пробелы в чистой архитектуре и расширить свои компетенции.

Необходимые знания:

Уверенное знание Go

Понимание микросервисной и монолитной архитектур, взаимодействия между отдельными компонентами

Понимание работы с СУБД и Брокерами сообщений

Навыки работы с git и linux

Опыт разработки от 2-3 лет

Вы освоите:

1. Полный цикл разработки и публикации микросервисов на Go в Kubernetes

Научитесь проектировать микросервисы по принципам чистой архитектуры, покрывать их интеграционными и нагрузочными тестами, настраивать CI/CD (GitHub/GitLab CI, Docker, Helm), публиковать в K8s с управлением конфигурациями и обнаружением сервисов (Consul), а также обеспечивать отказоустойчивость через Health Checks, Liveness Probes и автоматическое масштабирование.

2. Наблюдаемость (Observability) и сетевую безопасность распределённой системы

Настроите логирование (ELK, slog, zap), метрики (Prometheus + Grafana с бизнес-дашбордами), распределённую трассировку (OpenTelemetry, Jaeger) и научитесь коррелировать данные между сервисами через correlation_id. Внедрите защищённое сетевое взаимодействие с использованием gRPC, REST, HTTP/2 и WebSockets. Настроите API Gateway, mTLS, JWT для обеспечения безопасности и Keycloak для аутентификации и авторизации.

3. Распределённые данные и системный дизайн микросервисов

Изучите отказоустойчивые и масштабируемые хранилища: PostgreSQL (Patroni, шардирование), MongoDB, Redis, Tarantool, Kafka, RabbitMQ, S3, Cassandra. Примените шаблоны проектирования — декомпозиция монолита, CQRS, Event Sourcing, Saga через Temporal, Circuit Breaker — и сможете настраивать асинхронное взаимодействие для достижения высокой доступности и устойчивости к нагрузкам.

После обучения вы сможете:

Проектировать микросервисы под любую бизнес-задачу

вы поймёте, когда микросервисы действительно нужны, как их правильно разделить и организовать их взаимодействие, чтобы система была гибкой и надёжной.

Выстроить надёжный процесс разработки в команде

настроите автоматическую сборку, тестирование и доставку кода на серверы, чтобы каждое обновление отправлялось на сервер без страха всё сломать.

Безопасно обмениваться данными между сервисами

организуете защищённое взаимодействие, чтобы ваши API были надёжными, а доступ к ним контролируемым.

Масштабироваться под любую нагрузку

спроектируете систему, которая не ляжет под наплывом пользователей, а плавно расширится за счёт добавления ресурсов или новых сервисов.

Только актуальные знания:

Программа нашего курса разработана с нуля в 2025 году с учетом последних трендов и реальных требований вакансий.

Вы изучите новейшие инструменты и практики (eBPF, service mesh, managed k8s), которые только начинают набирать популярность. Это даст вам знания трендов и конкурентное преимущество на рынке труда.

Процесс обучения:

Обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в отдельном чате, сдача домашних работ и получение обратной связи от преподавателя.

Формат обучения:

Интерактивные вебинары

2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда.

Программа:

1. Архитектура приложения

В этом модуле вы рассмотрите подходы к чистой архитектуре приложения на Go.

Тема 1: Чистая архитектура приложения

Тема 2: Доменная модель и Агрегаты

Тема 3: Репозитории и адаптеры

2. CI/CD, совместная работа

В этом модуле вы рассмотрите механику совместной работы и публикацию результатов на рабочих серверах.

Тема 1: Совместная работа с Github, Gitlab

Тема 2: Публикация приложений // ДЗ

Тема 3: Модульное тестирование и профилирование

Тема 4: Тестирование микросервисов // ДЗ

3. Observability (мониторинг, логирование, трассировка)

В этом модуле вы изучите механику наблюдения и реагирования на работу микросервисов.

Тема 1: Логирование

Тема 2: Мониторинг

Тема 3: Трассировка // ДЗ

4. Сетевое взаимодействие

В этом модуле вы рассмотрите, как микросервисы общаются между собой.

Тема 1: HTTP/х и WebSockets

Тема 2: TLS // ДЗ

Тема 3: REST

Тема 4: Раскрываем горизонты REST

Тема 5: gRPC // ДЗ

5. Хранение данных

В этом модуле вы изучите, как работать с разными вариантами хранения данных при взаимодействии с микросервисами.

Тема 1: PostgreSQL

Тема 2: NoSQL (MongoDB)

Тема 3: InMemory DB // ДЗ

Тема 4: RabbitMQ

Тема 5: Apache Kafka

Тема 6: Распределённые хранилища // ДЗ

Тема 7: Q&A-сессия

6. Системный дизайн

В этом модуле вы рассмотрите реализацию паттернов системного дизайна.

Тема 1: Разделение монолита на микросервисы

Тема 2: Дизайн микросервисов - Event sourcing

Тема 3: Дизайн микросервисов - CQRS

Тема 4: Отказоустойчивость микросервисов // ДЗ

7. Проектная работа

Заключительный месяц курса посвящен проектной работе. Проект – это самая интересная часть обучения. Вы будете разрабатывать его на основе полученных на курсе навыков и компетенций. В процессе работы над проектом можно получить консультацию преподавателей.

Тема 1: Выбор темы и организация проектной работы // Проект

Тема 2: Консультация по проектам и домашним заданиям

Тема 3: Защита проектных работ

Тема 4: Подведение итогов курса

Преподаватели:

Александр Хохлов

Архитектор платформенных решений, ГК Иннотех

Александр Литкевич

Fullstack-разработчик, VK.com

Евгений Федосеев

Ведущий разработчик, МТС

Роман Грицуляк

Разработчик, консультант

Юра Рубаха

Golang-разработчик

Константин Войта

Team Lead, Fluence Siemens