36
Экономика отказоустойчивости веб-проектов Александр Демидов «1С-Битрикс» #FailOverCo nf

Экономика отказоустойчивости

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Экономика отказоустойчивости

Экономика отказоустойчивостивеб-проектов

Александр Демидов«1С-Битрикс»

#FailOverConf

Page 2: Экономика отказоустойчивости
Page 3: Экономика отказоустойчивости

Разные классы сайтов и веб-сервисов:

Домашние странички, личные блоги и т.п.«Продающие» сайты (интернет-магазины)Имиджевые сайты (в том числе и корпоративные)«Business critical application» - веб-сервисы, использующиеся в работе (CRM, учет, таск-менеджмент, почта и т.п.)

Разные стадии проекта:Инвестиции, развитиеВыход на операционную прибыль

А нужна ли отказоустойчивость?

Page 4: Экономика отказоустойчивости
Page 5: Экономика отказоустойчивости

Почему сайт должен быть всегда доступен?

Клиенты и их лояльность (сайт недоступен – потеряны заказы).

• $ 237 млн. – оборот за 2012 год (по данным Digital Guru)

• До $ 1 млн. в день – с учетом выходных, праздников

• Более $ 40 000 (1.3 млн. руб.) – один час возможного простоя

Page 6: Экономика отказоустойчивости

Почему сайт должен быть всегда доступен?

Индексация сайта поисковыми роботами

• Если сайт при сбое будет отдавать не 50x код, а, например, 200 или 404 – будет проиндексирован его текущий контент (сообщение об ошибке)

• Частота переиндексации зависит от многих факторов. Возьмем условно 5 дней для относительно популярного интернет-магазина.

• 60% траффика интернет-магазина – поиск (конверсия 0.5 %), 40% остального траффика – средняя конверсия 1.1% (исследование Webprofiters)

• Несложная математика: около 40% заказов – из поиска

• Вы готовы 5 дней (и более) получать на 40% меньше заказов?

Page 7: Экономика отказоустойчивости

Почему сайт должен быть всегда доступен?

Финансовые потери во время рекламных компаний – вы платите за «холостые» клики

Стоимость контекстной рекламы

Даже если сайт доступен, но работает медленно, его позиции в результатах поиска будут ниже (учет поведенческих факторов)

Page 8: Экономика отказоустойчивости

Интернет-каналы

DNS

Серверы

Диски

Датацентры

Отказы инфраструктуры

Page 9: Экономика отказоустойчивости

Спасет ли SLA провайдера?

Ни один SLA не покроет вашу упущенную выгоду (прибыль), только расходы на хостинг

Наиболее часто встречается гарантия 99.9% доступности в SLA

Это – около 9 часов простоя в год

Небольшие слоты (до 5 минут) никто не считает

Ребут сервера, скорее всего, не попадает под SLA. А если это база данных, она может стартовать несколько часов после аварийного завершения.

Page 10: Экономика отказоустойчивости

Web 1

Elastic Load Balancing

Web N

…CloudWatch + AutoScaling

Web 1 Web 2 Web N

…CloudWatch + AutoScaling

«Хитрости» SLA

S3

control cache: memcached

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

master-master replication

master-master replication

master-master replicationmysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

control cache: memcached

control cache: memcached

control cache: memcached

control cache: memcached

control cache: memcached

Web 2

$25 / месяц

$5000 / месяц

Page 11: Экономика отказоустойчивости
Page 12: Экономика отказоустойчивости

Веб-сервер 1

memcached 1

Веб-сервер 2

memcached 1MySQLmaster

MySQLslave

Веб-кластер

Page 13: Экономика отказоустойчивости

«Узкие» места

Page 14: Экономика отказоустойчивости

Балансировщик (клиентские запросы по HTTP)

Веб-сервер 1

memcached 1

Веб-сервер 2

memcached 1MySQLmaster

MySQLslave

Ручные операции для восстановления master’а MySQL или другой СУБД

Page 15: Экономика отказоустойчивости

База данных MySQLMASTER

База данных MySQLSLAVE 1

База данных MySQLSLAVE N

База данных MySQLSLAVE …

SQL-балансировщик

Высокие требования к сети, связность серверов друг с другом

Page 16: Экономика отказоустойчивости
Page 17: Экономика отказоустойчивости
Page 18: Экономика отказоустойчивости

Балансировщик (клиентские запросы по HTTP)

Веб-сервер 1

memcached 1

Веб-сервер 2

memcached 1MySQLmaster

MySQLslave

Аварии на уровне целого датацентра или интернет-канала

Page 19: Экономика отказоустойчивости

Elastic Load Balancing

Web 1

Elastic Load Balancing

Web N

…CloudWatch + AutoScaling

Web 1 Web 2 Web N

…CloudWatch + AutoScaling

Резервирование на уровне ДЦ

control cache: memcached

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

master-master replication

master-master replication

master-master replicationmysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

mysqld

control cache: memcached

control cache: memcached

control cache: memcached

control cache: memcached

control cache: memcached

Web 2

Чтобы избежать «холостой» работы половины ресурсов, каждый ДЦ обслуживает свою группу клиентов

Page 20: Экономика отказоустойчивости

Не бывает«почти круглосуточно»

Технические работы должны проходить незаметно для клиентов:

Сервисные работы

Замена оборудования

Обновления системного ПО

Обновления приложений

Page 21: Экономика отказоустойчивости
Page 22: Экономика отказоустойчивости
Page 23: Экономика отказоустойчивости

Посчитаем стоимость «новой ИТ-системы»

Оборот за 2012 год - $132 млн. (Digital Guru)

7 суток простоя – около $2.5 млн.

А что с поиском?

Page 24: Экономика отказоустойчивости
Page 25: Экономика отказоустойчивости

Real Time мониторинг – как узнавать о проблемах?

Можно – так…

Page 26: Экономика отказоустойчивости

Real Time мониторинг – как узнавать о проблемах?

Или – так…

Page 27: Экономика отказоустойчивости

С чего начать?

Внешние системы:

http://host-tracker.com/

Яндекс.Метрика

И т.д.

Зачастую можно найти бесплатные варианты.

Вы быстро узнаете об отказах, но не будете знать, где они произошли и почему.

Page 28: Экономика отказоустойчивости

Организация системы мониторинга

Дежурная смена и/или мгновенные уведомления (да, это будет стоить дополнительных денег).

Необходимо автоматизировать типовые действия при авариях. Иначе сайт будет простаивать до реакции админа.

Мониторить – всё. Необходимо составить список всех критических точек в системе и отслеживать их состояние.

Мониторить не только состояние серверов – сроки регистрации доменов, SSL сертификатов и т.п.

Page 29: Экономика отказоустойчивости
Page 30: Экономика отказоустойчивости

18 февраля 2013

Оборот за 2012 год - $379 млн.

До суток простоя – более $1 млн.

Page 31: Экономика отказоустойчивости

Аналитика – со стороны пользователя

Гистограммы распределения времени хитов, кодов ответа и т.п. – из логов (awk-скрипт), pinba или других инструментов

Мало знать «среднюю температуру по больнице» и мониторить только главную страницу сайта

Page 32: Экономика отказоустойчивости
Page 33: Экономика отказоустойчивости

Ключевые страницы – не только доступные, но и быстрые

Замедление загрузки страницы на 1 секунду снижает конверсию на 7%, а количество просмотров - на 11%.

Page 34: Экономика отказоустойчивости

Исследование Strategic Research Institute

30% предпринимателей после утраты данных прекращают предпринимательскую деятельность в течение года. 60% предпринимателей, потерявших ВСЕ данные, прекращают предпринимательскую деятельность в течение 6 месяцев после этого.

Не забывайте «сохраняться»

Page 35: Экономика отказоустойчивости

Резюме

Ваш сайт должен быть максимально доступен – в разумных пределах

• Резервируйте критичные узлы – исходя из необходимости и экономики

• Важно не только запустить проект, но и грамотно его эксплуатировать – иметь систему мониторинга

• Доступность проекта зависит не только от инфраструктуры, но и от кода, внешних сервисов и т.п.

• Имейте резервные копии и умейте быстро из них восстанавливаться

Page 36: Экономика отказоустойчивости

Спасибо за внимание! Вопросы?

Александр Демидов

[email protected]

+7-926-521-3700

@demidov

http://www.1c-bitrix.ru