Как стать автором
Обновить

18 ноября приходите на онлайн-митап для DevOps-разработчиков

Блог компании VK DevOps *

Приглашаем на VK Tech Talks · DevOps — здесь будут делиться опытом разработчики из ВКонтакте, Юлы и Одноклассников. Поговорим о деплое, лучших практиках в логировании и мониторинге, а также масштабировании Vault на тысячи сервисов.

Это онлайн-встреча, трансляция пройдёт в сообществе VK Team ВКонтакте. Начинаем в 18:00 по московскому времени. Ждём как опытных специалистов, так и начинающих разработчиков. Регистрируйтесь, чтобы задать вопросы спикерам и поучаствовать в викторине.

Подробнее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 375
Комментарии 0

Связка rvm + Rails + Nginx + Unicorn или деплоим рельсы правильно

Ruby on Rails *
Из песочницы
Целью данной заметки я ставлю в подробностях описать организацию сервера для Rails приложений в самой популярной на данный момент связке: rvm + Rails + Nginx + Unicorn. К написанию статьи побудило отсутствие полной пошаговой документации по этой связке, понятной не только ядреным профессионалам этой области. Далее я попытаюсь подробно, шаг за шагом, описать идеологически правильный процесс организации сервера для обслуживания нескольких Rails приложений (на примере одного) — если у вас есть абсолютная уверенность в том, что на подопытной машине никогда не будет работать более одного приложения — настройка может быть существенно короче и проще. Хочу предупредить, что тонкости, касающиеся работы приложения под высокой нагрузкой в статье не описываются, т.к. цель ставилась иная — заставить работать приложение в связке и сократить количество конфликтов с другими приложениями до минимума.
Читать дальше →
Всего голосов 68: ↑63 и ↓5 +58
Просмотры 54K
Комментарии 135

Еще одно руководство по CCnet + SVN

Системы управления версиями *
Из песочницы
Cruise Control — одна из достаточно большого количества CI (continuous integration) систем. Речь пойдет о том, как настроить ее для связи с SVN и деплоя сайта на .NET.

Для начала немного о задачах СС на данном сервере:
  • Взять код из SVN репозитория
  • Скомпилировать его
  • Положить в директорию к IIS


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

Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 4.9K
Комментарии 3

Скрипт для сравнения двух БД Oracle

Oracle *
Процесс выката новых версий ETL на продуктив всегда процесс волнующий. Редко когда среда разработки полностью соответствует среде эксплуатации, в моем предыдущем проекте различались в том числе ОС и железо, на которых велась разработка и эксплуатация ХД.

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

После такого сравнения и унификации многие, зачастую неожиданные, проблемы при деплое должны будут найтись немного раньше, на этапе тестирования, т.е. при деплое с ДЕВа на СИТ. А определенное количество устаревших маппингов OWB или таблиц можно будет удалить с ПРОД системы.

Возможности сравнения нескольких БД присутствуют в некоторых утилитах разработки и администрирования БД, в частности данный набор скриптов получен из Toad. Мой коллега просто выбрал необходимые параметры для сравнения, которых, я думаю, будет достаточно для начала и вам, а уж если вы используете кластеризацию таблиц или что-то более сложное добавить вывод этих объектов для сравнительного анализа сможете сами.

Сформированные файлы (db_info.txt с ДЕВа и такой же с ПРОДа) можно, в дальнейшем, сравнивать утилитами типа WinDiff и решить, где значение вернее и какое из них оставить.
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 16K
Комментарии 8

Разработчики «Мамбы» на конференции HighLoad++2012

Блог компании Мамба
Сегодня стартовала самая значимая конференция для разработчиков HighLoad++2012
Наши прекрасные разработчики расскажут много интересного и полезного о высоконагруженной системе знакомств с аудиторией в 17 000 000 пользователей.

Спикеры «Мамбы»:
Глеб Арестов
Использование Comet для создания интерактивных интерфейсов

Михаил Буйлов
Цикл разработки, визуальный деплой, автоматизация и интернационализация

Дмитрий Ананьев
Практические вопросы использования NOSQL в высоконагруженном проекте (NoSQL-экзотика: TokyoTyrant -> KyotoTycoon -> Google LevelDB)

Илья Шаповалов
Производительный специализированный поиск: архитектура, область применимости
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 3.1K
Комментарии 0

Архитектура высоконагруженных приложений. Масштабирование распределенных систем. Часть вторая

Блог компании Badoo Разработка веб-сайтов *Программирование *
На этой неделе мы выкладывали первую часть расшифрованного подкаста. Сейчас подготовили вторую часть.

О чем мы говорим во второй части подкаста:
  • Горизонтальное масштабирование проекта

— когда стоит использовать облачные сервисы, а когда физический хостинг;
— «красивость решения» против «грязного, но производительного» кода. ORM и всякие подобные штуки;
— мультиязычность и мультизонность проекта, проблемы и решения.

  • Асинхронные задачи. Очереди.

— асинхронные задачи в распределенных системах;
— когда они приходят на помощь, какие технологии существуют и активно развиваются сейчас;
— какие подходы организации асинхронных задач используются в Badoo;
— c какими проблемами приходилось и приходится сталкиваться при работе с очередями;
— полезные книги и интересные конференции;
— интересные кейсы с собеседований.

Читать расшифровку подкаста
Всего голосов 66: ↑63 и ↓3 +60
Просмотры 39K
Комментарии 33

Git rebase «по кнопке»

Блог компании Badoo Разработка веб-сайтов *Git *

Когда мы говорим об автоматизации процесса разработки и тестирования, мы подразумеваем, что это очень масштабное действие, и это действительно так. А если разложить его по частям, то станут видны отдельные фрагменты всей картины ― такая фрагментация процесса очень важна в двух случаях:
  • действия выполняются вручную, что требует сосредоточенности и аккуратности;
  • жёсткие временные рамки.

В нашем случае налицо лимит по времени: релизы формируются, тестируются и выкатываются на продакшн-сервер два раза в день. При ограниченных сроках в жизненном цикле релиза процесс удаления (отката) из релизной ветки задачи, содержащей ошибку, имеет важное значение. Для её выполнения мы используем git rebase. Так как git rebase ― это полностью ручная операция, которая требует внимательности и скрупулезности и занимает продолжительное время, мы автоматизировали процесс удаления задачи из релизной ветки.
Читать дальше →
Всего голосов 73: ↑72 и ↓1 +71
Просмотры 22K
Комментарии 13

Опрос. Как вы делаете деплой на production сервер(а)?

Разработка веб-сайтов *
Коллеги расскажите, пожалуйста. как вы делаете деплой на production сервер(сервера) веб-проектов.
Если у вас используется 3 или 4 вариант, то как вы переключаете document_root — создаете симлинк на новый релиз или переписываете (скриптом) конфиг nginx?
Если переключать симлинк не бывает проблем с APC или XCache?
Если не хватает какого то варианта пишите в комментарии.

UPD: Спасибо всем за комментарии, пятничный пост получился очень продуктивным и полезным думаю для многих.
UPD2: Небольшой обзор комментариев:
подробные разборы деплоя habrahabr.ru/post/211733/#comment_7286111 habrahabr.ru/post/211733/#comment_7287769
утилиты для создания deb пакетов habrahabr.ru/post/211733/#comment_7286187
наиболее популярное готовое ПО capistrano, fabric, teamcity
Всего голосов 56: ↑42 и ↓14 +28
Просмотры 63K
Комментарии 149

Оптимизируем рабочий процесс

Git *
Из песочницы
Доброго времени суток. Решил поделиться опытом в организации рабочего процесса разработки веб-проектов и не только веб. Расскажу свое видение максимально удобного использования связки типа: bugtraker + git + ci + deploy.



Все чаще сталкиваюсь с тем, что подобная оптимизация будет полезна широкому кругу людей. Возможно, в предложенном варианте нет ничего нового, но, лично для меня это было, можно сказать, откровением. Если кто-то, кроме меня, захочет внедрить у себя на проекте что-то подобное, то я буду считать, что статья написана не зря.
Читать дальше →
Всего голосов 28: ↑21 и ↓7 +14
Просмотры 17K
Комментарии 21

Каждой ветке по хосту c помощью capistrano

Блог компании AT Consulting Ruby *Ruby on Rails *
Думаю многим знакомо понятие «борьба за staging», когда все разработчики одновременно за день до релиза хотят поделиться своими наработками, чтобы тестировщик их проверил как можно скорее и не пришлось всю ночь править баги, да? Кому интересно посмотреть как мы решаем данную проблему для RoR-проектов с помощью Capistrano прошу под кат.


Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры 6.1K
Комментарии 8

Node.js в бою (создание кластера)

Разработка веб-сайтов *Node.JS *
Перевод
Tutorial
Когда вы используете приложения на node.js в продакшене, вам приходится задумываться о стабильности, производительности, безопасности и удобстве поддержки. Данная статья описывает мои мысли о лучших практиках использования node.js в бою.

К окончанию данного руководства вы получите систему из 3 серверов: балансировщик (lb) и 2 сервера приложений (app1 и app2). Балансировщик будет следить за доступностью серверов и распределять между ними траффик. Серверы приложений будут использовать комбинацию systemd и кластеризации node.js для балансировки траффика между несколькими процессами ноды на сервере. Вы сможете выкатывать код с помощью одной команды со своей машины, и при этом не будет перерывов в обслуживании или необработанных запросов.
Все это можно представить в виде схемы:


Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры 66K
Комментарии 17

Сине-зеленый деплой

Системное администрирование *IT-инфраструктура *DevOps *
Перевод

Я и мои коллеги всегда склоняем своих клиентов полностью автоматизировать процесс деплоя. Автоматизация помогает сократить количество конфликтов и задержек, которые возникают в процессе между "завершением" работы над программой и введением в эксплуатацию. Дэйв Фарли (Dave Farley) и Джез Хамбл (Jez Humble) заканчивают книгу "Непрерывная доставка" (Continuous Delivery) на эту тему. Она основывается на множестве идей, которые в целом связаны с непрерывной интеграцией и подталкивают к возможности быстро пустить софт в работу. Глава о сине-зеленом деплое привлекла мое внимание, потому что это один из малоиспользуемых методов, и я решил кратко его осветить.

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 46K
Комментарии 12

Эволюция процесса деплоя в проекте

Блог компании Конференции Олега Бунина (Онтико) Системное администрирование *IT-инфраструктура *Серверное администрирование *DevOps *


Денис Яковлев (2ГИС)


Меня зовут Денис, я работаю в компании 2ГИС, около полутора лет занимаюсь вопросами continuous delivery для проектов веб-отдела. До этого работал в компании Parallels и там прошел путь от QA инженера до team lead’а.

Про deploy. Если мы с вами выпускаем не коробочный продукт, а пишем какой-нибудь сервис, который работает где-то, как многие называют, в дикой природе, на серверах, куда заходят пользователи, то нам недостаточно просто разработать этот сервис и протестировать, нам нужно еще его в эту дикую природу как-то задеплоить, т.е. доставить туда код вместе со всем необходимым для его работы.

Из чего это состоит? Нам нужно доставить, прежде всего, код — то, над чем мы работали большое количество времени, тестировали и прочее.
Читать дальше →
Всего голосов 27: ↑22 и ↓5 +17
Просмотры 17K
Комментарии 20

Безопасность в IoT: Обеспечение безопасности развертывания Azure IoT

Блог компании Microsoft Информационная безопасность *Microsoft Azure *Разработка для интернета вещей *
Tutorial
Представляем вашему вниманию последнюю статью из цикла «Безопасность в IoT», а также приглашаем принять участие в конференции от Microsoft «Бизнес.IoT: открывая интернет вещей». В этой статье детально рассматриваются средства обеспечения безопасности IoT-инфраструктуры на базе Azure IoT и описывается уровень реализации в процессе настройки и развертывания отдельных компонентов. Представлен также сравнительный анализ различных методик.


Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 4.7K
Комментарии 2

Практики Continuous Delivery с Docker (обзор и видео)

Блог компании Флант Системное администрирование *DevOps *
Свой блог мы начнём с публикаций, созданных по мотивам последних выступлений нашего технического директора distol (Дмитрия Столярова). Все они состоялись в 2016 году на различных профессиональных мероприятиях и были посвящены теме DevOps и Docker. Одно видео, со встречи Docker Moscow в офисе Badoo, мы уже публиковали на сайте. Новые будут сопровождаться статьями, передающими суть докладов. Итак…

31 мая на конференции RootConf 2016, проходившей в рамках фестиваля «Российские интернет-технологии» (РИТ++ 2016), секция «Непрерывное развертывание и деплой» открылась докладом «Лучшие практики Continuous Delivery с Docker». В нём были обобщены и систематизированы лучшие практики построения процесса Continuous Delivery (CD) с использованием Docker и других Open Source-продуктов. С этими решениями мы работаем в production, что позволяет опираться на практический опыт.

Дмитрий Столяров (Флант) на RootConf 2016

Если у вас есть возможность потратить час на видео с докладом, рекомендуем посмотреть его полностью. В ином случае — ниже представлена основная выжимка в текстовом виде.
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 29K
Комментарии 14

Собираем Docker-образы для CI/CD быстро и удобно вместе с dapp (обзор и видео)

Блог компании Флант Системное администрирование *DevOps *
Это вторая публикация, созданная по мотивам моих выступлений на конференциях. Первая была общей и посвящена обзору практик Continuous Delivery с Docker. Новая основана на более прикладном докладе «Собираем Docker-образы быстро и удобно», который прозвучал 8 ноября на конференции HighLoad++ 2016 в секции «DevOps и эксплуатация».



Как и в прошлый раз, если у вас есть возможность потратить ~час на видео, рекомендуем посмотреть его полностью (см. в конце статьи). В ином случае — представляем основную суть в текстовом виде.

Что мы хотим от Docker-образов?

Всего голосов 16: ↑15 и ↓1 +14
Просмотры 25K
Комментарии 24

MeteorJS, Nginx, mongodb, iptables… продакшен

Nginx *Серверное администрирование *Администрирование баз данных *
Tutorial

Здравствуйте, меня зовут Александр Зеленин, и я веб-разработчик сисадмин.


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


Разворачивать будем на Ubuntu 16, но в целом схема на 99% совпадает и для Debian 8.

Читать дальше →
Всего голосов 46: ↑36 и ↓10 +26
Просмотры 15K
Комментарии 69

Octopus Deploy. Улучшаем мир в кровавом энтерпрайзе

Блог компании TINKOFF DevOps *


Сегодня я хочу рассказать о системе деплоя Octopus Deploy. На данный момент на Хабре есть всего одна вводная статья на эту тему, поэтому в своем материале я хочу расширить описание системы, подробнее рассказать о таких важных понятиях как «жизненные циклы» (lifecycles) и «каналы» (channels), а также о том, как мы внедрили и используем Octopus в своей работе.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 12K
Комментарии 9

MODx Revo workflow. Организация рабочего процесса, контроль версий и деплой

MODX *
Из песочницы
Все основные элементы системы MODX, такие как чанки, шаблоны, сниппеты и т.д, хранятся в БД, из этого появляется проблема осуществления контроля версий за этими элементами, а также сложности с разделением на development и production версии сайта.

Приведу основные требования, чего я хочу от своего рабочего процесса на MODX Revo:
  • контроль версий везде, где пишу какой-либо код (html, css, js, php),
  • иметь отдельную dev-версию сайта, на которой ведётся текущая разработка, а после — деплоить все изменения в продакшн, причём, желательно, автоматизировать этот процесс,
  • минимум копипаста при разработке и деплое.

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 8.7K
Комментарии 10

Деплой webpack-приложения на github.io с помощью Travis CI

Разработка веб-сайтов *JavaScript *Node.JS *GitHub *
Tutorial

Задача


Есть приложение, сгенерированное с помощью create-react-app. Нужно развернуть его на github.io.


Проблемой является то, что Github Pages работает только со статическим кодом и Jekyll.

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 13K
Комментарии 21