Для Middle-разработчиков 3+ лет.
Язык программирования не имеет значения.
Вы освоите концепцию микросервисной архитектуры и структурируете знания о ней.
Не умеет развивать микросервисную архитектуру из десятков сервисов
Не понимает, как внедрять и развивать микросервисы в проекте
Не имеет опыта работы над процессом перехода с монолитной архитектуры на микросервисную
[ Курс для тех, кто: ]
Не знает, как поддерживать микросервисную архитектуру
05.
[ Что будет на курсе ]
Познакомитесь с Domain-Driven-Design и подходами к проектированию и выделению микросервисов
Рассмотрите инфраструктуру вокруг микросервисов, API Management, CI/CD
На практике научитесь проектировать микросервисную архитектуру, выстраивать коммуникации между микросервисами и работать с консистентностью данных
Получите представление о том, как поддерживать, оптимизировать и обеспечивать безопасность микросервисной архитектуры
Познакомитесь с продвинутыми техниками и шаблонами, которые применяются в микросервисной архитектуре
Узнаете об особенностях микросервисов на разных этапах жизни компании
Разработчик с 2003 года, занимается обучением с 2008, обучением сеньоров и архитекторов с 2018. Делился экспертизой на более чем 100 митапах и конференциях.
Павел стоит у основания различных сообществ IT специалистов, включая: ByChange, Free IT. Выполнял роли разработчика, тимлида, архитектора, СТО в небольших стартапах, крупных корпорациях и продуктовых компаниях:
Специализации: архитектура распределенных систем, highload, микросервисные архитектуры, системная инженерия, рост инженера, коммуникации в организации.
Architect: Miro, EPAM
CTO: AmadoAd Ltd., SplitMetrics, Leverice
Tech Advisor: LeoHome Inc.
Founder: Hard&Soft Skills, ITStart, Amadoad Ltd.
Выстраивал архитектуру для крупнейших мировых корпораций в рамках EPAM
Обучил более 1K разработчиков за последние 15 лет. Обучил более 100 архитекторов. Создает и проводит обучающие курсы для любых технических направлений.
Founding Teacher at Hard & Soft Skills
Павел Вейник
[ Автор и преподаватель курса ]
В разработчике все должно быть прекрасно - и тело, и душа, и мысли, и код
—Павел Вейник, Founder Hard&Soft Skills
Запишитесь на консультацию с ex-Architect Miro и EPAM и преподавателем курса Павлом Вейником
[ Что вы получите после курса? ]
Освоите концепцию микросервисной архитектуры и структурируете знания о ней
01
Сможете выделять микросервисы из монолита на основе понимания предметной области
Когда использовать микросервисы: best practices и анти-паттерны
Микросервисы и cloud
Микросервисы на разных этапах развития бизнеса
Сервис
Консистентность данных
Проектирование микросервисов, bounded context
Асинхронные и синхронные коммуникации
Достоинства и недостатки
Часто используемые технологии
REST
GraphQL
Шина сообщений
Kafka
RabbitMQ
Масштабирование микросервисов
Уровень API, контракты и их версионность
Входит 3 урока
Шаблоны разбиения на сервисы
DDD
Strangler FigREST
Branch By Abstraction
Parallel run
Decorating Collaborator
Change Data Captur
Шаблоны интеграции и Event-Driven шаблоны
Event-driven микросервис
Хореография
Оркестрация
Гибридный подход
Данные и консистентность
Одна БД на сервис
Общая БД для нескольких микросервисов
Eventual consistency
Миграция данных
Шаблоны поддержания консистентности
Event sourcing
CQRS
Шаблоны устойчивости
Retry
Circuit Breaker
Bulkhead
Timeout
Fallback
Service discovery
Client-side
Server-side
Принимаем архитектурные решения
Критерии и метрики для решений
Компромиссы при проектировании
API Gateway
Развертывание и масштабирование
Docker
Kubernetes
Ansible
Service mesh
Надежность
Мониторинг
Безопасность
API management
Разработка и публикация API
Документация API
Life cycle management
Платформы для управления API - Виды API management платформ - Microsoft Azure API Management - Axway Amplify API Management - SwaggerHub - MuleSoft Anypoint Platform - IBM API Connect
CI/CD
Основные понятия - Необходимость continuous delivery
Rolling updates, blue-green deployment, canary release, feature flags
Организация - Команд - Репозитория с кодом
Особенности CI/CD процессов для микросервисов
Оптимизация производительности
Latency, RPS
Нарушение общепринятых
подходов для оптимизаций
Гибридные архитектуры
Иерархические
Сервисно-ориентированные
Layered microservices
Шаблон command and command-reply
Dead Letter Queue
Документирование микросервисов
Стратегии тестирования
Функциональное
Load
Resiliency
Контейнеризация
Отказоустойчивость
Observability
Возможные проблемы с latency
Логирование и tracing
Безопасность
Шаблоны
Агрегирование логов
Агрегирование метрик
Tracing
Вынесение конфигурации из сервиса
В рамках этого раздела участники курса презентуют свои проекты, постановки которых были сформулированы во время первых занятий.
Block 1
Бизнес, организация и микросервисы
Программа блока:
Орг информация
Гибкость бизнеса и сервисов
Независимость сервисов и команд, управление контрактами
Понимание бизнеса командами
Управление стандартами и практиками
Коммуникации в проекте
Управление инфраструктурой
Микросервисы и целостность данных
Длительность: 4 занятия Стоимость: 400$
Block 2
Разбиваем монолит на микросервисы
Программа блока:
Орг информация
Зачем разбивать монолит?
Подходы
Отрезаем по небольшому кусочку
Переписываем с нуля
Разделяем, сохраняя внутреннюю структуру (распределенный монолит)
изменение в структуре команды
внедрение контрактов и их версионности
внедрение CI процесса
масштабирование
Длительность: 5 занятий Стоимость: 400$
Block 3
Микросервисы в стартапе
Программа блока:
Орг информация
TTM и цикл разработки
Управление контрактами
Интеграционное тестирование
Масштабирование
Технический долг
Длительность: уточняется Стоимость: уточняется
Block 4
Микросервисы для корпорации
Программа блока:
оргструктура и коммуникации
управление процессами, стандартами и подходами
управление контрактами и версионностью
управление инфраструктурой
интеграционное тестирование и окружения
Длительность: уточняется Стоимость: уточняется
[ Зарегистрироваться на курс ]
Стоимость курса 1300$ (Оплата в белорусских рублях по курсу доллара США на дату платежа)
Присоединяясь к настоящему Соглашению и оставляя свои данные на Сайте Hard&Soft Skills, путем заполнения полей онлайн-заявки (оформления заказа) Пользователь:
– подтверждает, что указанные им персональные данные принадлежат лично ему; признает и подтверждает, что он внимательно и в полном объеме ознакомился с настоящим Соглашением и содержащимися в нем условиями обработки его персональных данных, указываемых им в полях онлайн заявки (регистрации) на Сайте; – признает и подтверждает, что все положения настоящего Соглашения и условия обработки его персональных данных ему понятны; – дает согласие на обработку Сайтом предоставляемых персональных данных в целях регистрации Пользователя на Сайте; – выражает согласие с условиями обработки персональных данных без каких-либо оговорок и ограничений.
Пользователь дает свое согласие на обработку его персональных данных, а именно совершение действий, предусмотренных законом «О персональных данных» Республики Беларусь, и подтверждает, что, давая такое согласие, он действует свободно, своей волей и в своем интересе. Согласие Пользователя на обработку персональных данных является конкретным, информированным и сознательным.
Настоящее согласие Пользователя применяется в отношении обработки следующих персональных данных: – фамилия, имя, отчество; – номера телефонов; – адресах электронной почты (E-mail); – данные о профессиональных навыках.
Пользователь предоставляет сервису https://hardsoftskills.by право осуществлять следующие действия (операции) с персональными данными:
– сбор, накопление и хранение данных; – уточнение (обновление, изменение); – использование в целях регистрации Пользователя на Сайте; – удаление.
Указанное согласие действует бессрочно с момента предоставления данных и может быть отозвано Вами путем обращения через «Форму обратной связи» или по e-mail info@hardsoftskills.by .
Сайт имеет право вносить изменения в настоящее Соглашение. При внесении изменений будет указываться дата последнего обновления. Последнее обновление: 16/01/2023
Занятия проходят 2 раза в неделю, дни недели и время все участники группы выбирают методом голосования.
Курс длится 2 месяца, занятия продолжительностью 1.5-2 часа проходят 2 раза в неделю. Формат встреч: онлайн в Zoom