Текст площадки «Складчик». Упомянутые цены и обещанные результаты могут быть неактуальны; условия покупки проверяйте у продавца.
Общий курс по проектированию облачных приложений с практическими занятиями. Помимо знакомства с базовыми принципами построения систем в облаке, мы рассмотрим основные строительные блоки, предлагаемые поставщиками IaaS/PaaS/SaaS-решений, способы и особенности их применения. На практике построим виртуальную сеть, сформир
Читать полное описание
Архитектура облачных приложений
Общий курс по проектированию облачных приложений с практическими занятиями. Помимо знакомства с базовыми принципами построения систем в облаке, мы рассмотрим основные строительные блоки, предлагаемые поставщиками IaaS/PaaS/SaaS-решений, способы и особенности их применения. На практике построим виртуальную сеть, сформируем структуру приложения и адресуем атрибуты качества.
Этот курс – стартовая точка в изучении проектирования облачных систем. Главная цель – познакомить слушателя с особенностями и вызовами «облак», а также показать, как применять основной облачный инструментарий. Это всё – и в теории, и подкрепленное практикой проектирования приложения в командах.
После вводной лекции о том, «где найти облако» и какие виды их бывают, и краткого обзора главных технологий в основе облачных вычислений, мы перейдем к проектированию систем.
Планирование точек присутствия, организация входящего и исходящего трафика, доставка контента – эти темы модуля про построение виртуальных облачных сетей и обслуживание пользователей. Далее – изучим как разворачиваются функциональные элементы: варианты серверные и беcсерверные. Рассмотрим, варианты работы с постоянными данными, и какие СУБД применимы в каком случае. Завершим знакомство со строительными блоками решением задач интеграции.
Масштабируемость, производительность, безопасность и отказоустойчивость – изучим и применим основные тактики достижения этих системных качеств.
Цели
После успешного прохождения обучения участники:
Поймут, что такое облачные вычисления, их экономику и технические особенности.
Научатся планировать общую структуру облачных приложений (сеть, вычислительные мощности и хранилища), балансируя стоимость и скорость внедрения.
Смогут строить надежные, эластичные, масштабируемые системы. Идентифицировать потенциальные узкие места и точки сбоев.
Подготовятся к специализированным и смежным темам (высоконагруженные системы, big data, распределенные БД).
1. Основы облачных вычислений
Что такое «облако» и где оно?
Виды «облаков».
Технологии в основе облачных вычислений.
Новые модели услуг: IaaS, PaaS, SaaS.
Облачная экономика.
2. Принципы проектирования облачных приложений
Минимальное облачное приложение.
Строительные блоки облачных приложений.
Виды «кирпичиков»: вычисления, хранилище, сетевая инфраструктура, управляемые сервисы.
Cloud-native приложения.
Multitenancy.
Вызовы при проектировании: коммуникации, масштабирование, работа с состоянием.
3. Проектирование границ приложения
Типы трафика, виртуальные сети.
Маршрутизация с виртуальными приватными сетями и без них.
Регионы и зоны присутствия.
Обработка внешних запросов: динамический и статический контент.
Обработка запросов внутренних клиентов.
Модели оплаты трафика. Структура биллинга.
4. Проектирование вычислений
«Классические» сервера, «эластичные» сервера, среды исполнения приложений, контейнеризация, serverless вычисления.
Основные шаблоны: масштабируемый монолит, композитное приложение.
5. Проектирование постоянных данных
Базовые возможности хранения: блоковое, объектное и файловое хранилища.
Ключевые факторы оценки способов хранения данных: модель представления, согласованность, отказоустойчивость и доступность, нагрузка.
Доступные опции БД: реляционные, ключ-значение, документные, семейства колонок, другие.
Опции хранилищ.
6. Решение задач координации и интеграции
Вызовы удаленного взаимодействия.
Синхронная и асинхронная коммуникация.
Брокеры, очереди, Kafka, API-шлюзы и Service Mesh.
7. Автоматизация
Кратко о возможностях для автоматизации при разработке и эксплуатации.
Выбор метрик.
8. Адресуем системные качества
Производительность сетей, локализация трафика.
Безопасность, отказоустойчивость.
Предотвращение каскадных сбоев.
9. Некоторые архитектурные методы проектирования облачных приложений
The Twelve-Factors App, Well-Architected Framework.