В то время как организаторы фестиваля нанимают охрану и пытаются навязать свои правила на этом конкретном клочке земли, бизнесмены посерьезней нанимают лобби, которые навязывают свои правила уже на уровне законов.
В прошлом году задача формально звучала «в данной матрице найти подматрицу с максимальной суммой элементов», фактически это было «найди баг в алгоритме генерации матрицы», т.к. матриц. Что помешало нагенерить матрицы хорошим аппаратным рандомом и за'mmap'ить их потом для выравнивания времени, затраченного на io — непонятно.
Chef хорошо подходит для конфигурации большого количества идентичных серверов. А в связке с knife bootstrap и ssh-ключа можно делать из сервера конфетку одной командой. Так же в нем роли — наборы рецептов и других ролей — с помощью которых можно просто создавать высокоуровневые сущности. Например, можно создать роль frontend, на которую поставится nginx, пропишутся нужные хосты и fastcgi-pass'ы на бэкэнды, заданные ролью backend.
Неудобна тонкая кастомизация, когда вот эти 50 серверов надо сконфигурировать одинаково, а вот каждый из этих 10 — немного по другому. Количество атрибутов и if'ов в рецептах начинает расти как на дрожжах в таких случаях.
Но, в общем, я доволен chef'ом — нынешней базой в 50 рецептов окружение для разработки/тестирования разворачивается за 6-7 минут.
Это как?
LVM решает почти все проблемы. Ext* ФС позволяют увеличение раздела «на лету» без отмонтирование, правда придется перевести его в ro.
Неудобна тонкая кастомизация, когда вот эти 50 серверов надо сконфигурировать одинаково, а вот каждый из этих 10 — немного по другому. Количество атрибутов и if'ов в рецептах начинает расти как на дрожжах в таких случаях.
Но, в общем, я доволен chef'ом — нынешней базой в 50 рецептов окружение для разработки/тестирования разворачивается за 6-7 минут.