Рубрики
Uncategorized

Примечания из Reddit Sysadmins AMA в 2013 году

Интересные моменты из Reddit Sysadmins AMA в 2013 году. Tagged с DevOps, инфраструктура.

Источник: https://www.reddit.com/r/sysadmin/comments/r6zfv/we_are_sysadmins_reddit_ask_us_anything/

Также доступен по адресу: https://github.com/yanhan/notes/blob/master/reddit-sysadmins-ama.md

Я наткнулся на эту Reddit AMA некоторое время назад и хотел сделать несколько заметок о более интересных вещах, которые я читал там. Наконец -то приступил к тому, чтобы сделать это сегодня.

Статистика

  • Пиковая полоса пропускания: 924,21 мбит/второй. Они сильно использовали акамай
  • Совокупный размер баз данных: 2,4 ТБ. Кажется, растет несколько ГБ в неделю
  • На балансировщике нагрузки: ~ 8K установленные соединения, ~ 250 тыс. Во времени ожидание (с очень коротким временем ожидания)

Что они используют

  • Акамай
  • AWS (284 беговых экземпляров , 161 были серверами приложений)
  • Марионетка
  • Ганглия
  • Zenoss
  • Rabbitmq
  • МакОллиной
  • Центральные мемкахедные серверы (с pylibmc). Каждый сервер приложений имеет небольшой экземпляр Memcached для очень локальное кэширование, которое не может пострадать от задержки сети
  • rsyslog
  • Консолидация журнала: rsyslog с модулем RELP
  • Hadoop (для внутреннего хранилища данных)

Интересно

  • Они используют HAPROXY на экземплярах EC2 вместо ELB. Всего 8 случаев
    • ELB — это HAPROXY с API. Ограниченный контроль по сравнению с размером экземпляра ELB. Первоначально настроен на очень маленький экземпляр
    • Балансировка нагрузки ELB выполняется с помощью DNS с круглым ROBIN. Когда один из бэк -экземпляров вылетает, любой кэшированный DNS в Интернете будет высосать. Много устройств/программного обеспечения/интернет -провайдеров по -прежнему неверно
    • Если у ELB это будет, это будет полезно:
    • Статическая VIP -поддержка. Just Roubin DNS недопустимо
    • Гранулированный контроль над размером экземпляра, который поддерживает ELB
    • Больше функциональности правил в балансировке нагрузки. Очень ограничен по сравнению с Haproxy
  • В какой -то момент проблемы репликации Postgres очень часто снимали сайт.
    • Это были связаны с неудачами EBS. Они должны были входа в систему и сразу же начать репликацию, чтобы предотвратить действительно плохие поломки
    • Обновление до Postgres 9 и уход от EBS позаботился об этом
  • Когда они сняли Reddit во время протеста SOPA, им пришлось подготовиться к серьезной нагрузке, потому что все знали, что сайт возвращается в Интернете
    • Таким образом, они не могут сделать все, что заставляет кешировать слои очистки. В противном случае сайт упал бы на лице, когда он вернулся в Интернет
  • Нагрузочное тестирование: пользователи
    • У них нет нагрузочного тестирования, которая может повторить пользовательский трафик
    • В каждом месте, над которым один из них работал, одна из самых сложных проблем — правильно имитировать нагрузку. Благодаря динамическим услугам, таким как Reddit, требуется много работы для разработки подходящего симулятора нагрузки
  • Не зарегистрированные в трафике Кэш Акамай
  • Фокус безопасности: Обеспечение того, чтобы одольщики не могут попасть в приложение и делать злые вещи. Поскольку они только проводят веб -сайт, в Infra есть очень небольшое количество векторов, которые находятся под приличным контролем безопасности
    • Самая распространенная атака: люди, пытающиеся «ддовать», соскребая один URL снова и снова
  • Для асинхронных вещей используется Rabbitmq. Например:
    • Голоса
    • Дерево комментариев перечисляется
    • Новые комментарии
    • Министерство
    • Обновления поисковой системы
  • IPv6: Akamai поддерживает это и снимает больше всего бремя
  • Они пристально следят за уровнем запроса, попавшей в инфраю и статистику в реальном времени от Google Analytics
  • Худшее время простоя: https://redditblog.com/2011/03/17/why-reddit-was-down-for-6-of-the-last-24-hours/
  • Самое глупое время простоя: iptables -t nat -l Чтобы проверить правила на первичной балансировщике нагрузки. Это загружает все модули iptables, включая Conntrack. Стол Conntrack сразу заполнился и снял сайт на несколько секунд
  • Серверы исправляются по мере необходимости. Они подписываются на все списки уведомлений о безопасности
  • Стратегии резервного копирования: зашифровать и отправить в S3. Есть также один резервный сервер Postgres, на котором записано все с каждого кластера базы данных (для большего количества потребностей в резервном копировании в реальном времени)

Проблемы

  • Начиная с нуля на многих вещах
  • Узкие места постоянно появляются. Исправьте одно узкое место, и повышенная пропускная способность представляет несколько новых узких мест
  • Не могу коснуться коробок с мемкахты. Разогреть их будет очень болезненным
    • В их масштабе они должны использовать кэширование, когда это возможно. Следовательно, закрыть все и начать все обратно, это болезненный процесс
    • Нужно разработать чистый способ разогревать кэши, не при этом пользователи попадают на сайт
    • Одна идея состоит в том, чтобы воспроизвести журналы доступа на передовые хосты
    • Другая идея состоит в том, чтобы отправить все большее количество реального трафика. Скажем, каждые 1 из 4 запросов добраются до чего -то, кроме страницы обслуживания

Совет

  • Потратьте много времени на работу над собственными вещами. Например, настройте сервер веб -/баз данных только для его ад.
    • Разорвать вещи, восстановить его, повторить
    • Найдите все интересное, что вы можете сделать на своем домашнем сервере, и попробуйте. Даже если вы никогда не собираетесь использовать его лично.
    • Если что -то сломается или не имеет смысла, не бросайте его, пока не поймете, что происходит
    • Избегайте принятия какого -либо менталитета грузового культа любой ценой
    • Если это звучит как экстремальное отверстие, пересмотреть устремления Sysadmin
  • СЕРТ Мэй Помогите вам получить интервью в некоторых компаниях и рычаг для рекламных акций на текущем рабочем месте

    • Но в основном они демонстрируют неглубокое понимание системы
    • Если вы уже знаете систему наизнанку, не повредит тратить небольшое количество времени на получение сертификата

Голый металл против облака

  • Оголенный метал:
    • Балансировщики нагрузки и серверы базы данных получат выгоду от голого металла
    • Плюс пункт: может экспериментировать с новым оборудованием
  • Облако:
    • Серверы приложений выиграют от облака
    • Плюс очки: приятно не беспокоиться о таких вещах, как сетевая инфра, установка нового оборудования, заказ нового оборудования, мощности стойки, и т.д

Ошибки, которые они сделали

  • Все раньше было в одной группе безопасности

Над чем они работали

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

Оригинал: «https://dev.to/yanhan/notes-from-a-reddit-sysadmins-ama-in-2013-b64»