24

Стабильность — признак мастерства

Embed Size (px)

Citation preview

Page 1: Стабильность — признак мастерства
Page 2: Стабильность — признак мастерства

ФО́� РУМ, (лат. forum) - Площадь в древнем Риме, на которой сосредоточивалась общественная жизнь города (ист.).

|| перен. употр. для обозначения того, что является центром, средоточием чего-нибудь.

Page 3: Стабильность — признак мастерства

Как задать вопрос докладчику?

• Через веб-форму http://techforum.mail.ru/question

• SMS на номер 2420, начиная сообщения с ZAL1 или ZAL2 (стоимость SMS сообщения 1.7 рубля)

• Twitter: #ZAL1 и #ZAL2

Page 4: Стабильность — признак мастерства

Стабильность – признак мастерства.

Page 5: Стабильность — признак мастерства

Важна ли стабильность для интернет-проекта?

Большинство сервисов в интернете бесплатно.

Порог вхождения в конкурирующие сервисы очень низкий.

О́трицательные эмоции полученные от недоступности сайта помнятся дольше и ощущаются сильнее, чем положительные.

Page 6: Стабильность — признак мастерства

Средний uptime интернет-сервиса: 98.60%.

Что такое 98.60% ?

7356 минут простоя в год.

123 часа простоя в год. 5 суток простоя в год.

Средний uptime крупных сайтов рунета: 99.96%.

(примерно 4 часа простоя в год).

Немного статистики:

Page 7: Стабильность — признак мастерства

Немного статистики:

8%1%

25%

50%

16%

Количественное распределение :

Сетевые аварии

Аварии датацентров

Программные аварии

Аварии при деплое

Аварии оборудования

30%

30%

15%

20%

5%

Качественное распределение:

Page 8: Стабильность — признак мастерства

10 причин иметь мониторинг

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

О́бсуждение downtime-а приносит больший урон репутации, чем сам downtime.

По закону Мерфи ваш сайт обязательно упадет. Чем раньше вы узнаете о проблеме – тем быстрее она будет решена.

Большинство ISP не будет нести ответственность за downtime вашего сайта.

Page 9: Стабильность — признак мастерства

10 причин иметь мониторинг

Хороший мониторинг расскажет не только то, что ваш сайт лежит, но и почему именно.

Стоимость создания мониторинга ничтожна по сравнению со стоимостью разработки сервиса.

Без мониторинга невозможно отследить системные проблемы в разработке. С вашим вебсайтом может быть все ок, но в остальном интернете его никто не увидит.

Вы должны знать о проблеме даже ночью (в России 9 часовых поясов).

Page 10: Стабильность — признак мастерства

Какие мониторинги бывают в Mail.ru?

Мониторинг сетевой доступности.

Мониторинг скорости работы сайта.

Мониторинг работы сервиса (ответ по HTTP). Функциональный мониторинг сервисов.

Мониторинг заполняемости хранилищ данных.

В Mail.ru более 140 различных типов мониторингов и более 150 тысяч объектов наблюдения.

Мониторинг статистических выбросов. Мониторинг мониторинга.

Page 11: Стабильность — признак мастерства

Как добиться аптайма в 100% ?

Page 12: Стабильность — признак мастерства

Резервирование и балансировка

Различные уровни резервирования:

Автоматический ввод резерва.

Тип сервера Необходимое резервирование

Сервера обработки данных N+1

Хранилища данных 2N + offline копия

Сеть 35%

Page 13: Стабильность — признак мастерства

Quagga

Keepalived

Router

IPVS

Что нужно что бы сделать отказоустойчивую систему:

Простейший роутер с поддежкой RIP

Средство общения с роутером по RIP.

Балансировщик и энкапсулятор траффика в IPencap.

Утилита проверки живости серверов.

Page 14: Стабильность — признак мастерства

Internet

Датацентр 1

Quagga

Группа серверов

Router

IPVS

Keepalived

RIP: updateRIP: poison reverse

IPencap

траффикПроверка

работы фермыПрямой,

неинкапсулированный

ответ сервера

Об

новлени

е табл

иц

ы

IPV

SОтвет

пользователю

В другой

датацентр Запрос

Page 15: Стабильность — признак мастерства

Internet

Датацентр 1 Датацентр 2

QuaggaIPVSKeepalived

Группа серверов Группа серверов

QuaggaIPVSKeepalived

QuaggaIPVSKeepalived

Router Router

QuaggaIPVSKeepalived

Балансировщик Балансировщик Балансировщик Балансировщик

Page 16: Стабильность — признак мастерства

Для того что бы все это на самом деле заработало:

1. Патчим таймеры RIP-update в Кваге уменьшая их до 1 сек.2. Патчим Квагу еще раз так, что бы административно выставленная RIP-метрика не попадала в poison reverse пакет.

4. Выключаем IRQbalance, балансировать будем вручную.

3. Патчим KeepAlived таким образом что бы пакет уходящий на real server был 1500 байт.

Page 17: Стабильность — признак мастерства

Модульная архитектура проекта.

Кешируйте «негативные» ответы.

Разделяйте нагрузку по типам.

Деградируйте сервис вместо того, что бы «упасть» целиком.

Работайте с модулями асинхронно.

Page 18: Стабильность — признак мастерства

Релиз-менеджмент и тестирование

Чем более автоматизирован процесс релиза – тем меньше сюрпризов.

Половина проблем стабильности связанно с релизом нового кода. Релиз менеджменту - быть.

Сплит-тестирование.

Каждый раз релизим «все», а не только готовое.

Page 19: Стабильность — признак мастерства

Прогнозирование нагрузки

Помните о специфике вашего проекта.

Имейте оценку нагрузки релиза, пусть даже неточную.

Следите за графиками.

Часто разрабатывают популярные фичи одни люди, а прогнозируют нагрузку другие.

Имейте пороговое значение времени ответа.

Page 20: Стабильность — признак мастерства

Планирование аварий

Время потраченное на придумывание воркэраунда можно сэкономить, если спланировать аварию заранее.

Автоматизированная выкатка бекапа.

Заглушки и «лайт-версии».

Page 21: Стабильность — признак мастерства
Page 22: Стабильность — признак мастерства

Верить нельзя никому!

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

Проверьте сами, что все заработало.

Любые планы восстановления после сбоя должны регулярно проверяться. Бекапы.

Page 23: Стабильность — признак мастерства

Вопросы?

Page 24: Стабильность — признак мастерства

Владимир Габриелян[email protected]

СПАСИБО́!