Msdevcon.ru#msdevcon. Разработка отказоустойчивой облачной архитектуры Антон Видищев.

Презентация:



Advertisements
Похожие презентации
Msdevcon.ru#msdevcon. ВЗГЛЯД РАЗРАБОТЧИКА: WINDOWS AZURE IAAS Воркачёв Владимир.
Advertisements

Матемтааки ЕТ СТ 2 класс Шипилова Наталия Викторовна учитель начальных классов, ВКК Шипилова Наталия Викторовна учитель начальных классов, ВКК.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Тренажёр Сложение и вычитание чисел в пределах 100.
Директор по развитию СКОЛЬКО СТОИТ САЙТ ПОСТРОИТЬ? Алексей Довжиков.
1 ©2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice СТРАТЕГИЯ ПОСТРОЕНИЯ СОВРЕМЕННОЙ.
Модели и принципы построения прототипа системы электронной библиотеки вуза © Д.С. Зуев Казанский государственный университет Специальность
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
код С 80 А 100 П 72 К 23 У 15 Б 46 О 86 А 19.
МАТЕМТААКИ Буквенные выражения. Уравнения. Шипилова Н.В.- учитель начальных классов МБОУ БГО СОШ 12 ЕТ СТ 2 класс.
ЦИФРЫ ОДИН 11 ДВА 2 ТРИ 3 ЧЕТЫРЕ 4 ПЯТЬ 5 ШЕСТЬ 6.
Масштаб 1 : Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Лекция 1 Раздел 1 Windows Phone Темы раздела 3 Windows Phone Устройство на платформе Windows Phone 4.
1 Тестирование производительности веб–приложений: Как перестать беспокоиться и начать делать ЭТО Тимур Хайруллин Организатор.
Презентацию подготовил: Круглый Юрий Михайлович Облако в консервном банке Наш вклад в непрерывность вашего бизнеса.
Электронный мониторинг Национальной образовательной инициативы «Наша новая школа» Петряева Е.Ю., руководитель службы мониторинга.
Масштаб 1 : Приложение 1 к решению Совета депутатов города Новосибирска от
Деление с остатком 36 : 15 = 2 (ост. ? ) 53 : 12 = ? (ост. 5)
20 Всего заданий Введите фамилию и имя Внетабличное умножение и деление умножение и деление Начать тестирование Мартиросова С.Н МОУ средняя общеобразовательная.
1 Что нам стоит сайт построить? Подходы к разработке интернет- проекта Алексей Довжиков – директор по развитию тел: +7 (812) (495)
Транксрипт:

msdevcon.ru#msdevcon

Разработка отказоустойчивой облачной архитектуры Антон Видищев

Руководитель команды, Edgar Online, RR Donnelley Company Windows Azure MVP

Почему архитектура должна отличаться?

Многие из существующих подходов и паттернов не решают задачу отказоустойчивости и масштабируемости Отрасль высоконагруженных приложений молода, и общепринятые подходы еще не выработаны

Дизайн под рабочие нагрузки Design for Workload

Сценарий: Интернет-магазин

Основные типы нагрузки Просмотр товаров и поиск - Browse & Search Оплата и управление - Checkout & Management

Модель жизненного цикла В годовом разрере

Модель жизненного цикла В недельном разрере

Модель доступности и SLA

The 9s - Девятки Доступность %Отказ в годОтказ в месяцОтказ в неделю 90% («одна девятка»)36.5 дней72 часов16.8 часов 95%18.25 дней36 часов8.4 часов 97%10.96 дней21.6 часов5.04 часов 98%7.30 дней14.4 часов3.36 часов 99% («две девятки»)3.65 дней7.20 часов1.68 часов 99.5%1.83 дней3.60 часов50.4 минут 99.8%17.52 часов86.23 минут20.16 минут 99.9% («три девятки»)8.76 часов43.2 минут10.1 минут 99.95%4.38 часов21.56 минут5.04 минут 99.99% («четыре девятки»)52.56 минут4.32 минут1.01 минут % («пять девяток")5.26 минут25.9 секунд6.05 секунд

Как посчитать свой SLA?

Связи с внешними сервисами Каков тип сервиса (party, commercial/public) Есть ли ограничения по количеству API-вызовов? Есть ли ограничения по частоте API-вызовов? Есть ли черные/белые списки? Каков SLA? Есть ли публичная ифнормация о качестве соблюдения SLA? Предоставляет ли сервис данные о своем здоровье? Предоставляет ли сервис данные напрямую или аггрегирует данные? Есть ли аналогичные сервисы?

Определяем точки отказа приложения Соединения с хранилищем данных Подключения к веб-сервису Конфигурационные файлы Внутренние взаимодействия Аутентификация

Автономность

Автономные модули приложения Имеют высокую доступность Имеют низкий риск полного отказа Легко масштабируются репликацией Предоставляют данные о собственном здоровье Редко требуют ручного вмешательства

Обработка отказов приложения

Обрабатываем отказы Асинхронность по умолчанию Тайм-ауты Обеспечиваем «мягкую» деградацию

Подходы к обработке отказов Логика повторений (Retry logic) Постепенное замедление (Exponential Back-Off) Идемпотентность Компенсирующее поведение Очереди!!!

Шаблон «Предохранитель» Circuit Breaker pattern

Предохранитель в Netflix Анализирует уровень ошибок в минуту Запрос истек по тайм-ауту Пул потоков и очередь задач заполнены на 100% Клиентская библиотека выбросила исключение на запросе При превышении критического уровня ошибок выбирает одну из стратегий обрыва: Custom Fallback Fail silent Fail fast

SLA для внешних сервисов

Что принять во внимание Белые списки Обработка Bad actors Торможение Черные списки

Автоматизируем всё! Automate all the things!

Определение вычислительной избыточности

Стратегии разбиения данных

The 3 Vs Volume Velocity Variety

Горизонтальное разделение Horizontal partitioning

Вертикальное разделение Vertical partitioning

Гибридное разделение Hybrid partitioning

Кэширование

Кэширование – техники, позволяющие снизить latency при доступе к данным Сессии Distributed caching Temporary data stores Web Caching CDNs

Кэширование Типы данных

Техники работы с разделяемыми данными Скрытие деталей Взаимозаменяемые ресурсы

Design for Operations

Сбои будут происходить, это неизбежно Нужно быть готовыми к сбоям и обеспечить возможность быстрого восстановления По возможности, нужно стараться предугадывать возможные сбои, опираясь на метрики диагностики

Health Model Обеспечьте высокий уровень логирования и сбора диагностики Введите метрики состояния модуля, минимум три Healthy Partially Healthy Unhealthy Определите интерфейсы для получения здоровья модуля Определите интерфейсы для получения детальной диагностики Определитe интерфейсы для восстановления здоровья (restart/reimage)

Обеспечьте телеметрию работы приложения Azure Management Portal MetricsHub Свои решения

Полезные материалы Failsafe: Guidance for Resilient Cloud Architectures Failsafe: Architecture and Patterns Failsafe: Building Scalable, Resilient Cloud Services

Вопрос: В чем суть подхода Exponential Back-Off? facebook.com/groups/azurerus / Ответы пишите в сообществе: Внимание - конкурс!

Круглый стол Windows Azure «Облака: второе дыхание для ваших решений» Приглашенные эксперты: Иван Бодягин. Заместитель директора по исследованиям и разработкам. Abbyy Денис Смирнов. Директор отдела цифровых изданий. Sanoma Independent Media 21:00 «Сосновый бор»

Контакты Антон Видищев Edgar Online

msdevcon.ru#msdevcon