вторник, 25 июня 2013 г.

12 умных облачных инструментов для разработки и операций

Разумные облачные инструменты

Кажется, только несколько лет назад развертывание одного сервера было великим событием. Сперва нужно было его распаковать, монтировать, протестировать и установить ПО. И только потом использовать.

Сегодня нас просят развернуть до обеда 200 серверов, сконфигурировать их, решить числовые задачи и успеть до совещания в 13:00. Время - деньги.

Это объясняет всплеск интереса в инструментах, позволяющих управлять сотнями машин с помощью нескольких быстрых кликов. Мы подготовили список самых многообещающих новых инструментов, которые позволят вашим серверным фермам повысить производительность и скорость работы.

Ganglia

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

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


Graphite

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

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

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

Tattle

Средства вроде Graphite и Ganglia помогают следить за состоянием системы, однако требуют, чтобы кто-нибудь сидел и смотрел за тем, как меняют свое положение линии на экране.

Tattle будет наблюдать за графиками вместо вас, а затем отправлять уведомления в случае, если линия заняла не свое место. Как правило, уведомления отправляются в виде текстового или электронного сообщения, но с помощью плагина их можно настроить по своему усмотрению - предупредительная сирена и мигающая красная лампочка, подключенная к контроллеру Arduino, намекнут вам о проблемах.   

Tattle написан на PHP и подходит для Graphite и Ganglia.

Logstash

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

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

Kibana

Logstash создает красивые логи, но поиск по ним осуществляется только с помощью базовых запросов. Kibana служит связующим элементом между Logstash и Elasticsearch. Он "выгружает" содержимое логов из Logstash в Elasticsearch, позволяя вам писать запросы на Lucene для поиска необходимых данных.

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

CloudVelocity

Идея с облаком нравится всем, но никто не хочет отказываться от серверов. CloudVelocity стремится упростить для компаний процесс перемещения в облако (в частности, в Amazon EC2), предлагая им гибридную модель, объединяющую облачные виртуальные машины с корпоративными дата-центрами.Перемещать данные и операции между ними так же легко, как перетаскивать иконки на веб-странице.

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

Ravello Systems

Еще один инструмент для безболезненной миграции в облако. Ravello - слой, размещенный поверх крупнейших облаков (Amazon, HP, Rackspace), который позволяет разработчикам развертывать многозвенные приложения для тестирования в этих же облаках.

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

Vagrant

Когда-то процесс разработки ПО был более простым. Все, что было нужно - любимый редактор и компилятор. Файл или компилировался или нет. Сегодня все намного сложней.

Появилось уйма библиотек и дополнительных инструментов для предварительной/пост-обработки или обслуживания. Они периодически обновляются.Каждый участник команды разработчиков трудится в разной среде. В итоге, на одних машинах код компилируется, а на других нет. И разработчики начинают искать виноватых.

Vagrant "смешивает" пакеты для всех инструментов и позволяет совместно работать с одной средой. Он сглаживает различия и помогает синхронизировать библиотеки и зависимости.

SaltStack

Непросто поддерживать работу облака, особенно, если вы хотите, чтобы новые машины появлялись и исчезали по требованию. Salt является открытым инструментом для управления облаком.

Он позволяет объединить ведущие узлы (master nodes) с миньонами (minion nodes). Первые отдают приказы, а последние их выполняют. SaltStack - "ветка" Salt - способен развернуть сотни тысяч управляемых машин.   

Ubuntu Juju

Ubuntu Juju - это проект, который фокусируется на управлении сервисами. В Juju фасад получил название "charm" и представляет собой набор файлов, определяющих, как интегрировать сервис. За фасадом находится  распределитель нагрузки, который может поручить любому количеству машин ответить на запрос данных.

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

Для работы с Juju уже создана большая коллекция файлов charms, готовых к развертыванию. При необходимости, их можно настроить.

Chef

Chef - один из двух грандиозных инструментов для управления конфигурацией. Если вам нравится писать простой код на Ruby для установки нужных пакетов на ваши новые машины, Chef создан для вас.

Все, что требуется - написать инструкции относительно того, какие пакеты необходимо установить и в каком порядке. Об остальном позаботится Chef. Инструмент предлагает огромное множество готовых плагинов.    

Puppet

Второй лидер продуктов для управления конфигурацией - Puppet. Хотя большинство функций одинаковые, для инструкций используется немного другой язык.

Сперва Puppet запрашивает список зависимостей, а затем определяет, как установить необходимые пакеты. Puppet Labs содержит богатую коллекцию плагинов, которые упрощают выполнение многих рутинных операций.

Комментариев нет:

Отправить комментарий