Дизайн и эксплуатация систем в микросервисной архитектуре: различия между версиями
Irinaiv (обсуждение | вклад) Нет описания правки |
Irinaiv (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
Дизайн и эксплуатация систем в микросервисной архитектур - этот курс о том, как в современном мире создаются и эксплуатируются масштабные системы. | Дизайн и эксплуатация систем в микросервисной архитектур - этот курс о том, как в современном мире создаются и эксплуатируются масштабные системы. | ||
*Вопросы которые будут обсуждаться в курсе: | *Вопросы которые будут обсуждаться в курсе: | ||
•Почему API нужно проектировать идемпотентным | *•Почему API нужно проектировать идемпотентным | ||
•Как строить транзакции между микросервисами | *•Как строить транзакции между микросервисами | ||
•Как Kubernetes решает многие проблемы современной разработки | *•Как Kubernetes решает многие проблемы современной разработки | ||
•Зачем во многих современных базах данных разделяют слои обработки и хранения и при чем тут S3 | *•Зачем во многих современных базах данных разделяют слои обработки и хранения и при чем тут S3 | ||
•Как захостить вашего Telegram бота или другой небольшой проект бесплатно и где сервера в Serverless | *•Как захостить вашего Telegram бота или другой небольшой проект бесплатно и где сервера в Serverless | ||
•Как строятся системы хранения, когда можно пожертвовать консистентностью ради скорости, и как это применяется для распределенного мониторинга | *•Как строятся системы хранения, когда можно пожертвовать консистентностью ради скорости, и как это применяется для распределенного мониторинга | ||
•Через какие системы проходит запрос, когда вы ищете видео с котиками в Youtube | *•Через какие системы проходит запрос, когда вы ищете видео с котиками в Youtube | ||
•Чем внутренний SLO отличается от внешнего и что произойдет если нарушить SLA | *•Чем внутренний SLO отличается от внешнего и что произойдет если нарушить SLA | ||
*В качестве групповых домашних заданий вы будете проектировать системы, чинить сломанные сервера и делать доклады о современных системах на основе статей. | *В качестве групповых домашних заданий вы будете проектировать системы, чинить сломанные сервера и делать доклады о современных системах на основе статей. | ||
| Строка 14: | Строка 14: | ||
=Основная цель курса= | =Основная цель курса= | ||
Овладение студентами навыками дизайна и эксплуатации систем в микросервисной архитектуре | Овладение студентами навыками дизайна и эксплуатации систем в микросервисной архитектуре | ||
В процессе курса студент должен научиться: | *В процессе курса студент должен научиться: | ||
•Проектировать системы с учетом заданных требований и ограничений | *•Проектировать системы с учетом заданных требований и ограничений | ||
•Выбирать подходящие базы данных для системы и другие облачные сервисы | *•Выбирать подходящие базы данных для системы и другие облачные сервисы | ||
•Применять при необходимости шаблоны проектирования в микросервисной архитектуре | *•Применять при необходимости шаблоны проектирования в микросервисной архитектуре | ||
•Проектировать API для взаимодействия с внешними системами | *•Проектировать API для взаимодействия с внешними системами | ||
•Эксплуатировать системы согласно принципам Site Reliability Engineering | *•Эксплуатировать системы согласно принципам Site Reliability Engineering | ||
= Общие сведения = | = Общие сведения = | ||
| Строка 32: | Строка 32: | ||
= План курса = | = План курса = | ||
Лекции: | *Лекции: | ||
•Введение | *•Введение | ||
•Трехзвенная архитектура. Отличия монолитов от микросервисы | *•Трехзвенная архитектура. Отличия монолитов от микросервисы | ||
Проектирование API API-first дизайн. Критерии качества API. План дизайна API. | Проектирование API API-first дизайн. Критерии качества API. План дизайна API. | ||
•Шаблоны проектирования микросервисной архитектуры | *•Шаблоны проектирования микросервисной архитектуры | ||
Межсервисная коммуникация. Распределенный транзакции. Контроль доступа. | Межсервисная коммуникация. Распределенный транзакции. Контроль доступа. | ||
•Хранение данных | *•Хранение данных | ||
Основные виды хранилищ данных и сценарии их использования на примере сервиса хранения сниппетов кода. | Основные виды хранилищ данных и сценарии их использования на примере сервиса хранения сниппетов кода. | ||
•Развертывание | *•Развертывание | ||
История развития методов развертывания приложений. Архитектура Kubernetes. Основные шаблоны использования Kubernetes. | История развития методов развертывания приложений. Архитектура Kubernetes. Основные шаблоны использования Kubernetes. | ||
•Наблюдаемость | *•Наблюдаемость | ||
Три столпа наблюдаемости: метрики/логи/трейсинг. Архитектура системы сбора метрик. | Три столпа наблюдаемости: метрики/логи/трейсинг. Архитектура системы сбора метрик. | ||
•Облачные сервисы | *•Облачные сервисы | ||
История появления облачных сервисов. Базовые инфраструктурные сервисы. Платформенные сервисы. | История появления облачных сервисов. Базовые инфраструктурные сервисы. Платформенные сервисы. | ||
•Serverless Эволюция среды исполнения кода. Основные сценарии использования Serverless. | *•Serverless Эволюция среды исполнения кода. Основные сценарии использования Serverless. | ||
•Дополнительные элементы проектирования систем | *•Дополнительные элементы проектирования систем | ||
Балансировка нагрузки. Геопоиск. CDN. | Балансировка нагрузки. Геопоиск. CDN. | ||
•Основы Site Reliability Engineering | *•Основы Site Reliability Engineering | ||
История появления Site Reliability Engineering. Error Budget. SLI/SLO/SLA. Инцидент-менеджмент. Дежурство. | История появления Site Reliability Engineering. Error Budget. SLI/SLO/SLA. Инцидент-менеджмент. Дежурство. | ||
•Собеседования по дизайну систем | *•Собеседования по дизайну систем | ||
План прохождения собеседований. Разбор типичной задачи. Критерии оценивания собеседований. | План прохождения собеседований. Разбор типичной задачи. Критерии оценивания собеседований. | ||
Доклады студентов | Доклады студентов | ||
| Строка 67: | Строка 67: | ||
= Критерии получения оценки = | = Критерии получения оценки = | ||
*3 балла - Дизайн док-системы; | * 3 балла - Дизайн док-системы; | ||
*3 балла - Задания по драблшутингу; | * 3 балла - Задания по драблшутингу; | ||
*3 баллов - Доклады; | * 3 баллов - Доклады; | ||
*3 балла - Активность на парах и в чате. | *3 балла - Активность на парах и в чате. | ||
=Домашние задания = | =Домашние задания = | ||
•Документ с дизайном системы | *•Документ с дизайном системы | ||
Проверяет навыки проектирования систем | Проверяет навыки проектирования систем | ||
•Задания по Troubleshooting | *•Задания по Troubleshooting | ||
Проверяет навыки эксплуатации систем | Проверяет навыки эксплуатации систем | ||
•Доклад | *•Доклад | ||
Проверяет навык разобраться в новой технологии и рассказать другим, для чего она может быть полезна | Проверяет навык разобраться в новой технологии и рассказать другим, для чего она может быть полезна | ||
=Литература= | =Литература= | ||
https://twirl.github.io/The-API-Book/index.html | * https://twirl.github.io/The-API-Book/index.html | ||
https://www.amazon.com/gp/product/1617294543 | * https://www.amazon.com/gp/product/1617294543 | ||
https://www.amazon.co.uk/Kubernetes-Patterns-Reusable-Designing-Applications/dp/1492050288 | * https://www.amazon.co.uk/Kubernetes-Patterns-Reusable-Designing-Applications/dp/1492050288 | ||
https://sre.google/sre-book/table-of-contents/ | * https://sre.google/sre-book/table-of-contents/ | ||
https://www.amazon.com/System-Design-Interview-Insiders-Guide-ebook/dp/B0CR977BQH/ | * https://www.amazon.com/System-Design-Interview-Insiders-Guide-ebook/dp/B0CR977BQH/ | ||
Версия от 10:58, 17 сентября 2024
Дизайн и эксплуатация систем в микросервисной архитектур - этот курс о том, как в современном мире создаются и эксплуатируются масштабные системы.
- Вопросы которые будут обсуждаться в курсе:
- •Почему API нужно проектировать идемпотентным
- •Как строить транзакции между микросервисами
- •Как Kubernetes решает многие проблемы современной разработки
- •Зачем во многих современных базах данных разделяют слои обработки и хранения и при чем тут S3
- •Как захостить вашего Telegram бота или другой небольшой проект бесплатно и где сервера в Serverless
- •Как строятся системы хранения, когда можно пожертвовать консистентностью ради скорости, и как это применяется для распределенного мониторинга
- •Через какие системы проходит запрос, когда вы ищете видео с котиками в Youtube
- •Чем внутренний SLO отличается от внешнего и что произойдет если нарушить SLA
- В качестве групповых домашних заданий вы будете проектировать системы, чинить сломанные сервера и делать доклады о современных системах на основе статей.
Основная цель курса
Овладение студентами навыками дизайна и эксплуатации систем в микросервисной архитектуре
- В процессе курса студент должен научиться:
- •Проектировать системы с учетом заданных требований и ограничений
- •Выбирать подходящие базы данных для системы и другие облачные сервисы
- •Применять при необходимости шаблоны проектирования в микросервисной архитектуре
- •Проектировать API для взаимодействия с внешними системами
- •Эксплуатировать системы согласно принципам Site Reliability Engineering
Общие сведения
- Форма контроля:
- Начало занятий:
- Форма регистрации
- Телеграм-чат курса
Команда курса
- Арслан Хабутдинов, руководитель курса, лекции, семинарист
План курса
- Лекции:
- •Введение
- •Трехзвенная архитектура. Отличия монолитов от микросервисы
Проектирование API API-first дизайн. Критерии качества API. План дизайна API.
- •Шаблоны проектирования микросервисной архитектуры
Межсервисная коммуникация. Распределенный транзакции. Контроль доступа.
- •Хранение данных
Основные виды хранилищ данных и сценарии их использования на примере сервиса хранения сниппетов кода.
- •Развертывание
История развития методов развертывания приложений. Архитектура Kubernetes. Основные шаблоны использования Kubernetes.
- •Наблюдаемость
Три столпа наблюдаемости: метрики/логи/трейсинг. Архитектура системы сбора метрик.
- •Облачные сервисы
История появления облачных сервисов. Базовые инфраструктурные сервисы. Платформенные сервисы.
- •Serverless Эволюция среды исполнения кода. Основные сценарии использования Serverless.
- •Дополнительные элементы проектирования систем
Балансировка нагрузки. Геопоиск. CDN.
- •Основы Site Reliability Engineering
История появления Site Reliability Engineering. Error Budget. SLI/SLO/SLA. Инцидент-менеджмент. Дежурство.
- •Собеседования по дизайну систем
План прохождения собеседований. Разбор типичной задачи. Критерии оценивания собеседований. Доклады студентов По современным технологиям, используемым в дизайне систем.
Важные ссылки
Материалы
Критерии получения оценки
- 3 балла - Дизайн док-системы;
- 3 балла - Задания по драблшутингу;
- 3 баллов - Доклады;
- 3 балла - Активность на парах и в чате.
Домашние задания
- •Документ с дизайном системы
Проверяет навыки проектирования систем
- •Задания по Troubleshooting
Проверяет навыки эксплуатации систем
- •Доклад
Проверяет навык разобраться в новой технологии и рассказать другим, для чего она может быть полезна
Литература
- https://twirl.github.io/The-API-Book/index.html
- https://www.amazon.com/gp/product/1617294543
- https://www.amazon.co.uk/Kubernetes-Patterns-Reusable-Designing-Applications/dp/1492050288
- https://sre.google/sre-book/table-of-contents/
- https://www.amazon.com/System-Design-Interview-Insiders-Guide-ebook/dp/B0CR977BQH/