Микросервисы на Go

Специальная цена

Микросервисы на Go

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

28 мая

3 месяца

Онлайн

Вт/Чт 20:00 Мск

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

  • Для программистов с опытом разработки на 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), которые только начинают набирать популярность. Это даст вам знания трендов и конкурентное преимущество на рынке труда.

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

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

Оптимальная нагрузка

Возможность совмещать учебу с работой

Портфолио

Индивидуальная разработка итоговой проектной работы 

Перспективы

 

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

Партнеры

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

  • Получите помощь с оформлением резюме, портфолио и сопроводительного письма
  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
  • Пройдете карьерную консультацию с нашим HR-специалистом
  • Получите рекомендации, как искать работу, и советы по прохождению собеседования
* Информация в этом разделе не предназначена для корпоративного обучения
Формат обучения

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


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

Обратная связь


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

Активное сообщество


Модерируемый чат для общения преподавателей и студентов

Программа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тема 1: HTTP/х и WebSockets

Тема 2: TLS // ДЗ

Тема 3: REST

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

Тема 5: gRPC // ДЗ

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

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

Тема 1: PostgreSQL

Тема 2: NoSQL (MongoDB)

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

Тема 4: RabbitMQ

Тема 5: Apache Kafka

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выпускной проект


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


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

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

Руководитель курса

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

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

ГК Иннотех

Ментор

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

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

VK.com

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

Ведущий разработчик

МТС

Илья Феоктистов

Senior software engineer

Agoda

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

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

Юра Рубаха

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

Арслан Юсифов

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

Team Lead

Fluence Siemens

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Ближайшие мероприятия

Открытый вебинар — это настоящее занятие в режиме онлайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.

Тестирование микросервисов на Go: почему ваш сервис ломается под 1000 RPS
Роман Грицуляк
На вебинаре вы узнаете:
— Как настроить интеграционное тестирование микросервиса: проверка API, базы данных и брокеров сообщений в связке.
— Чем E2E-тест отличается от набора интеграционных тестов и как его правильно проводить.
— Как выполнять нагрузочное тестирование: на один сервис и на цепочку вызовов. Инструменты: JMeter, WKR2, Yandex.Tank.
— Зачем тегировать трафик через Service Mesh и как это помогает тестировать в сложных сценариях.

Вебинар будет полезен кому:
Go-разработчикам, которые строят или поддерживают микросервисную архитектуру. Тем, кто уже столкнулся с тем, что тесты тормозят, не ловят ошибки в связках или не дают ответа о готовности системы к нагрузке.

В результате вебинара:
— Настроите интеграционные тесты для API, БД и брокеров сообщений.
— Проведёте E2E-тест, который проверяет цепочку вызовов целиком.
— Выполните нагрузочный тест одного сервиса и сквозной нагрузки через несколько сервисов.
— Сможете оценить, готово ли ваше приложение к жизни в микросервисной архитектуре.
...
7 мая в 17:00
Открытый вебинар
Грамотная декомпозиция монолита (когда микросервисы не нужны)
Александр Хохлов
На вебинаре вы узнаете:

— Как понять, что монолит ещё работает, а микросервисы только навредят.
— Три признака, что пора делить: организационные, архитектурные, технические.
— Почему общие библиотеки с моделями Order и Customer убивают независимость сервисов.
— Как выделить первый микросервис через события, а не синхронные вызовы.
— В каких случаях микросервисы становятся проблемой и как безопасно собрать их обратно.

Вебинар будет полезен:

Разработчикам, которые работают с растущим монолитом и чувствуют, что тесты собираются часами, а релизы мешают друг другу. И тем, кто уже попробовал микросервисы, но получил «распределённый монолит» и теперь не знает, что с этим делать.

В результате вебинара вы сможете

— Самостоятельно определить, готов ли ваш проект к разделению на микросервисы.
— Находить скрытые жёсткие связи через общие библиотеки и общую базу данных.
— Выделить первый сервис через Kafka или RabbitMQ без поломки заказов.
— Отличить хороший микросервис от распределённого монолита ещё на этапе дизайна.
— Принять решение: дробить дальше, укрупнять или остаться в модульном монолите.
...
19 мая в 17:00
Открытый вебинар

Прошедшие
мероприятия

Константин Войта
Открытый вебинар
Генерация gRPC, API-Gateway и Swagger на основе единой схемы proto3
Александр Хохлов
Открытый вебинар
Применение распределённых конфигураций для управления микросервисами на Go
Оставьте заявку, чтобы получить доступ ко всем записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке

Этот курс может оплатить ваш работодатель

Обучайтесь за счёт работодателя или разделите оплату 50/50
  • Подробно расскажем об интересующем вас курсе
  • Объясним, как договориться с работодателем
  • Сообщим стоимость обучения и варианты оплаты
  • Ответим на вопросы
  • Предоставим шаблон договора и счёт на оплату

Подтверждение знаний и навыков

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

После обучения:

  • Удостоверение о повышении квалификации: если вы успешно защитили выпускной проект
    и готовы предоставить копию документа о высшем или среднем профессиональном образовании

  • Доступ к учебным материалам курса

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

Частые вопросы

Что, если в середине курса я не смогу продолжать обучение?
Вы можете бесплатно перейти в другую группу. Но только один раз.
Обязательно ли защищать итоговый проект?
Для получения сертификата OTUS сдавать проект необязательно (в сертификате будет отражено кол-во выполненных домашних работ). Для получения Удостоверения о повышении квалификации необходимо выполнить итоговый проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, мы можем вернуть деньги за то время, которое вы ещё не успели отучиться. Например, если курс длится пять месяцев, а вы отучились один, мы вернём деньги за оставшиеся четыре месяца.
На каких базах данных мы будем учиться работать?
PostgreSQL (с Patroni и шардированием), MongoDB, Redis, Tarantool, а также распределённые хранилища S3 и Cassandra.
Будет ли практика с Apache Kafka и RabbitMQ в реальных сценариях?
Да, вы настроите оба брокера, смоделируете отказы кластеров под нагрузкой и реализуете паттерны Transaction Outbox/Inbox.
Смогу ли я после курса претендовать на руководящую позицию?
Да, программа включает управление границами микросервисов, CI/CD, наблюдаемость и системный дизайн — ключевые компетенции для архитекторов и лидеров команд.