С ростом значимости ИТ для бизнеса и постоянным повышением требований к надежности инфраструктуры, непрерывности работы, темпам внедрения готовых ИТ-решений и скорости внесения изменений многие крупные и средние компании вынуждены отказываться от привычных подходов к созданию инфраструктуры. Все чаще они обращаются к модели 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