Для описания Ansible плэйбуков и ролей попробуем использовать UML-диаграммы. Ранее уже была предпринята попытка взглянуть на Ansible, как на некое подобие языка программирования под углом ООП, сейчас же проделаем подобное с помощью диаграмм классов UML.
Архив автора: otokarev
Ubuntu: Как починить загрузчик?
Так получилось, что после покупки ноутбука и установки на него Ubuntu, я решил зачистить жёсткий диск на нём от Windows и по случайке снёс загрузчик (boot loader). Я было приуныл, вспоминая, как лет ндцать назад конфигурировал в консоли LILO, но-таки решил погуглить и поискать что-либо, что спасёт меня нажатием одной кнопки. И — нашёл!
ООП на Ansible? Да ладно!
В одной из последних статей я знатно набросил на Puppet в пользу Ansible. В этой же статье попробую продемонстрировать, от чего я был в особенности в восторге при знакомстве с Ansible — от функций, а именно, от возможности объединять куски последовательностей действий (tasks) в некое подобие функций и даже классов. В общем, адепт ООП везде объекты найдёт. 🙂 Перейдем к примеру…
Мониторинг на коленке: NGINX -> Rsyslog -> Logstash -> Graphite
В недавней статье рассматривался рецепт того, как можно быстро посредством Graphite визуализировать метрики, полученные из произвольного PHP-приложения. В настоящей же статье рассмотрим, как можно собрать и визуализировать в Graphite скорость загрузки страниц взятую из логов Nginx. В отличие от предыдущего рецепта этот не требует изменять Web-приложение.
Мониторинг на коленке: PHP -> StatsD(Bucky) -> Graphite
Раньше уже наталкивался на упоминания Graphite и StatsD, но всё в контексте каких-то нереальных приседаний с конфигами, и потому проходил мимо. Недавно же на службе звёзды сошлись таким образом, что-таки решил сесть и запилить по-быстрому сбор и отображение неких стат.данных PHP-приложения посредством StatsD и Graphite.
Дорожные истории
RabbitMQ: Пример реализации RPC на PHP
Оказалось нетривиальной задачей найти вменяемый пример кода реализации RCP поверх RabbitMQ для PHP. Пакет videlalvaro/Thumper, в основе своей имеющий videlalvaro/php-amqplib, кроме некоторых искусственных ограничений для пользователя (субъективно), обладает ещё и недостатком videlalvaro/php-amqplib — создать соединие и отправить сообщение в RabbitMQ занимает 120 попугаев по времение против 20 попугаев в PECL :: Package :: amqp — биндинге сишной библиотеки librabbitmq.
Ansible vs. Puppet: лирическое отступление.
Ansible считается наипростейшим способом автоматизировать IT инфраструктуру — это то, что написано на сайте производителя. Так это или не так, судить не берусь. Однако, имея небольшой опыт почти одновременного кавыряния в Puppet и Ansible, неавторитетно заявляю: Ansible действительно проще в освоении нежели Puppet.
Консолидация логов Storm (Storm — Rsyslog — Logstash — Elasticsearch)
Эффективная коммуникация
Раппорт, подстройка, психологические поглаживания — первое, что пришло в голову на «эффективная коммуникация». Кажется, многие считают, что это про вербальную коммуникацию, про речь, слова, обмен звуками складываемыми в слова и, далее, в предложения. Про прядение замысловатых интонационных рулад с собеседником, сопровождаемое плотным контактом глаз с поддерживающими кивками головой, игрой мимики. Эдакое парное катание, где партнёр обращён к партнёру.