Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемАфанасий Ярыгин
1 msdevcon.ru#msdevcon
2 Разработка отказоустойчивой облачной архитектуры Антон Видищев
3 Руководитель команды, Edgar Online, RR Donnelley Company Windows Azure MVP
4 Почему архитектура должна отличаться?
5 Многие из существующих подходов и паттернов не решают задачу отказоустойчивости и масштабируемости Отрасль высоконагруженных приложений молода, и общепринятые подходы еще не выработаны
6 Дизайн под рабочие нагрузки Design for Workload
7 Сценарий: Интернет-магазин
8 Основные типы нагрузки Просмотр товаров и поиск - Browse & Search Оплата и управление - Checkout & Management
9 Модель жизненного цикла В годовом разрере
10 Модель жизненного цикла В недельном разрере
11 Модель доступности и SLA
12 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 секунд
13 Как посчитать свой SLA?
14 Связи с внешними сервисами Каков тип сервиса (party, commercial/public) Есть ли ограничения по количеству API-вызовов? Есть ли ограничения по частоте API-вызовов? Есть ли черные/белые списки? Каков SLA? Есть ли публичная ифнормация о качестве соблюдения SLA? Предоставляет ли сервис данные о своем здоровье? Предоставляет ли сервис данные напрямую или аггрегирует данные? Есть ли аналогичные сервисы?
15 Определяем точки отказа приложения Соединения с хранилищем данных Подключения к веб-сервису Конфигурационные файлы Внутренние взаимодействия Аутентификация
16 Автономность
17 Автономные модули приложения Имеют высокую доступность Имеют низкий риск полного отказа Легко масштабируются репликацией Предоставляют данные о собственном здоровье Редко требуют ручного вмешательства
18 Обработка отказов приложения
19 Обрабатываем отказы Асинхронность по умолчанию Тайм-ауты Обеспечиваем «мягкую» деградацию
20 Подходы к обработке отказов Логика повторений (Retry logic) Постепенное замедление (Exponential Back-Off) Идемпотентность Компенсирующее поведение Очереди!!!
21 Шаблон «Предохранитель» Circuit Breaker pattern
22 Предохранитель в Netflix Анализирует уровень ошибок в минуту Запрос истек по тайм-ауту Пул потоков и очередь задач заполнены на 100% Клиентская библиотека выбросила исключение на запросе При превышении критического уровня ошибок выбирает одну из стратегий обрыва: Custom Fallback Fail silent Fail fast
23 SLA для внешних сервисов
24 Что принять во внимание Белые списки Обработка Bad actors Торможение Черные списки
25 Автоматизируем всё! Automate all the things!
26 Определение вычислительной избыточности
27 Стратегии разбиения данных
28 The 3 Vs Volume Velocity Variety
29 Горизонтальное разделение Horizontal partitioning
30 Вертикальное разделение Vertical partitioning
31 Гибридное разделение Hybrid partitioning
32 Кэширование
33 Кэширование – техники, позволяющие снизить latency при доступе к данным Сессии Distributed caching Temporary data stores Web Caching CDNs
34 Кэширование Типы данных
35 Техники работы с разделяемыми данными Скрытие деталей Взаимозаменяемые ресурсы
36 Design for Operations
37 Сбои будут происходить, это неизбежно Нужно быть готовыми к сбоям и обеспечить возможность быстрого восстановления По возможности, нужно стараться предугадывать возможные сбои, опираясь на метрики диагностики
38 Health Model Обеспечьте высокий уровень логирования и сбора диагностики Введите метрики состояния модуля, минимум три Healthy Partially Healthy Unhealthy Определите интерфейсы для получения здоровья модуля Определите интерфейсы для получения детальной диагностики Определитe интерфейсы для восстановления здоровья (restart/reimage)
39 Обеспечьте телеметрию работы приложения Azure Management Portal MetricsHub Свои решения
40 Полезные материалы Failsafe: Guidance for Resilient Cloud Architectures Failsafe: Architecture and Patterns Failsafe: Building Scalable, Resilient Cloud Services
41 Вопрос: В чем суть подхода Exponential Back-Off? facebook.com/groups/azurerus / Ответы пишите в сообществе: Внимание - конкурс!
42 Круглый стол Windows Azure «Облака: второе дыхание для ваших решений» Приглашенные эксперты: Иван Бодягин. Заместитель директора по исследованиям и разработкам. Abbyy Денис Смирнов. Директор отдела цифровых изданий. Sanoma Independent Media 21:00 «Сосновый бор»
43 Контакты Антон Видищев Edgar Online
44 msdevcon.ru#msdevcon
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.