Дизайн и эксплуатация систем в микросервисной архитектуре: различия между версиями
Irinaiv (обсуждение | вклад) Нет описания правки |
Irinaiv (обсуждение | вклад) Нет описания правки |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
Дизайн и эксплуатация систем в микросервисной архитектур - этот курс о том, как в современном мире создаются и эксплуатируются масштабные системы. | Дизайн и эксплуатация систем в микросервисной архитектур - этот курс о том, как в современном мире создаются и эксплуатируются масштабные системы. | ||
'''Вопросы которые будут обсуждаться в курсе:''' | |||
*Почему API нужно проектировать идемпотентным | |||
*Как строить транзакции между микросервисами | |||
*Как Kubernetes решает многие проблемы современной разработки | |||
*Зачем во многих современных базах данных разделяют слои обработки и хранения и при чем тут S3 | |||
*Как захостить вашего Telegram бота или другой небольшой проект бесплатно и где сервера в Serverless | |||
*Как строятся системы хранения, когда можно пожертвовать консистентностью ради скорости, и как это применяется для распределенного мониторинга | |||
*Через какие системы проходит запрос, когда вы ищете видео с котиками в Youtube | |||
*Чем внутренний SLO отличается от внешнего и что произойдет если нарушить SLA | |||
*В качестве групповых домашних заданий вы будете проектировать системы, чинить сломанные сервера и делать доклады о современных системах на основе статей. | |||
=Основная цель курса= | =Основная цель курса= | ||
Основная цель курса-овладение студентами навыками дизайна и эксплуатации систем в микросервисной архитектуре. | |||
В процессе курса студент должен научиться: | |||
'''В процессе курса студент должен научиться:''' | |||
*Проектировать системы с учетом заданных требований и ограничений | |||
*Выбирать подходящие базы данных для системы и другие облачные сервисы | |||
*Применять при необходимости шаблоны проектирования в микросервисной архитектуре | |||
*Проектировать API для взаимодействия с внешними системами | |||
*Эксплуатировать системы согласно принципам Site Reliability Engineering | |||
= Общие сведения = | = Общие сведения = | ||
* Форма контроля: | * Форма контроля: | ||
* Начало занятий: | * Начало занятий: | ||
* [https://forms.gle/ | * [https://forms.gle/z6xnMysDuFmvArKd6 Форма регистрации] | ||
* [https://t.me/+ | * [https://t.me/+dc4uruFEqdkxMGUy Телеграм-чат курса] | ||
= Команда курса = | = Команда курса = | ||
* | * Арслан Хабутдинов, руководитель курса, лекции, семинарист | ||
= План курса = | = План курса = | ||
'''Лекции:''' | |||
*Введение | |||
* | *Трехзвенная архитектура. Отличия монолитов от микросервисы | ||
* | Проектирование API API-first дизайн. Критерии качества API. План дизайна API. | ||
* | *Шаблоны проектирования микросервисной архитектуры | ||
* | Межсервисная коммуникация. Распределенный транзакции. Контроль доступа. | ||
* | *Хранение данных | ||
Основные виды хранилищ данных и сценарии их использования на примере сервиса хранения сниппетов кода. | |||
*Развертывание | |||
История развития методов развертывания приложений. Архитектура Kubernetes. Основные шаблоны использования Kubernetes. | |||
*Наблюдаемость | |||
* | Три столпа наблюдаемости: метрики/логи/трейсинг. Архитектура системы сбора метрик. | ||
* | *Облачные сервисы | ||
История появления облачных сервисов. Базовые инфраструктурные сервисы. Платформенные сервисы. | |||
* | *Serverless Эволюция среды исполнения кода. Основные сценарии использования Serverless. | ||
*Дополнительные элементы проектирования систем | |||
* | Балансировка нагрузки. Геопоиск. CDN. | ||
*Основы Site Reliability Engineering | |||
История появления Site Reliability Engineering. Error Budget. SLI/SLO/SLA. Инцидент-менеджмент. Дежурство. | |||
*Собеседования по дизайну систем | |||
План прохождения собеседований. Разбор типичной задачи. Критерии оценивания собеседований. | |||
Доклады студентов | |||
По современным технологиям, используемым в дизайне систем. | |||
= Важные ссылки = | = Важные ссылки = | ||
* [https:// | * [https://forms.gle/z6xnMysDuFmvArKd6 Регистрация на курс] | ||
* [https://t.me/+ | * [https://t.me/+dc4uruFEqdkxMGUy Чат курса] | ||
== Материалы == | == Материалы == | ||
* [https://www.youtube.com/ | * [https://www.youtube.com/playlist?list=PL3KJ6aFelSDL9kXYRlyGzzL-6ivTqxfF2 Записи лекций YouTube]. | ||
* [https:// | * [https://forms.gle/Q5zx9G519A7xR2eZ9 Фидбек] | ||
* | * [https://drive.google.com/drive/folders/1xsh5iRiW22_P1SwotXgAO76Wz6bAK_QP?usp=sharing Презентация курса] | ||
= Критерии получения оценки = | = Критерии получения оценки = | ||
* 3 балла - Дизайн док-системы; | |||
* 3 балла - Задания по драблшутингу; | |||
*3 балла - | * 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/ | ||
Текущая версия от 11:06, 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/