Как стать автором
Обновить

[конкурс] DevOps Brainwashing

Время на прочтение3 мин
Количество просмотров7K
В быстрорастущем интернет-проекте, когда каждый день приходится управлять большим количеством инстансов, управление инфрастуктурой выглядит обычно так:



Варианта развития событий два. Либо админы сходят с ума, после 100500 деплоя приложения на сотню серверов, либо они начинают использовать лучшие рецепты DevOps. У тебя есть возможность пройти классный курс «DevOps для интернет-проектов», который проводится в рамках курсов Brainwashing. Курс ведут люди, которые многие годы занимались эксплуатацией в таких компаниях, как Skype, Groupon, КупиКупон, Оверсан-Скалакси. И вот, что они обещают:

За 2 дня разберём внедрение DevOps на практике. Научим устанавливать окружение сервера за 5 минут, делать выкатку простой и управляемой, настраивать мониторинг так, чтобы он помогал, а не спамил. Объясним, когда использовать облака и CDN, где лучше размещать проект и как не пострадать от падения марсианского корабля на датацентр.

При этом это не два дня лекций, а мастер-класс с закреплением теоретических знаний практикой (для этого на курс надо взять ноутбук с Linux или OS X на борту).


Курс платный, однако, место можно получить бесплатно, если первым максимально правильно и полно ответить на следующие вопросы.

1. У вас в конфиге nginx следующее:

upstream fallback {
  server 127.0.0.1:80;
}

server {
    listen 80;
    server_name example.com www.example.com mobile.example.com;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    location /nginx-status {
      stub_status on;
      access_log   off;
    }

    location / {
      proxy_set_header X-Real-IP $remote_addr;
      if ($host = 'mobile.example.com') {
        rewrite ^ http://example.com/mobile/$uri last;
        break;
      }
      proxy_pass http://fallback;
    }
}


Перепишите этот конфиг так, как вы считаете должно быть правильно.

2. В приложении вы выполняете некоторые запросы на read-only реплике, На особенно долгих запросах приложение пишет в лог:

ActiveRecord::StatementInvalid: PGError: ERROR: canceling statement due to conflict with recovery DETAIL: User query might have needed to see row versions that must be removed. : SELECT …

Почему это может происходить и что надо сделать, чтобы это исправить?

3. Развернуто расскажите в чем особенности ассинхронной модели ввода-вывода (epoll) и многотредовой модели (thread pool). В каких случаях удобней использовать одну модель а в каких другую? Сервис с какой моделью вы выбрали бы для работы с жестким диском?

4. Что делает tcp, когда приемный буфер переполнен? Представьте, что вы создатель протокола tcp и как вы бы решили проблему переполнения буфера?

5. Вы используете IO планировщик deadline и решили запустить скрипт на удаление файлов с пониженным приоритетом к диску. После старта, скрипт загрузил весь диск и стал мешать другим процессам. В чем причина?

6. В чем отличие расчета значений load average в Linux и Freebsd (или Solaris), как вы сами бы сделали формулу подсчета этого параметра?

Ответы принимаются до 19 сентября через эту форму.

P.S. Полная программа курса

День первый. Рассказ о подходах и практиках, введение в методологию. Инфраструктура: серверы и облака, как выбрать? Каналы связи, CDN — особенности и подводные камни. Как прогнозировать нагрузку, управление мощностями. Мониторинг. Первая практика — работа с vagrant и chef-solo, разворачиваем проект. Как не потерять данные и запросы к сайту — бэкапы и отказоустойчивость. Управление конфигурацией. Особенности начальной установки серверов.

День второй. Введение в Opscode Chef. Вторая практика — работа с knife и chef-server. Архитектура Сhef и анатомия Chef-run. Минимальный руби курс для работы с Chef. Третья практика — заменяем в своей инфраструктуре apache на nginx, используя Chef. Работа с аттрибутами, ролями и окружениями в Chef. Датабаги и управление данными. Четвертая практика — работа с данными в Chef. Пятая практика — LWRP, code reuse. Шестая практика — примеряем workflow работы с кукбуками. Седьмая практика — особенности выкатки с системой управления конфигурацией.
Теги:
Хабы:
Всего голосов 17: ↑15 и ↓2+13
Комментарии7

Публикации

Информация

Сайт
xakep.ru
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия

Истории