Pull to refresh
  • by relevance
  • by date
  • by rating

Первый опыт в качестве шеф-повара, или управление конфигурацией

System administration *Puppet *

Введение


Автоматизированное управление конфигурацией ваших компьютеров — необходимо для любой компании с большим парком компьютеров.

Сейчас среди администраторов очень популярен Puppet, но, по моему мнению, продукты с самописным DSL (предметно-ориентированным языком программирования) — ограниченны по своей природе.

Chef использует DSL, основанный на Ruby, что придаёт ему изящество и неограниченную расширяемость.

Update: spanasik поправил меня, Puppet также имеет в дополнение к внешнему DSL ещё и внутренний DSL, основанный на Ruby.

Прочесть вводную статью
Total votes 23: ↑22 and ↓1 +21
Views 10K
Comments 17

Chef или как управлять тысячей серверов

Оверсан-Скалакси corporate blog
Suck on my chocolate salty balls (c) ChefДавайте каждый попробует ответить на вопрос: как установить apache на сервер? Этот вопрос порождает ещё десяток: какая ОС стоит на сервере, какую версию ставить, где лежат конфиги по-умолчанию и т.д. и т.п.

А теперь давайте попробуем ответить на вопрос: как установить apache на 1000 серверов? Тут, при стандартном подходе, вопросов возникнет ровно в 1000 раз больше. Часть из вас наверняка подумали, что можно написать скрипт на shell/perl/python/ruby, который будет обходить все сервера и устанавливать apache, другая часть подумала о distributed shell'ах (PDsh, dsh, etc), кто-то же подумал монтировать rootfs серверов по NFS.

В ряде случаев выше предложенные варианты решений удовлетворительны, но на практике я нигде не видел полностью гомогенных систем (зачастую, внутри компании можно встретить не только разные версии ОС, но и различные дистрибутивы. Также в России/СНГ очень распространена каша из FreeBSD/Linux в ядре проектов), так что вряд ли за адекватное время будет возможно написать скрипт, который установит и настроит apache на зоопарке в 1000 машин под CentOS, Debian, Ubuntu, FreeBSD всевозможных версий.

По моим наблюдениям, очень мало IT подразделений, даже очень крупных компаниий, используют в своей работе SCM (Software Configuration Management). В этом посте я постараюсь описать все преимущества использования Chef в IT инфраструктуре на простых примерах и больших масштабах.

Если же, после столь короткого вступления, вы не прониклись идеей Chef, да и времени читать длинный технический пост у вас нет, то рекомендую вам пролистать до конца и посмотреть как используем Chef мы, Engine Yard, 37signals и подумать, можете ли вы переложить на него часть своей работы.
Читать дальше →
Total votes 97: ↑91 and ↓6 +85
Views 71K
Comments 26

Выпуск Chef 0.8.8

System administration *
Translation
Наступило время Chef 0.8.8, и большая новость, связанная с этим выпуском: мы исправили ошибку с ресурсом remote_directory, который был сломан для пользователей утилиты Chef Solo. Извините, ребята — мы добавили тесты, чтобы быть уверенными, что эта ошибка не проявится в будущем. Особое спасибо Джейсону Дюсеку, Михаилу Клишину и Дмитрию Дзёме за отчёт об ошибке и помощь в её исправлении.
Читать дальше →
Rating 0
Views 477
Comments 0

Chef 0.8.14 — поддержка Windows etc

System administration *
Новый выпуск Chef принёс с собой поддержку Windows и Scientific Linux в качестве клиента, более корректную поддержку FreeBSD, поддержку Ruby 1.9, а также множество исправлений.

Всем рекомендую обновиться, так как исправлена одна серьёзная уязвимость.

Update: в этом выпуске также обнаружено несколько недоработок (самая критичная — не совсем корректное изменение логики работы шаблонов), так что в течение ближайших дней можно ожидать ещё одной версии.
Total votes 5: ↑3 and ↓2 +1
Views 622
Comments 0

Немного о Chef 0.9

System administration *Puppet *
20 июня вышел в свет Chef 0.9.0, и затем ещё несколько патчей, устраняющих ошибки в этом продукте. Фактически можно рекомендовать к использованию, начиная с версии 0.9.4.

Изменены протоколы работы клиентов и сервера, поэтому обновление с Chef 0.8 надо производить и на сервере, и на клиентских машинах. Сам процесс обновления тривиален (на сервере при условии установки из гемов — gem install chef chef-server chef-server-api chef-server-webui chef-solr ohai, плюс рестарт сервисов, плюс rake install, на клиенте просто gem i chef).

Основные изменения затронули механизм хранения «кулинарных книг», — теперь можно поддерживать одновременно несколько версий одной книги. Улучшена поддержка Windows-клиентов.
Читать дальше →
Total votes 9: ↑3 and ↓6 -3
Views 895
Comments 4

Видео с конференции RailsClub'Moscow (30 октября 2010г.)

Ruby *
Смотреть всё подряд
Представлены доклады:

1. Ruby NoName Podcast Crew «Chef Light»
С помощью Chef можно организовать управление серверами не только для больших организаций, а для всех.
Есть сервер, есть клиенты которые гоняются на других серверах. Сервер говорит что надо сделать, клиенты делают. Для всего этого существуют dsl конфигурации с поддержкой pakages.
*Удалённое проведение конференции накладывает свои особенности. Извиняемся за качество видео.

2. Макс Лапшин «Rails do scale»
Пример приложения быстрого приложения на Rail для Vkontakte с посещаемостью ~ 1000 запросов в секунду.
Дёшево и работоспособно.

3. Алекс Дмитриев «Умное кэширование в rails»
Докладчик рассказывает о том, как пользоваться кэшированием в Rails, когда нужно использовать кэширование, что кэшировать, где хранить кэш и т.д.

4. Иван Евтухович «Vim or die»
Докладчик рассказывает о возможностях Vim — одного из мощнейших текстовых редакторов с полной свободой настройки и автоматизации.

5. Тимофей Цветков «Liquor, Liquid и другие безопасные языки разметки в RoR»
Безопасные шаблонизаторы для RoR. С помощью чего и как.

6. Андрей Руденко «Deploy fu»
Докладчик обсуждает достоинства и недостатки наиболее популярных в Ruby-сообществе инструментов развертывания приложений: Chef, Capistrano, Puppet, Сfengine, Bash-скриптики и др. Основная часть доклада посвящена презентации своего решения — Lorenz (см. github->lorenz).

Приятного просмотра.
Total votes 33: ↑30 and ↓3 +27
Views 796
Comments 15

Как управлять виртуальными машинами, если их много

System administration *
После того, как у нас вышли в релиз еще несколько проектов, а количество тикетов в трекере на тему «создать пользователя, развернуть виртуалку, дать доступ» превысило все мыслимые пределы, назрела необходимость что-то менять.
Задача: организовать рабочее окружение linux для нескольких команд разработчиков и тестировщиков. Общее количество виртуальных машин — три-четыре десятка.

image
Читать дальше →
Total votes 75: ↑69 and ↓6 +63
Views 17K
Comments 36

Суперкластер из 30 тыс. ядер на Amazon EC2

Cloud computing *
Компания Cycle Computing успешно запустила на Amazon EC2 кластер из 3809 восьмиядерных процессоров, что в совокупности даёт систему с 30 472 ядрами, 27 ТБ оперативной памяти и 2 ПБ дискового пространства. Кластер Nekomata (с японского, разновидность кошки-монстра) работает на CentOS Linux.

С производительностью около 200 TFlops Nekomata мог бы занять 37-е место в списке самых мощных суперкомпьютеров мира. Суперкластер смонтирован для одной из крупных фармацевтических компаний, название которой не разглашается. Стоимость аренды составляет $1279/час на максимальной нагрузке.
Читать дальше →
Total votes 36: ↑28 and ↓8 +20
Views 2.5K
Comments 30

Сегмент Clodo во втором ДЦ и работа над ошибками

Clodo corporate blog
На предыдущей неделе мы запустили в коммерческую эксплуатацию второй сегмент облака Clodo — в ЦОДЕ KIAEHOUSE, расположенном на территории Курчатовского Института.

Тестировали и отлаживали мы его долго. Основная задача, которую мы ставили перед собой, когда работали над вторым сегментом — это сделать «работу над ошибками», избавиться от тех недочетов, которые привели к тем событиям, про которые вы, дорогие читатели нашего хабраблога, не устаете напоминать нам в наших постах.

Как вы знаете, никакая авария и никакой простой не обходится так или иначе без человеческого фактора. Люди, какими бы они не были профессионалами, склонны ошибаться. Поэтому мы постарались минимизировать человеческий фактор и автоматизировать все процессы жизнедеятельности облака. Кроме того, мы поставили перед собой еще ряд задач, имеющих отношение к стабильности.
Задачи и решения
Total votes 28: ↑21 and ↓7 +14
Views 4.8K
Comments 6

Основные тезисы конференции HighLoad++ 2011

Self Promo
imageВ октябре 2011 года в Москве проходила ежегодная конференция разработчиков высоконагруженных проектов HighLoad++.
Решил поделиться с читателями основными тезисами с конференции. Поскольку вся информация открыта и доступна на странице конференции, решил что собрать все тезисы вместе будет не такой уж и плохой затеей. Сразу отмечу, что в отчёте не содержится детальной информации о каждом докладе — затронуты лишь ключевые моменты.
Итак, о чём говорилось на HighLoad++ 2011.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Views 3.9K
Comments 2

5 основных анти-паттернов системного администрирования

System administration *Puppet *
Sandbox

Введение


Эта статья – скорее из разряда «для самых маленьких», чем «для умудренных опытом», но она призвана повышать профессиональную культуру системных администраторов.
В силу специфики работы мне «по наследству» достается самый разнообразный облачный ад, который приходится разгребать, оптимизировать, приводить в чувство и делать прозрачным и красивым. Эти заметки, пожалуй, иллюстрация к тем моментам, которые вообще недопустимы в системном администрировании.
В причинах, которыми порождаются эти анти-паттерны, можно разбираться очень долго: дедлайны, законы и темпы бизнеса, да и просто идиотизм, наконец. Но цель статьи другая. Мне бы хотелось породить конструктивную дискуссию. А вот уже её результаты и являются основной целью статьи.
Читать дальше →
Total votes 81: ↑71 and ↓10 +61
Views 46K
Comments 59

Порцию серверов пожалуйста, или как начать деплоить с Opscode Chef

Server Administration *
Большинство русских статей по (Opscode Chef), которые мне попадались, содержали выдержки из кукбука (cookbook) и рассказ «какая классная штука Шеф». И все. Мол, смотри как я могу! А что и как с ним делать — не понятно. На официальном сайте есть подробная вики. Но в ней, ИМХО, легко заблудиться. Простого руководства «как сделать элементарное чтобы работало» нашел только в виде видео, по мотивам которого родилась эта статья.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 11K
Comments 15

Быстрое развертывание среды разработки

Website development *
Чтобы избежать больших затрат на развертывание сред разработки и тестирования, приближенных к среде эксплуатации (development stage vs production stage parity), всё большую популярность приобретает виртуализация сред.

В этой статье я расскажу, как создавал соответствующую репродуцируемую среду разработки на примере своего проекта runit-man с использованием Vagrant.
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Views 75K
Comments 7

Автоконфигурация в облаке Amazon при помощи Chef-Solo

EPAM corporate blog
Sandbox
Tutorial
Здравствуйте!

В этой статье я хочу рассказать об автоконфигурации в облаке. Для примера запустим ec2-инстанс, на котором «приготовится» WordPress.

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



Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Views 7.2K
Comments 8

Ключ от всех дверей в непрерывной интеграции — rundeck

Configuring Linux *System administration *Server Administration *
При большом количестве серверов и виртуальных машин и еще большем количестве кода в постоянном деплое, неизбежно возникают проблемы администрирования всего этого огромного хозяйства. Существует множество инструментов, позволяющих организовать continuous integration. В нашем списке точно уже есть GIT, Jenkins, Chef, Proxmox, Graylog2. Сегодня мы расскажем еще об одном удобном инструменте для автоматизации рутинных задач с помощью сценариев — rundeck. Эта статья — не подробный мануал с примерами конфигов, а скорее размышления на тему.
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Views 25K
Comments 28

Cfengine3 — система управления конфигурациями

System administration *Puppet *
На Хабре несколько раз писали о системах менеджмента конфигураций puppet и chef, но по какой-то причине первопроходец этой темы — cfengine, обделен вниманием, давайте воспоним этот пробел.
Подробности
Total votes 15: ↑14 and ↓1 +13
Views 23K
Comments 14

Cfengine3 — немного о policy hub

System administration *Puppet *
В прошлой заметке я кратко рассказал о замечательной системе управления конфигурациями cfengine3. Сегодня рассмотрим ее немного подробнее касательно клиент-серверной настройки и более тонкой настройки клиентов в зависимости от предполагаемой функциональности.

Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 5K
Comments 3

Тестирование в Mail.Ru Group

Mail.ru Group corporate blog IT systems testing *
Эта статья написана по мотивам одноименного доклада на Highload++'2012. Предназначена она для руководителей, которые смогут, взглянув на наше тестирование, сравнить его с тестированием в своем проекте, для программистов и системных администраторов, которым представится возможность посмотреть на тестирование как на очень интересную работу, и, конечно, для тестировщиков.

В статье я расскажу, о том, каким на самом деле может быть тестирование, как мы сделали тестирование продуктивной и интересной работой, какие задачи мы решаем, и почему работать у нас хорошо.
Читать дальше →
Total votes 112: ↑76 and ↓36 +40
Views 40K
Comments 32

Автоматическое конфигурирование виртуальных машин в облаках при помощи метаданных

EPAM corporate blog Amazon Web Services *Puppet *

In God we trust, the rest we automate
— unknown DevOps Engineer

Использование виртуализации и облачных платформ позволяет в десятки раз сократить время, затрачиваемое на запуск и обслуживание IT инфраструктуры. Один человек может манипулировать десятками, сотнями и даже тысячами виртуальных серверов, с легкостью их запускать, останавливать, клонировать, изменять конфигурацию оборудования и создавать на их основе готовые образы систем. Если все ваши сервера имеют одинаковую конфигурацию, то особых проблем нет, можно один раз вручную настроить сервер, сделать на его основе образ и запускать столько машин, сколько вам необходимо. Если же у вас большое количество разных операционных систем с разным набором программного обеспечения или если вам необходимо быстро запускать и останавливать сложные кластерные конфигурации, то обслуживание даже нескольких десятков таких серверов будет занимать очень много времени. Можно, конечно иметь набор разных скриптов и образов на все случаи жизни, которые необходимо будет сопровождать и обновлять, но более рационально использовать один скрипт и несколько образов, а все необходимые параметры передавать при старте системы. Многие платформы для облачных вычислений предлагают, так называемый, механизм метаданных (metadata) или пользовательских данных (user-data), используя этот механизм, вы можете передать скрипту все необходимые данные по настройке конкретной виртуальной машины или даже передать сам скрипт, чтобы он выполнился при старте.


Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 8.7K
Comments 3