Category: it

Category was added automatically. Read all entries about "it".

realloc() in the /bin/sh

Про Chef и Ansible

Кажется я наконец могу сформулировать внутренне ощущение по поводу сравнения Chef и Ansible после двух месяцев погружения.

Ansible — OpsOps тулза. Именно поэтому она так популярна у простых админов. Она очень хорошо ложится на их модель мышления и действий. Просто запускаем разные команды по SSH на серваках в зависимости от входных параметров, продолжаем сидеть в уютном Operations мирке, но автоматизируем свою деятельность не меняя кардинально привычного подхода к работе. И это хорошо, юниксвейно, и даже просто замечательно, если сравнивать с бестиариями башово-перлово-питонячих скриптов.

Chef — DevOps тулза. Да, её можно использовать и как чисто OpsOps, но больше пользы Шеф приносит когда работает клеем между разными частями проекта, позволяя сращивать управление конфигурацией с CI, assets management, аудитом безопасности, процессом доставки приложения, тестирования, etc. Именно случай Infrastructure as a Code в комплексном её восприятии, когда вовлечены не только Ops и Dev, но и Sec, QA, аналитики, продуктологи и офисная массажистка. И желательно что бы всё строилось от Программного продукта, который есть основное дело компании. Тогда все эти сложности обретают смысл и Chef приносит максимальную пользу.

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

P.S. Важное замечание. Мы тут говорили про стек инструментов/экосистему Ansible и Chef, а не только про Chef-client и ansible-playbook, если это не очевидно по тексту.

Такие дела.
Realloc() on Duty. Death.

Про чужеродность и ынтерпрайз

В юниксах/линуксах управление системой всегда традиционно отталкивалось от файлов конфигурации, этакий data driven подход. Современные никсовые системы управления конфигурацией на этот факт и ориентируются, в большей или меньшей степени, а Puppet так и вообще ставит во главе угла. Но тут приходит systemd, и приносит совсем другой подход, опирающийся на вызовы, чуждый этой системе.
Например, вместо чтения из файла что бы узнать текущую таймзону и записи в него что бы установить, теперь надо спрашивать значение параметра у специальной утилитки и скармливать ей же для установки. Казалось бы для среднего пользователя разница несущественная, но проблема не в одном параметре, а в их множестве. Теперь подход "сделать как надо, сравнить с тем, что есть и исправить неправильное" обретает иную реализацию, а то и несколько через общий слой абстракций.

Очень напоминает get/set и идеологию управления виндами из PowerShell...

Жизнь --- боль.
realloc() in the /bin/sh

Письмо Деду Морозу

Дорогой Дедушка Мороз, я работаю в области хостинга. Всё бы не так плохо, но жизнь мою омрачает своим существованием PHP, как и жизнь сообщества его любителей. Эти альтернативно одарённые люди порождают неимоверной удивительности код, который не даёт мне соскучиться и вносит неповторимое разнообразие в серые будни. Я хочу попросить тебя, Дедушка Мороз, о подарке не для себя, а для этих самоотверженных героев. Подари им, пожалуйста, новую версию php, в которой хотя бы скорость выполнения программы не зависела бы от длинны имён переменных в ней.
  • Current Mood
    cynical cynical