Как управлять стихией - Инструменты для мониторинга облаков

Илья Федотов, ведущий инженер департамента инфраструктуры информационных систем, компания «АМТ-ГРУП»

По прогнозам Gartner, в 2017 г. мировой рынок облачных услуг вырастет на 18% до 246,8 млрд долл. Ожидается, что спрос на услуги публичных облачных инфраструктурных сервисов (IaaS и SaaS) в мире увеличится на 36,8% до 34,6 млрд долл. Аналитики утверждают, что это обусловлено увеличением объема данных, собранных с приборов, устройств в автомобилях, на производствах, с фитнес-гаджетов, а также использованием искусственного интеллекта в медицинских, потребительских и других бизнес-приложениях. Все это требует большой вычислительной мощности и стимулирует спрос на инфраструктуру публичных облаков. Каким инструментам мониторинга для управления этой стихией под названием «облака» отдать предпочтение? Чтобы ответить на этот вопрос, рассмотрим технические решения популярных на российском рынке облачных вендоров, таких как Microsoft Azure, Amazon Web Services, OpenStack, IBM BlueMix.

 

 

 

Математика инвестиций

Согласно очередному прогнозу World Information Quarterly Cloud IT Infrastructure Tracker, общая сумма расходов на ИТ-инфраструктуру (серверы, системы хранения, сетевое оборудование) для развертывания в облачных средах к концу 2017 г. возрастет на 15,3%. Инвестиции в облачную ИТ-инфраструктуру (Iaas) будут увеличиваться во всех регионах мира. В то же время большинство регионов ожидают снижения расходов на необлачные решения для развертывания в различных технологических сегментах.

Одно из ключевых направлений развития рынка облачных сервисов – Software-as-a-Service (SaaS), когда бизнес-приложения доставляются клиентам через Интернет. Почти все новые софтверные компании, такие как Box, Dropbox, Okta и т. д., зависят от модели SaaS. Давно работающие и широко известные софтверные компании, включая Microsoft, Oracle и SAP, стараются как можно быстрее перейти к перспективной модели доставки сервисов. Для этого они переписывают существующие приложения и приобретают новые компании, появившиеся на волне зарождения облаков. Ведь большинство современных заказчиков предпочитают получать доступ к программному обеспечению именно по модели SaaS.

Многие компании, которые привыкли полагаться на собственные центры обработки данных, постепенно переходят к использованию публичных облачных ресурсов от других поставщиков, таких как Amazon, Microsoft, IBM и Google, что стимулирует бизнес поставщиков облачной инфраструктуры.

Большинство заказчиков пользуются или планируют внедрить на предприятии новые облачные сервисы, расположенные в облаках. Но при этом они нередко сталкиваются с новыми техническими вызовами, связанными с обслуживанием и диагностикой таких сервисов. Для мониторинга облачной инфраструктуры и решений на основе модели гибридного облака подходят предложения популярных облачных вендоров, например Microsoft Azure, Amazon Web Services, OpenStack, IBM BlueMix, представленные на российском рынке. Рассмотрим каждое решение более подробно.

Облачные приоритеты Microsoft

Облачное решение от компании Microsoft Azure, предложенное на рынок 1 февраля 2010 г., содержит более 600 сервисов. Компания активно развивает облачное направление, поэтому большое количество программных продуктов от Microsoft имеет нативную интеграцию с Azure-сервисами, например SQL Server 2016, Windows 2016.

К основным инструментам и сервисам для мониторинга облачных сервисов относится Azure Monitor, на базе которого предоставляются метрики инфраструктуры базового уровня, а также журналы для большинства служб Microsoft Azure. На рис. 1 представлены источники данных для мониторинга вычислительных ресурсов.

Рис. 1. Источники данных мониторинга вычислительных ресурсов

В список вычислительных ресурсов входят облачные службы, виртуальные и масштабируемые виртуальные машины, фабрика сервисов. Наряду с вычислительными ресурсами в качестве источников данных могут служить и другие компоненты, представленные на рис. 2.

Рис. 2. Ресурсы, которые служат источниками данных

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

После сбора данных в Azure Monitor можно выполнять следующие действия. Во-первых, маршрутизация, когда данные мониторинга передаются в другие сервисы в режиме реального времени. Например, в сервис Application Insights, который отличается расширенными возможностями визуализации и анализа данных. Во-вторых, хранение и архивация. Поскольку некоторые данные мониторинга уже хранятся в Azure Monitor, с помощью этого инструмента можно управлять временем хранения данных в соответствии с корпоративной политикой или планом подписки. В-третьих, запрос. Для доступа к данным в системе или службе хранилища Azure можно использовать REST API Azure Monitor, кросс-платформенные команды интерфейса командной строки, командлеты PowerShell или пакет SDK для .NET. В частности, появляется возможность создавать нестандартные запросы и отправлять данные в стороннее приложение. В-четвертых, визуализация данных мониторинга на графиках и диаграммах, которая помогает обнаружить тенденции намного быстрее, чем при просмотре самих данных. Например, можно отправить данные в Azure Application Insights или в Microsoft Power BI. В-пятых, автоматизация, когда на основе данных мониторинга активируются оповещения или даже целые процессы. В качестве примера можно привести использование данных для автомасштабирования вычислительных операций на основе нагрузки на приложение.

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

  • портал Azure;
  • PowerShell;
  • кросс-платформенный интерфейс командной строки;
  • интерфейс REST API;
  • пакет SDK для .NET.

Не каждый из перечисленных методов доступен для всех действий или типов данных.

Следует заметить, что для разработчиков в Azure предлагаются специализированные средства мониторинга. Application Insights можно использовать в качестве решения для мониторинга рабочей среды. Служба Log Analytics поможет настроить производительность и планировать обслуживание приложений, которые выполняются в рабочей среде. Расширенные средства для анализа данных в нескольких источниках позволяют использовать сложные запросы во всех журналах, отправлять упреждающие оповещения при соблюдении определенных условий. Можно даже собирать пользовательские данные в центральном репозитории, чтобы иметь возможность их запроса и визуализации.

Еще одно средство мониторинга – System Center Operations Manager (SCOM) –предназначено для отслеживания крупных облачных решений и управления ими. Многим эта служба известна как средство управления локальными облаками на базе Windows Sever и Hyper-V. С ее помощью также можно интегрировать и администрировать приложения Azure. Кроме того, она позволяет установить Application Insights в интерактивных приложениях. Если приложение выйдет из строя, пользователь своевременно об этом узнает. Следует иметь в виду, что Log Analytics не заменяет SCOM − эти службы можно использовать совместно.

Наиболее известные проекты внедрения в России реализованы в компании, известной под торговой маркой «Билайн» (https://customers.microsoft.com/ru-RU/story/rossiyskiy-sotovyy-operator-vyryvaetsya-vpered-s-pomos), в Финансовой академии при Правительстве РФ (https://customers.microsoft.com/ru-RU/story/finansovyy-universitet-vnedril-novye-obrazovatelnye-te). По ссылке https://azure.microsoft.com/ru-ru/case-studies/ доступен полный список внедрений.

Возможности сервиса Amazon CloudWatch 

Amazon Web Services (AWS) – самый крупный облачный провайдер сегодня и прямой конкурент Azure – занимает первое место в квадрате Гартнера. Большая часть предоставляемых сервисов аналогична Azure. Наиболее известные сервисы, предлагаемые AWS, – EC2, S3, R53. Подходы этих компаний к реализации инструментов и сервисов для мониторинга облачных сервисов различаются. Рассмотрим архитектуру сервиса более подробно.

Amazon CloudWatch – это сервис мониторинга облачных ресурсов AWS и приложений, которые запускаются с их помощью. Amazon CloudWatch можно использовать для сбора и отслеживания метрик, накопления и анализа файлов журналов, формирования предупреждений, а также автоматического реагирования на изменения состояния ресурсов AWS. Amazon CloudWatch подходит для мониторинга следующих ресурсов AWS: Amazon EC2, Amazon RDS DB, таблицы Amazon DynamoDB, а также для мониторинга пользовательских метрик приложений, сервисов и любых логов приложений. С помощью Amazon CloudWatch, общая архитектура которого изображена на рис. 3, можно получить сводную информацию о системе: сведения об используемых ресурсах, производительности приложений и общем состоянии системы. Такие данные необходимы для оперативного реагирования и обеспечения стабильной работы приложений.

Рис. 3. Общая архитектура сервиса Amazon CloudWatch

 

Сервис состоит из следующих служб и компонентов:

  • службы System Status Checks и Instance Status Checks для мониторинга и обнаружения неисправностей основных компонентов на AWS;
  • Amazon CloudWatch Alarms, который следит за метрикой в указанный период времени и выполняет одно или больше действий на основе значения метрики относительно заданного порога в течение нескольких периодов времени. Под действием понимается уведомление, отправленное в соответствующую службу Amazon (Amazon SNS), или политики автоматического масштабирования. Оповещение об опасности вызывает действие только при наличии постоянных изменений состояния. Иными словами, изменение должно сохраняться в течение определенного периода времени (нескольких периодов);
  • Amazon CloudWatch Events для автоматизации служб AWS и автоматического реагирования на системные события. События из служб AWS доставляются в CloudWatch Events в режиме реального времени, поэтому можно указать автоматические действия, которые необходимо предпринять, когда событие соответствует установленному правилу;
  • Amazon CloudWatch Logs для контроля, хранения и получения доступа к файлам журналов из экземпляров Amazon EC2, AWS CloudTrail или других источников;
  • Amazon EC2 Monitoring Scripts – Perl-скрипты, которые могут контролировать использование памяти, диска и swap-файлов в имеющихся экземплярах;
  • AWS Management Pack for Microsoft System Center Operations Manager – для соотнесения экземпляров Amazon EC2 и операционных систем Windows или Linux, запущенных внутри них. Пакет управления AWS поставляется как дополнение для Microsoft System Center Operations Manager, использует назначенный компьютер в ЦОД (Watcher node) и API веб-служб Amazon для удаленного обнаружения и сбора информации об имеющихся ресурсах AWS.

Один из наиболее известных в России проектов реализован в компании «Лаборатория Касперского» (https://aws.amazon.com/ru/solutions/case-studies/kaspersky/). Полный список внедрений доступен по ссылке https://aws.amazon.com/ru/solutions/case-studies/all/.

Варианты мониторинга для OpenStack

OpenStack – это комплекс проектов свободного программного обеспечения для создания инфраструктурных облачных сервисов и облачных хранилищ, причем как публичных, так и частных. Все проекты комплекса распространяются под лицензией Apache License. Поскольку продукт состоит из множества независимых сервисов, то мониторинг относится к разряду нетривиальных задач. Можно сказать, что решение создается или адаптируется под каждую инсталляцию (рис. 4).

 

Рис. 4. Общая схема мониторинга для OpenStack

 

 

Основными инструментами мониторинга для OpenStack являются Open source продукты для мониторинга ИТ-инфраструктуры: Ceilometer, Nagios и Zabbix.

Ceilometer – один из основных фреймворков для мониторинга и измерения данных в OpenStack с возможностью расширения функционала с учетом потребностей заказчика. На базе продукта реализуются проекты AODH – сервис оповещения и действий на основе триггеров, Gnocchi-TDBaaS (Time Series Database as a Service)

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

В качестве примера внедрения этого инструмента в России можно упомянуть компанию «Ростелеком» (https://www.kommersant.ru/doc/3030968). Полный список дополнений по мониторингу OpenStack доступен по ссылке https://wiki.openstack.org/wiki/Operations/Tools#Monitoring_and_Trending.

Расширенный функционал IBM Bluemix

Облачная платформа IBM Bluemix, построенная на основе самых популярных в мире проектов с открытым исходным кодом, таких как OpenStack, помогает разработчикам создавать и запускать современные приложения и инструменты. IBM Bluemix предоставляет возможность ведения журналов и мониторинга интегрированного функционала различных служб, таких как Cloud Foundry и IBM Bluemix Container Service. В частности, можно использовать IBM Cloud Log Analysis и IBM Cloud Monitoring для реализации расширенных возможностей ведения журнала и мониторинга.

Рис. 5. Общая схема мониторинга для BlueMix

Рассмотрим компоненты Bluemix, общая схема которой отражена на рис. 5, для наблюдения и сбора логов. Основной инструмент – IBM Cloud Monitoring service – предназначен для реализации расширенных возможностей мониторинга коллекции и хранения при работе с метриками, а также для определения правил и предупреждений, уведомляющих о событиях, требующих внимания.

IBM Cloud Log Analysis предоставляет сервис сбора и поиска журналов для платформы Bluemix, автоматически собирает данные приложений и Bluemix-сервисов из выбранных заказчиком услуг Bluemix. Наиболее известные проекты внедрения в России реализованы в газете «Комсомольская правда» (http://www-03.ibm.com/press/ru/ru/pressrelease/48194.wss) и Мариинском театре  (https://www.03.ibm.com/software/businesscasestudies/ru/ru/corp?synkey=D953253S43460R79)

***

В заключение остается отметить, что облачные провайдеры понимают важность мониторинга инфраструктуры и стараются обеспечить заказчиков эффективными инструментами для этого. Коммерческие облачные продукты Microsoft Azure и Amazon Web Services, IBM BlueMix обладают богатым инструментарием «из коробки», который обеспечит интеграцию с существующей системой мониторинга без значительных трудозатрат. Использование решения Open source предполагает наличие соответствующих компетенций у сотрудников компании или системного интегратора, отвечающего за внедрение. Конечно, на рынке значительно больше облачных провайдеров, предлагающих разнообразные сервисы. В статье при описании возможных вариантов предпочтение было отдано наиболее известным компаниям, представленным на российском рынке, Надеемся, это послужит ориентиром для оптимального выбора нужного инструментария для мониторинга облачных сервисов.

ЛИТЕРАТУРА

 

  1. http://wikipedia.ru
  2. http://aws.amazon.com
  3. http://openstack.org
  4. https://www.ibm.com/cloud-computing/bluemix/

 

 

Следите за нашими новостями в Телеграм-канале Connect


Поделиться:



Следите за нашими новостями в
Телеграм-канале Connect

Спецпроект

Цифровой девелопмент

Подробнее
Спецпроект

Машиностроительные предприятия инвестируют в ПО

Подробнее


Подпишитесь
на нашу рассылку