Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «passenger»
[Из песочницы] Ansible и Rails — гибкая замена Capistrano с сохранением знакомого комфорта 2015-09-07 15:09:38
Capistrano — любимый многими rails-разработчиками инструмент, с помощью которого можно быстро и ...
+ развернуть текст сохранённая копия
Capistrano — любимый многими rails-разработчиками инструмент, с помощью которого можно быстро и без заморочек автоматизировать развертывание вашего приложения. Capistrano — стандарт де-факто для системы развертывания RoR, must-know технология для любого уважающего себя рубиста, тот инструмент, которому в своё время завидовали разработчики на python и PHP.
Несмотря на комфорт, от которого не хочется отказываться, чем более сложные задачи мне приходилось решать, тем чаще Capistrano показывал себя к ним не приспособленным.
Я отметил следующие недостатки:
- Известные проблемы со скоростью. Вследствие своей универсальности, Capistrano деплоит медленно, выполняя лишние проверки и вызовы, которые вы не всегда можете контролировать.
- Последовательный деплой. Небыстрое время развертывания нужно умножить на количество целевых серверов.
- Сильная связанность с рельсами. Конфиги и зависимости Capistrano переплетаются с приложением, становясь его частью. Нельзя создать новое окружение-развертывания (например сервера для раннего выкатывания функционала) без создания нового rails-окружения. В сложных ситуациях Capistrano заставляет уходить от хорошей практики держать только development, test и production окружения.
- Плагины — палка о двух концах. Давая возможность быстро “прикрутить” развертывание той или иной зависимости приложения, плагины лишают вас контроля ситуации, заставляют действовать так, как действует разработчик плагина. О влиянии лишних “телодвижений” плагинов на скорость деплоя я написал выше.
- Сложный деплой гетерогенных приложений. Трендом последних лет в рельсах стало выделение самых тяжелых (бекграундных или сетевых) задач в отдельные сервисы, не обязательно написанные на ruby. В такой ситуации capistrano заставляет вас плодить зоопарк из разных систем развертывания для разных языков и технологий.
Многие ruby-разработчики перешли на Mina или решают свои проблемы с помощью ещё более сложных систем управления конфигурациями вроде Chef и Puppet. Все они имеют свои особенности и недостатки и в разной степени решают описанные выше проблемы. Мне же удалось их решить их с помощью Ansible, не растеряв преимуществ Capistrano, к которым я привык.
Ansible это инструмент для управления конфигурациями и в его задачи входит не только описанное в этой статье выполнение удаленных команд на серверах для развертывания и управления отдельным приложением, но и автоматизация серверного администрирования посредством хранимых серверных конфигураций (ролей на языке Ansible). А значит Ansible (как впрочем и Chef и Puppet) позволяет гораздо больше, чем Capistrano и в конечном счете они все не идут с ним ни в какое сравнение. Однако, задача этой статьи дать rails-разработчикам отправную точку для миграции и разъяснить на этом примере основы Ansible. В конце этой статьи, волшебная команда cap production deploy превратится в ansible-playbook deploy.yml -i inventory/production
Кому интересно как — прошу под кат.
Читать дальше →
Тэги: ansible, capistrano, configuration, deploy, deployment, management, passenger, rails, ruby, sidekiq, tools, веб-разработка
Passenger – Whispers II (Deluxe Edition) (2015) 2015-04-21 23:00:11
Artist: Passenger Album: Whispers II ( ...
+ развернуть текст сохранённая копия
Artist: Passenger Album: Whispers II (Deluxe Edition) Genre: Folk Rock / Acoustic / Traditional Folk Country: UK Quality: 320 kbps Tracklist: 01. Fear of Fear 02. Catch in the Dark 03. A Thousand Matches 04. I’ll Be Your Man 05. Travelling Alone 06. David 07. Words 08. The Way That I Need You 09. Strangers [...]
Тэги: acoustic, folk, passenger, rock, traditional
3d model of Low Poly Crystal Symphony by 3d_molier 2013-12-24 21:06:00
+ развернуть текст сохранённая копия
This 3d model of Low Poly Crystal Symphony is a high quality model that will enhance detail and realism to your rendering projects. The model has a fully textured design that allows for close-up renders, and was originally modeled in 3ds Max 2011 and rendered with V-Ray.
Тэги: boat, commercial, cruise, crystal, liner, low, luxury, passenger, poly, recreational, ship, symphony, vacation, vehicle, vessel, vray, watercraft
Обновления на лету (zero-downtime deployment) вообще и в Ruby on Rails 2012-06-14 11:14:16
Сначала разберемся с определениями. Под обновлением на лету мы подразумеваем такое обновление ...
+ развернуть текст сохранённая копия
Сначала разберемся с определениями. Под обновлением на лету мы подразумеваем такое обновление системы, при котором не нарушается штатная ее работа: клиенты работают, посетители ходят и никто не наблюдает ошибок, увеличившегося времени отклика или таблички “УЧЁТ”.
Зачем это нужно? Если вы задаетесь этим вопросом — вам не нужно. Вешайте табличку, садитесь обедать.
Как это делается? Сложно. Почему? Главных причин две:
— вы не можете обновить систему мгновенно и атомарно (то есть ровно между двумя HTTP запросами). При наивном подходе пользователи заметят как минимум долгое время отклика, а то и ошибку, если, к примеру, БД обновлена, а код еще нет;
— состояние и конфигурация системы существуют и на клиенте и на сервере. Примеры: данные в сессии, имена полей формы, адреса в ссылках, состояние в javascript на открытой у пользователя странице.
Читать дальше →
Тэги: <, castle>>, downtime, passenger, phusion, rail, ruby, unicorn, zero, блог, веб-разработка, компания, миграция
Ruby on Rails / Разворачиваем приложение на чистой Убунте: от A до Z 2011-10-05 18:22:01
Итак, у вас есть чистая Ubuntu, в консоли открыто ssh-соединение с сервером и консоль вас заманчиво ...
+ развернуть текст сохранённая копия
Итак, у вас есть чистая Ubuntu, в консоли открыто ssh-соединение с сервером и консоль вас заманчиво приглашает — «root@my-awesome-host:~#» — и больше ничего нет. А хочется запустить и показать всему миру какое-то рельсовое приложение. Поехали от супа до орехов.
Читать дальше →
Тэги: bundle, git, mysql, nginx, passenger, rail, ruby, rvm, ubuntu
Главная / Главные темы / Тэг «passenger»
|
Взлеты Топ 5
Падения Топ 5
|