Разумные облачные инструменты
Кажется, только несколько лет назад развертывание одного
сервера было великим событием. Сперва нужно было его распаковать, монтировать,
протестировать и установить ПО. И только потом использовать.
Сегодня нас просят развернуть до обеда 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 содержит богатую
коллекцию плагинов, которые упрощают выполнение многих рутинных операций.
Комментариев нет:
Отправить комментарий