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

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

31 июля

4 месяца

Онлайн

Вт/Чт 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: gRPC

Тема 3: REST

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

Тема 5: TLS

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

Рассмотрим как работать с разными вариантами хранения данных при взаимодействии с микросервисами

Тема 1: PostgreSQL

Тема 2: NoSQL (MongoDB)

Тема 3: InMemory DB

Тема 4: RabbitMQ

Тема 5: Apache Kafka

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

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

Рассмотрим реализацию паттернов системного дизайна

Тема 1: Domain-Driven Design

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

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

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

Тема 5: Отказоустойчивость микросервисов

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

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

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

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

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

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

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


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


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

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

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

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

ГК Иннотех

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

5 лет в Otus
123 занятия
1930 студентов

Опыт работы в ИТ более 25 лет. Занимается разработкой финансовых решений с применением технологий распределенных реестров. Занимался проектированием, разработкой и внедрением различных решений (ERP системы, управление НСИ, интеграция, информационные порталы для туристов) в таких компаниях как ТНК-BP, КАМАЗ, Консультант+, ИнтерРАО, Национальная Платформа, Russpass. Прошел путь от разработчика на С++ и Java к управлению архитектурой и командами разработки и системного администрирования. Закончил Московский Государственный Университет Путей Сообщений (МИИТ) по специальности "Вычислительные машины, комплексы, системы и сети".

Преподает на курсах

  • Highload Architect
  • Golang Developer. Basic
  • Golang Developer. Professional
  • System Design
  • Микросервисы на Go

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

VK.com

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

2 года в Otus
49 занятий
849 студентов

Более 7 опыта в IT. Специализируюсь на разработке решений вокруг экосистемы Tarantool, обладаю глубокими знаниями как во фронтенде (React, Vue), так и в бэкенде (Golang, Node.js). - Разрабатывал и поддерживал три банковских приложения, финансовый маркетплейс и корпоративные порталы для автодилеров. - Имеею практический опыт в проектировании и реализации микросервисной архитектуры, интеграции с внешними сервисами и оптимизации высоконагруженных систем. - Имеею опыт наставничества и обучения новых сотрудников, умеею адаптировать сложные технические темы под уровень аудитории. - Уделяю особое внимание качеству кода, тестированию и безопасности приложений.

Преподает на курсах

  • JavaScript Developer. Professional
  • Golang Developer. Basic
  • HTML/CSS
  • Django-разработчик
  • React.js Developer
  • Node.js Developer
  • Vue.js разработчик
  • Микросервисы на Go

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

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

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

Взаимодействие микросервиса на Go и Elasticsearch
Александр Хохлов
Открытый урок онлайн-курса «Микросервисы на Go»

На открытом уроке рассмотрим:
- архитектуру микросервисов и особенности реализации на языке Go;
- базовые принципы работы с Elasticsearch;
- интеграцию микросервиса на Go с Elasticsearch;
- логирование событий в Elasticsearch;
- использование Elasticsearch как полнотекстового поискового сервиса;
- примеры настройки индексов и поисковых запросов.

После занятия вы будете знать:
- как разрабатывать и развёртывать микросервисы на Go;
- как использовать Elasticsearch для хранения и поиска логов;
- как реализовать систему поиска по данным, поступающим от микросервиса;
- как настраивать индексацию, фильтрацию и агрегацию данных в Elasticsearch;
- как мониторить и анализировать поведение микросервиса через логи и поисковые запросы.
...
17 июля в 17:00
Открытый вебинар
Для чего используются микросервисы на Go
Александр Литкевич
Открытый урок онлайн-курса «Микросервисы на Go»

На открытом уроке рассмотрим:
- отличия микросервисов от монолитных приложений;
- преимущества и недостатки микросервисов;
- почему именно Go для микросервисов;
- почему Go популярен для разработки микросервисов;
- основные компоненты микросервисов на Go;
- инструменты и фреймворки для разработки микросервисов на Go;
- кейсы использования.

После занятия вы будете знать:
- концепцию микросервисной архитектуры и её преимущества;
- причины популярности языка Go для разработки микросервисов;
- основныме компоненты и инструменты для создания микросервисов на Go;
- понимать, как организовать взаимодействие между микросервисами и использовать современные инструменты для деплоя и масштабирования.
...
28 июля в 17:00
Открытый вебинар

Корпоративное обучение для ваших сотрудников

OTUS помогает развивать высокотехнологичные команды. Почему нам удаётся это делать успешно:
  • Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
  • Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
  • OTUS проверяет знания студентов перед стартом обучения и после его завершения
  • Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
  • Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
  • OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год

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

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

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

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

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

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

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

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