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

ТУПИК: ЗАИМСТВОВАНИЕ ТРАДИЦИОННОГО ОПЫТА И ПЛАНИРОВАНИЕ РЕСУРСОВ «ВСЛЕПУЮ»

Прямое копирование опыта, приобретенного ИТ-специалистами при работе с традиционными ИТ-инфраструктурами и сервисами, не помогает улучшить работу приложений при их перемещении в облако. Ресурсы в IaaS приобретаются крупными кусками, а уж об их оптимальном распределении и речи нет. В результате даже критичные приложения работают из рук вон плохо: продавцы постоянно жалуются на «подвисания» CRM, бухгалтеры и финансисты — на «задумчивость» «1С: Предприятия» и автоматизированных систем на базе этого ПО.

К тому же слепое копирование прежнего подхода не позволяет полноценно использовать ключевые преимущества IaaS: возможность купить ресурсов ровно столько, сколько нужно, не переплачивая, и сократить цикл их планирования до одной-двух недель. Ситуация, когда востребованы 400 ядер из 800, а оплачиваются все, — скорее правило, чем исключение. А о коррекции объема используемых ресурсов раз в квартал, месяц или даже две недели и речи не идет!

Чтобы оптимизировать расходы, во-первых, необходимо организовать масштабный сбор и анализ объективных данных (степень утилизации многих тысяч компонентов, их пропускная способность, очередь назначенных каждому компоненту запросов, время отклика компонента при выполнении запросов к конкретному приложению и пр.). Выбрать же или создать единую методику, подходящую для анализа каждого приложения, в IaaS или смешанной ИТ-инфраструктуре крайне непросто. Во-вторых, процесс оценки ресурсов должен быть автоматическим или автоматизированным, так как невозможно вручную исследовать производительность сотен виртуальных машин по 200–300 показателям. Но на практике дело обстоит еще хуже: для объективного и простого анализа достаточности ресурсов все еще нет универсального, то есть доступного любому предприятию, инструментария.

Однако компания все же может улучшить качество работы приложений, избежать падения их производительности и одновременно оптимизировать расходы на закупку ресурсов таким образом, чтобы сократить затраты на 50–70%.

ВЫХОД: МЕТОДОЛОГИИ USE И APDEX ПЛЮС АВТОМАТИЗИРОВАННЫЙ АНАЛИЗ ОБЪЕКТИВНЫХ ДАННЫХ

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

С одной стороны, это применение методологии контроля загруженности, перегруженности и ошибок (Utilization Saturation and Errors Method, USE), разработанной Бренданом Греггом в 2011 году и адаптированной экспертами центра компетенции нашей компании для массового использования. Она помогает понять, соответствует ли нагрузка на все компоненты системы (например, серверы или СХД) заданным формальным правилам, и позволяет максимально быстро выявить узкие места или ошибки в планировании ресурсов.

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

Последующий анализ данных с целью выяснения, достаточно ли ресурсов и какова реальная производительность каждого приложения, происходит в автоматизированном режиме. Отметим, что разработанная методика подходит для большинства существующих приложений (почтовый сервис, CRM, CLM, СЭД, приложения на базе «1С», специализированные приложения, например для хранения результатов медицинских анализов, и пр.), а также для любых ИТ-инфраструктур: традиционных, гибридных, IaaS.

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

Шкала оценок достаточности ресурсов
Шкала оценок достаточности ресурсов

 

Итоговая оценка достаточности ресурсов для каждого приложения устанавливается пропорционально доле периодов с соответствующей оценкой. Например: «Избыточно» — 65%; «Хорошо» — 25%; «Удовлетворительно» — 8%; «Плохо» — 2%.

Такой подход позволяет соотнести полученные показатели с требованиями к работе сервиса, зафиксированными в SLA, которые ИТ-компания предоставляет средним и крупным корпоративным клиентам. Например, CRM, согласно договору, должна быть доступна 99,9% времени, а результаты расчетов, выполненных по описанной методике, дают основание утверждать, что приемлемая скорость работы обеспечивалась только в течение 90% времени. Но что более важно, полученные данные позволяют увидеть, из-за нехватки каких именно ресурсов это происходит, и заблаговременно принять корректирующие меры.

Возможна и противоположная ситуация, когда приложение работает отлично, ресурсов много, но часть их явно избыточна. Имея такую информацию, можно перераспределить или корректно уменьшить объем лишних ресурсов (это особенно актуально в случае IaaS) и получить реальную экономию от их сокращения (25–45% от суммы текущих затрат на них), причем без ухудшения рабочих характеристик системы. Общий принцип функционирования готового ИТ-решения, помогающего выполнить все эти задачи, а также его составляющие (стек ПО) представлены на рисунке.

Принципы работы конечного ИТ-решения по автоматизированному анализу и сайзингу ресурсов и его техническая составляющая (стек программных продуктов)
Принципы работы конечного ИТ-решения по автоматизированному анализу и сайзингу ресурсов и его техническая составляющая (стек программных продуктов)

 

ТЕХНИЧЕСКАЯ СОСТАВЛЯЮЩАЯ ИТ-РЕШЕНИЯ

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

Для сбора данных используются различные решения на базе стандартных сервисов и протоколов централизованного мониторинга и контроля ИС (SNMP, WBEM). Там, где это возможно, применяются собственный агент и инструментарий на базе Powershell и WMI (Windows Management Instrumentation). Сбор данных от Linux и UNIX-инфраструктур осуществляется с помощью Telegraph. Для хранения состава и конфигураций программных и аппаратных средств, а также другой слабоструктурированной информации (журналы приложений, результаты трассировки) привлекается Elasticsearch — промышленный стандарт в своей области. Хранение и первичная обработка метрик выполняются с помощью специализированных баз данных временных рядов (Time Series DataBase, TSDB), чаще всего InfluxDB.

Визуализация данных для экспертов («подсвечивание» конкретных проблемных областей в ИТ-инфраструктуре каждой компании-заказчика) реализуется посредством продукта Grafana. Кроме того, специально разработанный аналитический модуль на основе Windows PowerShell позволяет обрабатывать всю информацию и получать детальные отчеты с рекомендациями по увеличению или уменьшению ресурсов для каждого сервера, установленного у того или иного корпоративного заказчика.

ВЫБОР ПРОГРАММНЫХ ПРОДУКТОВ ДЛЯ ИТ-РЕШЕНИЯ И ИХ ПРЕИМУЩЕСТВА

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

ЗАКЛЮЧЕНИЕ

Результаты применения такого решения в крупной компании — это не только высокая стабильность и производительность ИТ-сервисов, новый уровень контроля выполнения требований SLA, но и значительная экономия (вплоть до 50–70%) общего бюджета, выделенного на ресурсы в IaaS. Таким образом, это позволяет успешно справиться с задачей оптимального и оперативного планирования ресурсов, стоящей перед крупной или средней компанией. Предприятие получает не только экономию, но и оптимизацию потребления ресурсов в IaaS (причем в том же темпе, в каком происходит само изменение нагрузок), а также непрерывную оценку стабильности нагрузок — как ответ на постоянный рост изменчивости в ИТ.

Стоит отметить, что предложенные методика и инструментарий универсальны. К тому же они применимы не только в IaaS, но также в гибридных и традиционных ИТ-инфраструктурах. В традиционных инфраструктурах компании получают максимально простой и точный процесс планирования ресурсов, полностью подтвержденный объективными данными. А значит, они могут обеспечить оптимальную работу приложений — без неожиданного дефицита ресурсов или неоправданного их превышения. В гибридных ИТ-инфраструктурах, где планирование разделяется на две ветви (в традиционной и облачной части), эта задача становится намного более простой и объективной для ИТ и выгодной для заказчика. На выходе практически любое среднее и крупное предприятие получает гарантированно точный результат при планировании ресурсов на любой период времени (месяц, три, год, пять и т. д.).

Павел Рыцев, ИТ-директор, руководитель центра компетенции по импортозамещению и Open Source в ALP Group