SlideShare uma empresa Scribd logo
1 de 36
#FailOverConf



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


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

Разные стадии проекта:
 Инвестиции, развитие
 Выход на операционную прибыль
Почему сайт должен быть
всегда доступен?

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

                    • $ 237 млн. – оборот за 2012 год (по
                      данным Digital Guru)
                    • До $ 1 млн. в день – с учетом
                      выходных, праздников
                    • Более $ 40 000 (1.3 млн. руб.) – один
                      час возможного простоя
Почему сайт должен быть
всегда доступен?

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

•   Если сайт при сбое будет отдавать не 50x код, а, например, 200 или
    404 – будет проиндексирован его текущий контент (сообщение об
    ошибке)
•   Частота переиндексации зависит от многих факторов. Возьмем
    условно 5 дней для относительно популярного интернет-магазина.
•   60% траффика интернет-магазина – поиск (конверсия 0.5 %), 40%
    остального траффика – средняя конверсия 1.1% (исследование
    Webprofiters)
•   Несложная математика: около 40% заказов – из поиска
•   Вы готовы 5 дней (и более) получать на 40% меньше заказов?
Почему сайт должен быть
всегда доступен?


  Финансовые потери во время рекламных
  компаний – вы платите за «холостые» клики
  Стоимость контекстной рекламы
  Даже если сайт доступен, но работает
  медленно, его позиции в результатах поиска
  будут ниже (учет поведенческих факторов)
Отказы инфраструктуры
         Интернет-каналы
         DNS
         Серверы
         Диски
         Датацентры
Спасет ли SLA провайдера?


  Ни один SLA не покроет вашу упущенную выгоду
  (прибыль), только расходы на хостинг
  Наиболее часто встречается гарантия 99.9%
  доступности в SLA
  Это – около 9 часов простоя в год
  Небольшие слоты (до 5 минут) никто не считает
  Ребут сервера, скорее всего, не попадает под SLA.
  А если это база данных, она может стартовать
  несколько часов после аварийного завершения.
«Хитрости» SLA

                      $25 / месяц
                                                                                      Elastic Load Balancing




                                             CloudWatch                                                                                                            CloudWatch
    Web 1                  Web 2             +
                                                                    Web N                                               Web 1                   Web 2              +
                                                                                                                                                                                         Web N



                                             …                                                                                                                     …
                                             AutoScaling                                                                                                           AutoScaling


                                                                                                  S3


       mysqld                                                                                                               mysqld
                                                                                         master-master replication
       mysqld                                                                                                               mysqld
                                   mysqld                                                                                                                mysqld
       mysqld                                                                            master-master replication          mysqld
                                   mysqld                                                                                                                 mysqld

                                   mysqld                         mysqld                                                                                 mysqld                         mysqld
control cache: memcached                                                                                             control cache: memcached
                                                                                         master-master replication
                                                                  mysqld                                                                                                                mysqld
                            control cache: memcached                                                                                              control cache: memcached
                                                                  mysqld                                                                                                                mysqld

                                                           control cache: memcached                                                                                              control cache: memcached


                                                                                                       $5000 / месяц
Веб-кластер




            Веб-сервер 1        Веб-сервер 2



                     MySQL    MySQL
      memcached 1                        memcached 1
                     master   slave
«Узкие» места
Ручные операции для восстановления
master’а MySQL или другой СУБД


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




            Веб-сервер 1                              Веб-сервер 2



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




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




  База данных MySQL   База данных MySQL         База данных MySQL   База данных MySQL
        MASTER              SLAVE 1                   SLAVE …             SLAVE N
Аварии на уровне целого датацентра или
интернет-канала


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




            Веб-сервер 1                              Веб-сервер 2



                     MySQL                         MySQL
      memcached 1                                              memcached 1
                     master                        slave
Резервирование на уровне ДЦ

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

                           Elastic Load Balancing                                                                                               Elastic Load Balancing


                                                CloudWatch                                                                                                            CloudWatch
    Web 1                    Web 2              +
                                                                       Web N                                            Web 1                     Web 2               +
                                                                                                                                                                                            Web N



                                                …                                                                                                                     …
                                                AutoScaling                                                                                                           AutoScaling




       mysqld                                                                                                               mysqld
                                                                                         master-master replication
       mysqld                                                                                                               mysqld
                                      mysqld                                                                                                                mysqld
       mysqld                                                                            master-master replication          mysqld
                                      mysqld                                                                                                                 mysqld

                                      mysqld                         mysqld                                                                                 mysqld                         mysqld
control cache: memcached                                                                                             control cache: memcached
                                                                                         master-master replication
                                                                     mysqld                                                                                                                mysqld
                               control cache: memcached                                                                                              control cache: memcached
                                                                     mysqld                                                                                                                mysqld

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

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


  Сервисные работы
  Замена оборудования
  Обновления системного
  ПО
  Обновления приложений
Посчитаем стоимость «новой
ИТ-системы»

  Оборот за 2012 год - $132 млн. (Digital Guru)
  7 суток простоя – около $2.5 млн.


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




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




                 Или – так…
С чего начать?

  Внешние системы:
     http://host-tracker.com/
     Яндекс.Метрика
     И т.д.


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

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

  Дежурная смена и/или мгновенные уведомления (да, это
  будет стоить дополнительных денег).
  Необходимо автоматизировать типовые действия при
  авариях. Иначе сайт будет простаивать до реакции админа.
  Мониторить – всё. Необходимо составить список всех
  критических точек в системе и отслеживать их состояние.
  Мониторить не только состояние серверов – сроки
  регистрации доменов, SSL сертификатов и т.п.
18 февраля 2013

  Оборот за 2012 год - $379 млн.
  До суток простоя – более $1 млн.
Аналитика – со стороны
пользователя
   Мало знать «среднюю температуру по больнице» и
   мониторить только главную страницу сайта
   Гистограммы распределения времени хитов, кодов
   ответа и т.п. – из логов (awk-скрипт), pinba или других
   инструментов
Ключевые страницы – не только
доступные, но и быстрые

                        Замедление загрузки
                        страницы на 1 секунду
                        снижает конверсию на 7%, а
                        количество просмотров - на
                        11%.
Не забывайте «сохраняться»

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

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

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

•   Резервируйте критичные узлы – исходя из необходимости и
    экономики
•   Важно не только запустить проект, но и грамотно его
    эксплуатировать – иметь систему мониторинга
•   Доступность проекта зависит не только от инфраструктуры, но и
    от кода, внешних сервисов и т.п.
•   Имейте резервные копии и умейте быстро из них
    восстанавливаться
Спасибо за внимание!
Вопросы?

Александр Демидов
demidov@1c-bitrix.ru
+7-926-521-3700
    @demidov
http://www.1c-bitrix.ru

Mais conteúdo relacionado

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

1С-Битрикс - Веб-кластер
1С-Битрикс - Веб-кластер1С-Битрикс - Веб-кластер
1С-Битрикс - Веб-кластерAlexander Demidov
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...ForkConf
 
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5DevDay
 
Эволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBЭволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBSergey Petrunya
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime Community
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime community
 
CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...
CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...
CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...CodeFest
 
Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров 1С-Битрикс
 
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузкиКак мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузкиtfmailru
 
Kubasov 1 7_deploy
Kubasov 1 7_deployKubasov 1 7_deploy
Kubasov 1 7_deploykuchinskaya
 
ekbpy'2012 - Алексей Кирпичников - Я не люблю Mongo
ekbpy'2012 - Алексей Кирпичников - Я не люблю Mongoekbpy'2012 - Алексей Кирпичников - Я не люблю Mongo
ekbpy'2012 - Алексей Кирпичников - Я не люблю Mongoit-people
 
Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected loadGrid Dynamics
 
Демоны на PHP (Денис Глазков)
Демоны на PHP (Денис Глазков)Демоны на PHP (Денис Глазков)
Демоны на PHP (Денис Глазков)Ontico
 

Semelhante a Экономика отказоустойчивости (17)

1c bitrix-cluster-et
1c bitrix-cluster-et1c bitrix-cluster-et
1c bitrix-cluster-et
 
веб кластер
веб кластервеб кластер
веб кластер
 
1С-Битрикс - Веб-кластер
1С-Битрикс - Веб-кластер1С-Битрикс - Веб-кластер
1С-Битрикс - Веб-кластер
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
 
Веб-кластер
Веб-кластерВеб-кластер
Веб-кластер
 
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
 
Эволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBЭволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDB
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...
CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...
CodeFest 2012. Рыжиков С. — Архитектура и запуск облачного сервиса в Amazon A...
 
Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров
 
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузкиКак мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузки
 
Kubasov 1 7_deploy
Kubasov 1 7_deployKubasov 1 7_deploy
Kubasov 1 7_deploy
 
NetApp Virtualization
NetApp VirtualizationNetApp Virtualization
NetApp Virtualization
 
ekbpy'2012 - Алексей Кирпичников - Я не люблю Mongo
ekbpy'2012 - Алексей Кирпичников - Я не люблю Mongoekbpy'2012 - Алексей Кирпичников - Я не люблю Mongo
ekbpy'2012 - Алексей Кирпичников - Я не люблю Mongo
 
Deployment to production with an unexpected load
Deployment to production with an unexpected loadDeployment to production with an unexpected load
Deployment to production with an unexpected load
 
Демоны на PHP (Денис Глазков)
Демоны на PHP (Денис Глазков)Демоны на PHP (Денис Глазков)
Демоны на PHP (Денис Глазков)
 

Mais de sportgid

Процесс дизайн-мышления Стенфордской школы D.school
Процесс дизайн-мышления Стенфордской школы D.schoolПроцесс дизайн-мышления Стенфордской школы D.school
Процесс дизайн-мышления Стенфордской школы D.schoolsportgid
 
Секреты работы с аналитикой и статистикой рекламных компаний
Секреты работы с аналитикой и статистикой рекламных компанийСекреты работы с аналитикой и статистикой рекламных компаний
Секреты работы с аналитикой и статистикой рекламных компанийsportgid
 
Доменные имена. Подборка, использование, защита.
Доменные имена. Подборка, использование, защита.Доменные имена. Подборка, использование, защита.
Доменные имена. Подборка, использование, защита.sportgid
 
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)sportgid
 
Сделать в срок: сайт за две недели
Сделать в срок: сайт за две неделиСделать в срок: сайт за две недели
Сделать в срок: сайт за две неделиsportgid
 
Разработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииРазработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииsportgid
 
Продвижение в поисковых системах и социальных сетях: 130% результата
Продвижение в поисковых системах и социальных сетях: 130% результатаПродвижение в поисковых системах и социальных сетях: 130% результата
Продвижение в поисковых системах и социальных сетях: 130% результатаsportgid
 
Оценка эффективности коммерческого Интернет-проекта
Оценка эффективности коммерческого Интернет-проектаОценка эффективности коммерческого Интернет-проекта
Оценка эффективности коммерческого Интернет-проектаsportgid
 
Как заказать качественное и эффективное продвижение своего сайта
Как заказать качественное и эффективное продвижение своего сайтаКак заказать качественное и эффективное продвижение своего сайта
Как заказать качественное и эффективное продвижение своего сайтаsportgid
 
Идеи - возникновение, обитание, развитие
Идеи - возникновение, обитание, развитиеИдеи - возникновение, обитание, развитие
Идеи - возникновение, обитание, развитиеsportgid
 
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин ЧебунинКоммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунинsportgid
 
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...sportgid
 
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)sportgid
 
Контекстная реклама (eLama)
Контекстная реклама (eLama)Контекстная реклама (eLama)
Контекстная реклама (eLama)sportgid
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 
Стабильность проекта в условиях непрерывной интеграции
Стабильность проекта в условиях непрерывной интеграцииСтабильность проекта в условиях непрерывной интеграции
Стабильность проекта в условиях непрерывной интеграцииsportgid
 
Как снизить нагрузку на высокопосещаемый проект
Как снизить нагрузку на высокопосещаемый проектКак снизить нагрузку на высокопосещаемый проект
Как снизить нагрузку на высокопосещаемый проектsportgid
 

Mais de sportgid (17)

Процесс дизайн-мышления Стенфордской школы D.school
Процесс дизайн-мышления Стенфордской школы D.schoolПроцесс дизайн-мышления Стенфордской школы D.school
Процесс дизайн-мышления Стенфордской школы D.school
 
Секреты работы с аналитикой и статистикой рекламных компаний
Секреты работы с аналитикой и статистикой рекламных компанийСекреты работы с аналитикой и статистикой рекламных компаний
Секреты работы с аналитикой и статистикой рекламных компаний
 
Доменные имена. Подборка, использование, защита.
Доменные имена. Подборка, использование, защита.Доменные имена. Подборка, использование, защита.
Доменные имена. Подборка, использование, защита.
 
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (3 день)
 
Сделать в срок: сайт за две недели
Сделать в срок: сайт за две неделиСделать в срок: сайт за две недели
Сделать в срок: сайт за две недели
 
Разработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииРазработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализации
 
Продвижение в поисковых системах и социальных сетях: 130% результата
Продвижение в поисковых системах и социальных сетях: 130% результатаПродвижение в поисковых системах и социальных сетях: 130% результата
Продвижение в поисковых системах и социальных сетях: 130% результата
 
Оценка эффективности коммерческого Интернет-проекта
Оценка эффективности коммерческого Интернет-проектаОценка эффективности коммерческого Интернет-проекта
Оценка эффективности коммерческого Интернет-проекта
 
Как заказать качественное и эффективное продвижение своего сайта
Как заказать качественное и эффективное продвижение своего сайтаКак заказать качественное и эффективное продвижение своего сайта
Как заказать качественное и эффективное продвижение своего сайта
 
Идеи - возникновение, обитание, развитие
Идеи - возникновение, обитание, развитиеИдеи - возникновение, обитание, развитие
Идеи - возникновение, обитание, развитие
 
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин ЧебунинКоммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
Коммуникации и переговоры - Ты Предприниматель, Блок 3, Валентин Чебунин
 
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
Процессы, масштабирование, каналы рекламы/продаж - Ты Предприниматель, Блок 3...
 
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
Управление бизнесом - Ты Предприниматель, Блок 3, Валентин Чебунин (1,2 дни)
 
Контекстная реклама (eLama)
Контекстная реклама (eLama)Контекстная реклама (eLama)
Контекстная реклама (eLama)
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 
Стабильность проекта в условиях непрерывной интеграции
Стабильность проекта в условиях непрерывной интеграцииСтабильность проекта в условиях непрерывной интеграции
Стабильность проекта в условиях непрерывной интеграции
 
Как снизить нагрузку на высокопосещаемый проект
Как снизить нагрузку на высокопосещаемый проектКак снизить нагрузку на высокопосещаемый проект
Как снизить нагрузку на высокопосещаемый проект
 

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

  • 2.
  • 3. А нужна ли отказоустойчивость? Разные классы сайтов и веб- сервисов: Домашние странички, личные блоги и т.п. «Продающие» сайты (интернет-магазины) Имиджевые сайты (в том числе и корпоративные) «Business critical application» - веб- сервисы, использующиеся в работе (CRM, учет, таск-менеджмент, почта и т.п.) Разные стадии проекта: Инвестиции, развитие Выход на операционную прибыль
  • 4.
  • 5. Почему сайт должен быть всегда доступен? Клиенты и их лояльность (сайт недоступен – потеряны заказы). • $ 237 млн. – оборот за 2012 год (по данным Digital Guru) • До $ 1 млн. в день – с учетом выходных, праздников • Более $ 40 000 (1.3 млн. руб.) – один час возможного простоя
  • 6. Почему сайт должен быть всегда доступен? Индексация сайта поисковыми роботами • Если сайт при сбое будет отдавать не 50x код, а, например, 200 или 404 – будет проиндексирован его текущий контент (сообщение об ошибке) • Частота переиндексации зависит от многих факторов. Возьмем условно 5 дней для относительно популярного интернет-магазина. • 60% траффика интернет-магазина – поиск (конверсия 0.5 %), 40% остального траффика – средняя конверсия 1.1% (исследование Webprofiters) • Несложная математика: около 40% заказов – из поиска • Вы готовы 5 дней (и более) получать на 40% меньше заказов?
  • 7. Почему сайт должен быть всегда доступен? Финансовые потери во время рекламных компаний – вы платите за «холостые» клики Стоимость контекстной рекламы Даже если сайт доступен, но работает медленно, его позиции в результатах поиска будут ниже (учет поведенческих факторов)
  • 8. Отказы инфраструктуры Интернет-каналы DNS Серверы Диски Датацентры
  • 9. Спасет ли SLA провайдера? Ни один SLA не покроет вашу упущенную выгоду (прибыль), только расходы на хостинг Наиболее часто встречается гарантия 99.9% доступности в SLA Это – около 9 часов простоя в год Небольшие слоты (до 5 минут) никто не считает Ребут сервера, скорее всего, не попадает под SLA. А если это база данных, она может стартовать несколько часов после аварийного завершения.
  • 10. «Хитрости» SLA $25 / месяц Elastic Load Balancing CloudWatch CloudWatch Web 1 Web 2 + Web N Web 1 Web 2 + Web N … … AutoScaling AutoScaling S3 mysqld mysqld master-master replication mysqld mysqld mysqld mysqld mysqld master-master replication mysqld mysqld mysqld mysqld mysqld mysqld mysqld control cache: memcached control cache: memcached master-master replication mysqld mysqld control cache: memcached control cache: memcached mysqld mysqld control cache: memcached control cache: memcached $5000 / месяц
  • 11.
  • 12. Веб-кластер Веб-сервер 1 Веб-сервер 2 MySQL MySQL memcached 1 memcached 1 master slave
  • 14. Ручные операции для восстановления master’а MySQL или другой СУБД Балансировщик (клиентские запросы по HTTP) Веб-сервер 1 Веб-сервер 2 MySQL MySQL memcached 1 memcached 1 master slave
  • 15. Высокие требования к сети, связность серверов друг с другом SQL-балансировщик База данных MySQL База данных MySQL База данных MySQL База данных MySQL MASTER SLAVE 1 SLAVE … SLAVE N
  • 16.
  • 17.
  • 18. Аварии на уровне целого датацентра или интернет-канала Балансировщик (клиентские запросы по HTTP) Веб-сервер 1 Веб-сервер 2 MySQL MySQL memcached 1 memcached 1 master slave
  • 19. Резервирование на уровне ДЦ Чтобы избежать «холостой» работы половины ресурсов, каждый ДЦ обслуживает свою группу клиентов Elastic Load Balancing Elastic Load Balancing CloudWatch CloudWatch Web 1 Web 2 + Web N Web 1 Web 2 + Web N … … AutoScaling AutoScaling mysqld mysqld master-master replication mysqld mysqld mysqld mysqld mysqld master-master replication mysqld mysqld mysqld mysqld mysqld mysqld mysqld control cache: memcached control cache: memcached master-master replication mysqld mysqld control cache: memcached control cache: memcached mysqld mysqld control cache: memcached control cache: memcached
  • 20. Не бывает «почти круглосуточно» Технические работы должны проходить незаметно для клиентов: Сервисные работы Замена оборудования Обновления системного ПО Обновления приложений
  • 21.
  • 22.
  • 23. Посчитаем стоимость «новой ИТ-системы» Оборот за 2012 год - $132 млн. (Digital Guru) 7 суток простоя – около $2.5 млн. А что с поиском?
  • 24.
  • 25. Real Time мониторинг – как узнавать о проблемах? Можно – так…
  • 26. Real Time мониторинг – как узнавать о проблемах? Или – так…
  • 27. С чего начать? Внешние системы: http://host-tracker.com/ Яндекс.Метрика И т.д. Зачастую можно найти бесплатные варианты. Вы быстро узнаете об отказах, но не будете знать, где они произошли и почему.
  • 28. Организация системы мониторинга Дежурная смена и/или мгновенные уведомления (да, это будет стоить дополнительных денег). Необходимо автоматизировать типовые действия при авариях. Иначе сайт будет простаивать до реакции админа. Мониторить – всё. Необходимо составить список всех критических точек в системе и отслеживать их состояние. Мониторить не только состояние серверов – сроки регистрации доменов, SSL сертификатов и т.п.
  • 29.
  • 30. 18 февраля 2013 Оборот за 2012 год - $379 млн. До суток простоя – более $1 млн.
  • 31. Аналитика – со стороны пользователя Мало знать «среднюю температуру по больнице» и мониторить только главную страницу сайта Гистограммы распределения времени хитов, кодов ответа и т.п. – из логов (awk-скрипт), pinba или других инструментов
  • 32.
  • 33. Ключевые страницы – не только доступные, но и быстрые Замедление загрузки страницы на 1 секунду снижает конверсию на 7%, а количество просмотров - на 11%.
  • 34. Не забывайте «сохраняться» Исследование Strategic Research Institute 30% предпринимателей после утраты данных прекращают предпринимательскую деятельность в течение года. 60% предпринимателей, потерявших ВСЕ данные, прекращают предпринимательскую деятельность в течение 6 месяцев после этого.
  • 35. Резюме Ваш сайт должен быть максимально доступен – в разумных пределах • Резервируйте критичные узлы – исходя из необходимости и экономики • Важно не только запустить проект, но и грамотно его эксплуатировать – иметь систему мониторинга • Доступность проекта зависит не только от инфраструктуры, но и от кода, внешних сервисов и т.п. • Имейте резервные копии и умейте быстро из них восстанавливаться
  • 36. Спасибо за внимание! Вопросы? Александр Демидов demidov@1c-bitrix.ru +7-926-521-3700 @demidov http://www.1c-bitrix.ru