Обновить
0

Пользователь

1
Подписчики
Отправить сообщение

Знакомьтесь! Appnestic — хостинг-платформа нового поколения

Время на прочтение2 мин
Охват и читатели9.1K
Дорогие хабропользователи.

Эра VPS и unmanaged серверов в самом разгаре, но в то же время появляются новые платформы, которые позволяют размещать приложения за пару кликов. Платформа Appnestic — одна из таких.

Предыстория

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

Так родилась идея Apnnestic-а — платформы, которая позволяет загружать и обновлять код и запускать приложение. Сегодня мы находимся в beta-тестировании и я с радостью приглашаю вас протестировать наше решение и рассказать о своих впечатлениях и предложениях.

Читать дальше →

Ускоряем Nginx за 5 минут

Время на прочтение5 мин
Охват и читатели313K
image
Попытайтесь повторить это сами

Как правило, настроенный должным образом сервер Nginx на Linux, может обрабатывать 500,000 — 600,000 запросов в секунду. Но этот показатель можно весьма ощутимо увеличить. Хотел бы обратить внимание на тот факт, что настройки описанные ниже, применялись в тестовой среде и, возможно, для ваших боевых серверов они не подойдут.

Минутка банальности.

yum -y install nginx

На всякий пожарный, создадим бэкап исходного конфига.

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
vim /etc/nginx/nginx.conf

А теперь можно и похимичить!
Бдыжь-бдыжь

Установка для «чайников»: nginx + php-cgi + mysql + eaccelerator + memcache на Debian 5.0 «lenny»

Время на прочтение7 мин
Охват и читатели79K
Данная заметка является шпаргалкой для новичков в установке нормально работающего комплекса, описанного в заголовке. Все пункты установки протестированы несколько раз на разных vds, поэтому проблем с нехваткой чего-то быть не должно, как это обычно бывает, когда ставишь что-то по мануалам, надерганных из разных источников. Подробно описания настроек и «тюнинга» в заметке нет, т.к. это всё очень индивидуально и требует понимания что, как и зачем делается, а это невозможно охватить в одной даже очень большой шпоре.
Читать дальше →

Процесс разработки в Badoo

Время на прочтение8 мин
Охват и читатели38K
Сегодня мы проведём экскурсию по цеху разработки Badoo, в котором создаётся новый функционал нашего сайта, расскажем о самом процессе — от постановки задачи и до момента выкладки в боевое окружение.

За время существования компании её рабочий процесс эволюционировал от стохастического к хорошо контролируемому и понятному. Ещё полтора-два года назад никто точно не мог ответить на вопрос, какие задачи попали в сегодняшнюю выкладку, а менеджер опрашивал программистов, кто и что выложил. Сейчас же процесс максимально автоматизирован, таск-трекер тесно связан с системой контроля версий, задачи проходят несколько стадий проверки. При этом сохранилась высокая скорость разработки: нормальной считается ситуация, когда задача появилась утром, а после обеда новый функционал уже доступен пользователям на сайте.
Что ж, пройдём?

DNS сервер BIND (теория)

Время на прочтение21 мин
Охват и читатели531K
Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.

Основные понятия Domain Name System


Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов в глобальной сети, отслеживать и обслуживать базу имен на всех хостах стало нереально затруднительно. В результате придумали DNS, представляющую собой иерархическую, распределенную систему доменных зон. Давайте рассмотрим структуру Системы Доменных Имён на иллюстрации:
Читать дальше →

Лучшие DNS практики для телекома

Время на прочтение3 мин
Охват и читатели7K
В настоящее время, во многих российских провайдерах уделяется очень мало внимания DNS серверам. Тем не менее это очень важная составляющая услуг доступа в интернет.
Инженерам по телематике и инфраструктурным сервисам, а так-же их боссам посвящается.

Выполнение перечисленных правил может помочь вам минимизировать жалобы ваших пользователей на DNS:
Читать дальше →

DivShot — онлайн-сервис прототипирования Bootstrap

Время на прочтение1 мин
Охват и читатели75K
DivShot — отличный новый инструмент для работы с Twitter Bootstrap. С помощью него создавать прототипы интерфейсов с использованием популярного CSS-фреймворка стало до безобразия просто.

Читать дальше →

Подборка инструментов для фронт-энд разработки

Время на прочтение2 мин
Охват и читатели134K
Как разработчику, мне очень нравятся инструменты, которые помогают сэкономить время или упростить процесс разработки фронт-энда. В этой статье я собрал мои любимые веб-инструменты для упрощения разработки веб-интерфейсов.

Картинки кликабельны.

Form builder


Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
image
Читать дальше →

Pow — легкий, быстрый, удобный

Время на прочтение2 мин
Охват и читатели6.4K
Как много у вас приложений, сайтов, систем на Ruby, запускаемых под Rails и другие frameworks? Как часто вам приходится лезть в терминал и запускать приложения через 'rails s' и другие консольные команды? Это трата времени, сложность в управлении (в плане организации проектов). Как было бы хорошо, если бы все проекты были бы в одном месте и запускались по одному клику…

Я хочу рассказать вам про Pow. С одной стороны это простой Rack сервер для запуска ваших проектов, с другой стороны это очень удобный инструмент. Сервер разработан компанией 37signals. Единственная оговорка: сервер работает только под Mac OSX.
Читать дальше →

Подборка инструментов для эффективной frontend разработки

Время на прочтение3 мин
Охват и читатели101K
В эту прекрасную пятницу осмелюсь предложить хабрасообществую небольшую подборку приложений, предназначенных для увеличения продуктивности во время работы с фронтэндом. Если ваш любимый апп здесь не представлен — добро пожаловать в комментарии!

Form Builder

image

Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
еще 24 ссылки

x-acl легковесная утилита для организации Access Control List (ACL)

Время на прочтение4 мин
Охват и читатели5.8K
Приветствую, хабра-сообщество!

У каждого проекта (веб-проекта) возникают вопросы по организации прав доступа. В данной области есть определенные готовые инструменты для различных фреймворков Zend, Symfony, Yii и т. д. Вероятно кто-то с чем-то сталкивался и в целом представляет себе, что это такое. Для тех же кто не сталкивался — советую открыть документацию любого из этих фреймворков и ознакомится. В частности автор поста очень плотно работал с Zend_Acl. Но относительно недавно решил изучить вопрос ACL в области C++
Читать дальше →

Chef или как управлять тысячей серверов

Время на прочтение10 мин
Охват и читатели73K
Suck on my chocolate salty balls (c) ChefДавайте каждый попробует ответить на вопрос: как установить apache на сервер? Этот вопрос порождает ещё десяток: какая ОС стоит на сервере, какую версию ставить, где лежат конфиги по-умолчанию и т.д. и т.п.

А теперь давайте попробуем ответить на вопрос: как установить apache на 1000 серверов? Тут, при стандартном подходе, вопросов возникнет ровно в 1000 раз больше. Часть из вас наверняка подумали, что можно написать скрипт на shell/perl/python/ruby, который будет обходить все сервера и устанавливать apache, другая часть подумала о distributed shell'ах (PDsh, dsh, etc), кто-то же подумал монтировать rootfs серверов по NFS.

В ряде случаев выше предложенные варианты решений удовлетворительны, но на практике я нигде не видел полностью гомогенных систем (зачастую, внутри компании можно встретить не только разные версии ОС, но и различные дистрибутивы. Также в России/СНГ очень распространена каша из FreeBSD/Linux в ядре проектов), так что вряд ли за адекватное время будет возможно написать скрипт, который установит и настроит apache на зоопарке в 1000 машин под CentOS, Debian, Ubuntu, FreeBSD всевозможных версий.

По моим наблюдениям, очень мало IT подразделений, даже очень крупных компаниий, используют в своей работе SCM (Software Configuration Management). В этом посте я постараюсь описать все преимущества использования Chef в IT инфраструктуре на простых примерах и больших масштабах.

Если же, после столь короткого вступления, вы не прониклись идеей Chef, да и времени читать длинный технический пост у вас нет, то рекомендую вам пролистать до конца и посмотреть как используем Chef мы, Engine Yard, 37signals и подумать, можете ли вы переложить на него часть своей работы.
Читать дальше →

CSS/JS библиотека в стиле Metro, совместимая с Twitter Bootstrap

Время на прочтение1 мин
Охват и читатели27K
Не так давно я писал на хабре о Bootmetro — дизайне Twitter Bootstrap в стиле Windows 8. Эта разработка хороша идеей, но на практике все работает очень коряво. К счастью, есть качественно сделанный аналог от Ace Subido — CSS3 Microsoft Metro Buttons.



По сути это набор стилей для кнопок и форм, который можно использовать вместе с Twitter Bootstrap.
Читать дальше →

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение2 мин
Охват и читатели251K
В подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.

Стилизация


BootSwatchr — быстрая стилизация Twitter Bootstrap.

Читать дальше →

Бесшовная миграция MySQL 5.0 -> Percona Server 5.5 с переразбивкой хранилища

Время на прочтение5 мин
Охват и читатели19K
Здравствуйте.

Хочу поделиться опытом миграции боевой базы данных с MySQL 5.0 на Percona Server 5.5 под нагрузкой почти без отрыва от производства.

Опишу вкратце эволюцию нашей базы до текущего состояния


База у нас древняя, пережила несколько апгрейдов MySQL. Начинали с MySQL 3.x. С ростом нагрузки, уже на MySQL 5.0, настроили репликацию и подключили еще один сервер для чтения. Тогда мы это делали стандартными средствами MySQL, без привлечения xtrabackup — полностью блокировали сервер на время создания мастер-дампа и вывешивали на сайтах заглушки.

Затем встала следующая проблема — на томе с данными стало заканчиваться место. Плюс InnoDB-хранилище исторически располагалось в одном файле. Было рассмотрено много вариантов решения. Начиная от размещения базы на iSCSI-томе и заканчивая перетыканием в рейд более емких дисков, расширением на них volume group / logical volume с последующим расширением файловой системы.

В качестве временного варианта решили подключить iSCSI-том из виртуалки под VMWare vCloud (не реклама, честно!). vCloud стоит у нас под боком.
Читать дальше →

Оптимизация сложных запросов MySQL

Время на прочтение5 мин
Охват и читатели71K

Введение


MySQL — весьма противоречивый продукт. С одной стороны, он имеет несравненное преимущество в скорости перед другими базами данных на простейших операциях/запросах. С другой стороны, он имеет настолько неразвитый (если не сказать недоразвитый) оптимизатор, что на сложных запросах проигрывает вчистую.

Прежде всего хотелось бы ограничить круг рассматриваемых проблем оптимизации «широкими» и большими таблицами. Скажем до 10m записей и размером до 20Gb, с большим количеством изменяемых запросов к ним. Если в вашей в таблице много миллионов записей, каждая размером по 100 байт, и пять несложных возможных запросов к ней — это статья не для Вас. NB: Рассматривается движок MySQL innodb/percona — в дальнейшем просто MySQL.
Читать дальше →

Варианты построения высокодоступных систем в AWS. Преодоление перебоев в работе. Часть 2

Время на прочтение8 мин
Охват и читатели7.8K
В этой части будут рассмотрены следующие варианты построения высокодоступных систем на базе AWS:
  • Построение высокодоступной системы между зонами доступности AWS
  • Построение высокодоступной системы между регионами AWS
  • Построение высокодоступной системы между различными облачными и хостинг провайдерами
Первая часть здесь.
Читать дальше →

MySQL шпаргалки

Время на прочтение3 мин
Охват и читатели834K
Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

Читать дальше →

Управление каналами Nginx Push Module с использованием Ruby

Время на прочтение3 мин
Охват и читатели6.6K
Приветствую всех! Многие разработчики вкурсе про замечательный модуль Nginx Push Module для веб-сервера Nginx. Многие его опробовали, пощупали.

Задача модуля – позволить веб-серверу Nginx выступать в качестве Comet-сервера.

Материала по использованию данного модуля достаточно: хороша официальная страница проекта, описание Basic HTTP Push Relay Protocol, а также многие статьи, например Nginx & Comet: Low Latency Server Push. Однако, во многих руководствах рассматривают лишь базовую конфигурацию модуля с использованием одного общедоступного канала всеми клиентами. Несмотря на огромную полезность, модуль не предоставляет разработчикам гибкое управление каналами, их защиту.

В данной статье я напишу небольшой пример, демонстрирующий возможный способ управления каналами.
Читать дальше →

Fluid UI: прототипирование мобильных интерфейсов

Время на прочтение1 мин
Охват и читатели16K
Fluid UI: очень удобное HTML5-приложение для создания прототипов мобильных интерфейсов в браузере (Chrome или Safari). Буквально за пару минут можно сделать приличный набросок.



Поддерживает жесты, действия на прикосновения, драг-н-дроп, переходы между страницами, дублирование шаблона на несколько страниц, библиотеки iPhone и Android, загрузку пользовательских изображений и скриншотов. Ссылку на созданный дизайн можно быстро отправить коллеге или протестировать на мобильном устройстве. Можно экспортировать в PDF, HTML или графический формат.
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность