[OTUS] Microservice Architecture [1/5]
Для кого этот курс
Программа создана специально для back-end разработчиков, Team Lead и администраторов, готовых освоить Best Practice по разработке архитектуры программного обеспечения и сложных распределенных и отказоустойчивых систем.
Сегодня профессиональные навыки разработки архитектуры программного обеспечения являются одной из главных компетенций специалистов по созданию масштабируемых и отказоустойчивых приложений.
Необходимые знания
Знание и опыт работы в одном из следующих стеков: Java (spring / Java EE), Node.js, C# (.net), python (django), Golang, PHP
Для кого этот курс
Программа создана специально для back-end разработчиков, Team Lead и администраторов, готовых освоить Best Practice по разработке архитектуры программного обеспечения и сложных распределенных и отказоустойчивых систем.
Сегодня профессиональные навыки разработки архитектуры программного обеспечения являются одной из главных компетенций специалистов по созданию масштабируемых и отказоустойчивых приложений.
Необходимые знания
Знание и опыт работы в одном из следующих стеков: Java (spring / Java EE), Node.js, C# (.net), python (django), Golang, PHP
Программа
Инфраструктурные паттерны
В этом модуле вы рассмотрите: - плюсы и минусы микросервисной архитектуры - основы работы с Docker - основы работы с Kubernetes - авторизацию и аутентификацию в микросервисной архитектуре и т.д.
Тема 1: Плюсы и минусы микросервисной архитектуры
Тема 2: Основы работы с Docker // ДЗ
Тема 3: Инфраструктурные паттерны #1
Тема 4: Инфраструктурные паттерны #2
Тема 5: Архитектура Kubernetes
Тема 6: Базовые сущности Кubernetes: Pod, ReplicaSet, Deployment // ДЗ
Тема 7: Базовые сущности Кubernetes: Service, Ingress // ДЗ
Тема 8: Базовые сущности Kubernetes: Job, Persistent Volume, Persistent Volume Claim
Тема 9: Kubernetes Q&A
Тема 10: Мониторинг и алертинг
Тема 11: Prometheus. Grafana // ДЗ
Тема 12: Системы логирования (ELK, EFK, Graylog2)
Тема 13: Service mesh на примере Istio // ДЗ
Тема 14: Авторизация и аутентификация в микросервисной архитектуре
Тема 15: Backend for frontends. Apigateway // ДЗ
Тема 16: Q&A. Вопросы по ДЗ
Коммуникационные паттерны
В этом модуле вы рассмотрите асинхронный и синхронный API, основы Event Driven Architecture. На примере Kafka рассмотрите распределенные очереди сообщений. Рассмотрите паттерн Transactional Log и инструменты Change Data Capture. Проведете тестирование микросервисов.
Тема 1: Асинхронный и синхронный API
Тема 2: Event Driven Architecture
Тема 3: Распределенные очереди сообщений на примере Kafka
Тема 4: GraphQL. gRPC
Тема 5: RESTful
Тема 6: Идемпотентость и коммутативность API в HTTP и очередях // ДЗ
Тема 7: Тестирование микросервисов (часть 1)
Тема 8: Тестирование микросервисов (часть 2)
Тема 9: Q&A. Вопросы по ДЗ
Распределительные системы
В этом модуле вы рассмотрите основы DDD и применение к ООП. Научитесь декомпозировать на сервисы.
Тема 1: DDD и модульные монолиты (часть 1)
Тема 2: DDD и модульные монолиты (часть 2)
Тема 3: Паттерны декомпозиции микросервисов // ДЗ
Тема 4: От монолита к микросервису
Тема 5: Консультация по проектам и домашним заданиям
Децентрализованные системы
В этом модуле вы рассмотрите распределенные системы, основные паттерны кэширования. Научитесь решать типичные проблемы, связанные с кэшированием и выбирать инструмент кэширования под задачу. Рассмотрите виды шаринга и проанализируете стратегии шардирования. Обсудите пример реализации своей CP системы и AP системы.
Тема 1: Введение в распределенные системы
Тема 2: Распределенные транзакции // ДЗ
Тема 3: Паттерны кэширования и основные принципы
Тема 4: Шардирование
Тема 5: CP cистемы
Тема 6: AP системы
Тема 7: Паттерны поддержания консистентности данных (Stream processing) // ДЗ
Тема 8: Q&A. Вопросы по ДЗ
Итоговый проект
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Консультация по проектам и домашним заданиям
Тема 2: Защита проектных работ
Инфраструктурные паттерны
В этом модуле вы рассмотрите: - плюсы и минусы микросервисной архитектуры - основы работы с Docker - основы работы с Kubernetes - авторизацию и аутентификацию в микросервисной архитектуре и т.д.
Тема 1: Плюсы и минусы микросервисной архитектуры
Тема 2: Основы работы с Docker // ДЗ
Тема 3: Инфраструктурные паттерны #1
Тема 4: Инфраструктурные паттерны #2
Тема 5: Архитектура Kubernetes
Тема 6: Базовые сущности Кubernetes: Pod, ReplicaSet, Deployment // ДЗ
Тема 7: Базовые сущности Кubernetes: Service, Ingress // ДЗ
Тема 8: Базовые сущности Kubernetes: Job, Persistent Volume, Persistent Volume Claim
Тема 9: Kubernetes Q&A
Тема 10: Мониторинг и алертинг
Тема 11: Prometheus. Grafana // ДЗ
Тема 12: Системы логирования (ELK, EFK, Graylog2)
Тема 13: Service mesh на примере Istio // ДЗ
Тема 14: Авторизация и аутентификация в микросервисной архитектуре
Тема 15: Backend for frontends. Apigateway // ДЗ
Тема 16: Q&A. Вопросы по ДЗ
Коммуникационные паттерны
В этом модуле вы рассмотрите асинхронный и синхронный API, основы Event Driven Architecture. На примере Kafka рассмотрите распределенные очереди сообщений. Рассмотрите паттерн Transactional Log и инструменты Change Data Capture. Проведете тестирование микросервисов.
Тема 1: Асинхронный и синхронный API
Тема 2: Event Driven Architecture
Тема 3: Распределенные очереди сообщений на примере Kafka
Тема 4: GraphQL. gRPC
Тема 5: RESTful
Тема 6: Идемпотентость и коммутативность API в HTTP и очередях // ДЗ
Тема 7: Тестирование микросервисов (часть 1)
Тема 8: Тестирование микросервисов (часть 2)
Тема 9: Q&A. Вопросы по ДЗ
Распределительные системы
В этом модуле вы рассмотрите основы DDD и применение к ООП. Научитесь декомпозировать на сервисы.
Тема 1: DDD и модульные монолиты (часть 1)
Тема 2: DDD и модульные монолиты (часть 2)
Тема 3: Паттерны декомпозиции микросервисов // ДЗ
Тема 4: От монолита к микросервису
Тема 5: Консультация по проектам и домашним заданиям
Децентрализованные системы
В этом модуле вы рассмотрите распределенные системы, основные паттерны кэширования. Научитесь решать типичные проблемы, связанные с кэшированием и выбирать инструмент кэширования под задачу. Рассмотрите виды шаринга и проанализируете стратегии шардирования. Обсудите пример реализации своей CP системы и AP системы.
Тема 1: Введение в распределенные системы
Тема 2: Распределенные транзакции // ДЗ
Тема 3: Паттерны кэширования и основные принципы
Тема 4: Шардирование
Тема 5: CP cистемы
Тема 6: AP системы
Тема 7: Паттерны поддержания консистентности данных (Stream processing) // ДЗ
Тема 8: Q&A. Вопросы по ДЗ
Итоговый проект
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Консультация по проектам и домашним заданиям
Тема 2: Защита проектных работ
https://otus.ru/lessons/microservice-architecture/