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

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

11 декабря

3 месяца

Онлайн

Вт/Чт 20:00 Мск

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

  • Go-разработчиков, с опытом от 2-х лет, стремящихся углубить знания в микросервисной архитектуре и применении языка Go
  • Архитекторов работающих с микросервисной архитектурой, с опытом проектирования от 2-х лет, желающих освоить современные подходы к проектированию микросервисов и улучшить управление распределенными системами
  • Выпускников курсов System Design, которые хотят расширить своим компетенции и улучшить качество работы и которые обладают необходимыми навыками, для успешного освоения программы

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

  • Уверенное знание Go
  • Понимание микросервисной и монолитной архитектур, взаимодействия между отдельными компонентами
  • Понимание работы с СУБД и Брокерами сообщений
  • Навыки работы с git и linux
  • Опыт разработки от 2-3 лет

Вы освоите:

  • Применение микросервисной архитектуры: Освоение применения принципов проектирования и разработки микросервисов через практические кейсы, включая чистую архитектуру
  • Инструменты CI/CD: Навыки работы с инструментами непрерывной интеграции и доставки, такими как GitHub и GitLab, для автоматизации процессов разработки
  • Мониторинг и логирование: Отточите умение внедрять и настраивать механизмы наблюдения за работой микросервисов и анализа их производительности
  • Сетевое взаимодействие: Применение различных технологий для общения между микросервисами, таких как HTTP/2, gRPC и REST в реальных проектах
  • Обработка данных: Знания и навыки работы с различными системами хранения и обработки данных, такими как PostgreSQL, MongoDB, Apache Kafka и RabbitMQ в контексте микросервисной архитектуры
  • Системный дизайн: Освоение применения паттернов системного дизайна для проектирования устойчивых и масштабируемых приложений.

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

  • Проектировать микросервисные архитектуры: Умение разрабатывать и внедрять микросервисы, основываясь на лучших практиках и рекомендациях
  • Автоматизировать процессы разработки: Использовать инструменты CI/CD для автоматизации сборки и доставки приложений на рабочие серверы
  • Внедрять систему мониторинга: Настраивать логи и мониторинг микросервисов для улучшения их надежности и быстрого реагирования на проблемы
  • Разрабатывать API: Создавать и поддерживать RESTful и gRPC API для взаимодействия между микросервисами
  • Работать с различными базами данных: Умело взаимодействовать с реляционными и NoSQL СУБД для устойчивого хранения данных
  • Применять системный дизайн: Реализовывать паттерны системного дизайна для разделения монолитов на микросервисную архитектуру, оптимизируя бизнес-процессы.

Почему стоит освоить?

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

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

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

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

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

Портфолио

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

Перспективы

 

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

Партнеры

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

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

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


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

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


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

Активное комьюнити


Чат в Telegram для общения преподавателей и студентов

Программа

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

В этом модуле вы рассмотрите подходы к чистой архитектуре приложения на 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

Юра Рубаха

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

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

Team Lead

Fluence Siemens

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

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

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

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

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

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

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

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

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

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

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

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

Что, если в середине курса я не смогу продолжать обучение?
У вас есть право одного бесплатного трансфера в другую группу
Обязательно ли защищать выпускной проект?
Для получения сертификата OTUS необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.