В круглом столе принимают участие
Сергей Козлов, руководитель группы системных инженеров, компанияRiverbedTechnology в России и странах СНГ
Олег Смирнов, директор по развитию,группа компаний«СофтПоинт»
Александр Стулов, глава представительства компании Riverbed Technology в России и странах СНГ
Сергей Халяпин, главный инженер представительства компании Citrix в России и странах СНГ
Высокие цены на энергоносители в свое время дали сильнейший толчок развитию энергосберегающих технологий и привели к разработке новых способов получения дешевой электроэнергии. В сфере ИТ сегодня таким локомотивом для развития новейших технологий выступает сам экономический кризис. Заметное снижение ИТ-бюджетов многих компаний (и Россия тут не является исключением из общемировой тенденции) подтолкнуло ИТ-директоров предприятий к поиску нестандартных путей интенсификации имеющейся в их распоряжении ИТ-инфраструктуры. Вот здесь-то и оказались как никогда актуальными решения по управлению производительностью приложений, позволяющие эффективно и без больших дополнительных вложений оптимизировать ИТ на предприятии. Об этом новом направлении деятельности ИТмы решили побеседовать с российскими экспертами, которые поделились своими наблюдениями и прогнозами с журналом Connect.
Сегодня, в период экономического кризиса, многие специалисты в области информационных систем начали анализировать имеющиеся возможности по оптимизации ИТ-ландшафта предприятия, и тематика управления производительностью приложений стала актуальной. Когда вы впервые столкнулись с ИТ-инструментами, позволяющими управлять производительностью корпоративных приложений и какими были эти решения?
Сергей Козлов
Все начиналось с проектов OpenSource, которые позиционировались как системы контроля производительности приложений и в основном отвечали за мониторинг компонентов ИТ-инфраструктуры.
Позже стали появляться интересные продукты с расширенной функциональностью, которую можно было приобрести за символические отчисления. В этих условиях многие организации измеряли производительность и доступность компонентов корпоративной сети с помощью открытых решений и только часть из них покупала такие инструменты у вендоров. В итоге в их распоряженииоказывался набор, состоящий из продуктов от конкретного производителя, и отдельно –второй набор инструментов по мониторингу и управлению производительностью.
Главным минусом этой системы является то, что подобного рода точечные решения не могли показать полную картину происходящего в ИТ-инфраструктуре компании.
Олег Смирнов
Необходимо учитывать, что для управления производительностью информационной системы необходимо выполнить несколько шагов.
- Во-первых, необходимо научиться ее правильно измерять, причем в терминах, понятных для бизнес-заказчиков, например время фиксации бизнес-операции, формирования отчета, операции закрытия.
- Во-вторых, необходимо иметь оптимально настроенную и качественно обслуживаемую систему.
- В-третьих, необходимо оптимизировать узкие места системы: код критичных бизнес-операций, серверы приложений, системы управления базами данных, оборудование.
- В-четвертых, необходимо иметь возможность быстрого и гибкого масштабирования системы.
Здесь мы опять возвращаемся к первому вопросу – к необходимости постоянно измерять эту самую производительностьинформационной системы. Если говорить об управлении производительностью в смысле ее измерения, то можно сказать, что эти инструменты были всегда (подразумевается, что мы рассматриваем эпоху активного распространения и использования информационных систем – последние 10–15 лет).Счетчики производительности операционной системы, показатели загрузки оборудования, встроенные системы мониторинга производительности информационных систем, различные отладчики – все это было и раньше. Кроме того, зачастую сами разработчики во время написания программного кода вставляли в него необходимые метки и мерили с их помощью длительность операций.
Если говорить конкретно о системах управления производительностью – изменения приоритета операций, то подобные возможности появилисьв них сравнительно недавно, например, в систему управления базами данныхMicrosoft SQL они были встроены только в версии 2008 г., при этом стоит отметить, что указанная технология имеет достаточно ограниченную поддержку со стороны приложений. Также подобные системы всегда были в оборудовании Hi-End-класса и там достаточно часто использовались.
В последнее время подобные возможности по управлению производительностью приложений на предприятии предоставляют различные технологии виртуализации: изменение доступных ресурсов на лету и возможность переподписки на ресурсы.
Сергей Халяпин
В современных ИТ присутствуют различные типы приложений – веб, Windows, *nix и др. Поэтому, говоря о решениях по оптимизации работы приложений, необходимо сразу же уточнять:о каком именнопрограммном обеспечении идет речь в каждом конкретном случае.
Также нужно иметь в виду, что приложения сегодня перестали быть монолитными и падение производительности может быть следствием:
- проблем на стороне сервера;
- в связи с банальными задержками и потерями пакетовпри передаче данныхв том числе по каналам связи;
- ошибок взаимодействия с установленными приложениями на стороне клиента.
Если же обратиться к истокам, то самыми первыми инструментами оптимизации работы приложений на предприятии у меня, как и у многих, наверное, были пакеты тестирования персональных компьютеров в средеDOS.
Согласны ли вы с тем, что экстенсивный путь развития ИТ себя уже полностью исчерпал и мы вынуждены переходить на интенсивные методы оптимизации ИТ-сервисов? Если да, то какое место в этом процессе должны занимать инструменты управления производительностью приложений?
Олег Смирнов
Экстенсивный путь развития ИТ исчерпал себя в тот момент, когда перестала линейно расти производительность ядра процессора и начался массовый переход к параллельным вычислениям. Причем для ИТ-систем, которые выполняют значительное количество параллельных операций, существовала ранее и точно также существует в настоящее времяспецифическая проблема совместного использования ресурсов, которая влечет за собой блокировки и невозможность полностью утилизировать ресурсы.Как следствие, управление производительностью в этом случае сводится к тщательной настройке такого механизма для обеспечения параллельной работы и более полной утилизации оборудования.
Без инструментов измерения производительности практически невозможно заниматься оптимизацией, поскольку неизвестно, что именно необходимо оптимизировать.
Александр Стулов
В мире информационных технологий в последние годы наблюдается явная тенденция пересмотра подходов к организации ИТ. С ужесточением конкуренции и достижением необходимого территориального присутствия бизнеса ИТ-руководители начали больше внимания уделять интенсивному, а не экстенсивному пути развития.
Когда в последнее время перед ИТ-директорами встает вопрос о необходимости добавления аппаратных или вычислительных мощностей, они все чаще начинаютзадумываться о том, как можно максимально качественно и рационально утилизировать те вычислительные ресурсы, приложения и сервисы, которые уже имеются.
Когда обсуждается вопрос дополнительных инвестиций в инфраструктурные элементы, необходимо в первую очередь проанализировать ситуацию и понять, какие компоненты системы в настоящий момент позволят добиться новых уровней предоставления сервиса, производительности и повышения скорости работы с ключевыми информационными системами и бизнес-приложениями. Поэтому новые инструменты, которые позволяют качественно проанализировать всю ИТ-систему на предприятии и составить полную картину работы сервисов, уровня производительности и комфортности работы для пользователя, играют ключевую роль в интенсивном пути развития ИТ.
Какой функциональностью обладают самые распространенные сегодняплатформы управления производительностью приложений? Насколько вас устраивает эта функциональность?
Сергей Козлов
Все решения можно разделить на несколько сегментов. Первый –это продукты с очень хорошим инструментарием по точечному анализу и управлению производительностью. Например, если у вас имеется база данных Oracle, то, скорее всего, вы также выберете их инструменты для мониторинга, поскольку они отлично выявляют недостатки собственных баз данных. Таких решений самое большое количество на рынке.
Второй тип –это сильные продукты с широкими функциональными возможностями. Они представляют собой целый набор компонентов по мониторингу различных секторов ИТ– начиная от управления производительностью, инфраструктурного анализа, мониторинга доступности компонентов сети, приложений и заканчивая сервис деском, управлением кейсами и т.д. Это очень сильные и в то же время громоздкие продукты, которые сложно масштабируются и вызывают определенные трудности при внедрении, особенно на крупных предприятиях. Проекты по установке подобных систем могут длиться от полугода до трех лет и, к сожалению, не всегда успешно завершаются.
Поэтому здесь важно найти золотую середину – решения, которые легко разворачиваются и масштабируются, с понятной отчетностью и всеми заложенными в них необходимыми метриками и пониманием того, что происходит с приложениями и ИТ-инфраструктурой предприятия.
Олег Смирнов
В процессе развития группы компаний«СофтПоинт» мы пришли к выводу, что нас не устраивают имеющиеся средства измерения производительности ввиду определенных недостатков:
- неполнота данных и их разрозненность из разных источников/систем;
- высокая нагрузка на исследуемые системы;
- невозможность обеспечить измерение производительности в режиме 24×7;
- отсутствие интеграции со всеми узлами ИС.
Поэтому мы разработали собственный инструмент, который используем в своих проектах.Его также активно используют и наши заказчики для мониторинга и управления производительностью своих информационных систем.
Развитие этого инструмента мы ведем в нескольких направлениях: готовим его облачную версию, добавляем интеграцию с различными информационными системами, делаем версии для обеспечения мониторинга системного программного обеспечения (операционные системы и системы управления базами данных).
Если мы немного глубже погрузимся в технологию процесса, то каковы механизмы управления производительностью приложений?
Сергей Козлов
У каждой компании есть свой подход к управлению производительностью приложений. Кому-то бывает достаточно обычного опроса сетевой инфраструктуры, чтобы понять, как работают приложения. Другие организации управляют производительностью с помощью синтетических транзакций, моделирования сети, типа трафика, приложений и т.д. Но это решение тоже имеет свои недостатки:подобные синтетические транзакции не всегда дают гарантию, что так же будет себя вести и реальный сервис.
А есть продукты, которые берут за основу текущие данные, собирают статистику сетевых компонентов, серверов и самих приложений. Такой подход более эффективен, поскольку показывает реальное положение дел и настоящие коэффициенты производительности.
Олег Смирнов
Так уж совпало, что в нашем портфеле не так давно появилось решение именно для управления производительностью информационных систем– управления приоритетами операций/пользователей в рамках одного сервера СУБД: таким образом мы можем обеспечить приемлемое время выполнения важных операций (например, отгрузок товаров), выделив им отдельную гарантированную часть ресурсов сервера СУБД и отдав остальную часть ресурсов всем прочим пользователям/операциям.
Сергей Халяпин
И здесь в первую очередь необходиморазобраться с тем, что за приложение мы используем и на каких конкретно этапах взаимодействия с конечным пользователем (если, разумеется,указанное приложение вообще предназначено для пользователя, а не для межмашинного взаимодействия) возникают проблемы с производительностью.
Например, если у нас веб-приложение, то хорошими инструментами, оптимизирующими работу,будут являются контроллеры доставки приложений. Эти устройства (физические и виртуальные) обеспечивают сжатие всей передаваемой информации, разгрузку серверной инфраструктуры, кеширование информации, мультиплексирование, разгрузку SSL и т.д.
Если же проблемы с производительностью связаны с каналами передачи данных, то имеются решения по WAN-оптимизации, обеспечивающие дедупликацию передаваемых данных, их сжатие, оптимизацию неэффективных протоколов и кэширование потокового видео.
В случае когда мы сталкиваемся с ситуацией низкой производительности клиентских приложений, скорость работы можно повысить с помощью терминальных сервисов или виртуальных десктопов – за счет переноса взаимодействия клиентской части приложений с их серверной частью в высокоскоростную сеть дата-центра. При этом для других частей приложений, например для SQL-баз,также имеются свои интересные инструменты. Однакоподробный рассказ о них может занять не одну статью.
Какие подходы вы используете при оценке работы приложений на своем предприятии? Можно ли говорить о реальной взаимосвязи экономической эффективности компании и производительности корпоративных приложений?
Олег Смирнов
В процессе предпроектного обследования мы всегда собираем статистику по времени выполнения операций, количеству и длительности блокировок, подробную информацию об оборудовании и его настройках. Только имея такую информацию, мы предоставляем заказчикам конкретные выводы, основанные на замеренных данных, об имеющихся у них проблемах изатем уже предлагаем конкретные решения для их устранения, инструменты для линейного ускорения производительности, возможности для обмена данными и управления этим процессом.
Сергей Козлов
Существуют два основных подхода к оценке работы приложений: фрагментированный и целостный. При первом (фрагментированный) администраторы баз данных, системные администраторы и разработчики отвечают за мониторинг своих частей независимо друг от друга, из-за чего нередко возникает риск упустить важные данные. А в основе второго, целостного, подхода лежит опыт конечного пользователя: именно он анализируется в первую очередь, а уже затем производительность сети, приложений и т.д. – вплоть до уровня дата-центра.
Мы используем целостный подход, так как он помогает правильно оценить совокупное функционирование и производительность ИТ-инфраструктуры компании и своевременно предпринять нужные действия относительно конкретных компонентов.
Если говорить о взаимосвязи между производительностью приложений и экономической эффективностью компании, то она несомненно есть, хотя и не всегда ее можно просчитать. Например, если за час простоя системы компания условно теряет $1000 каждый день, то решение этой проблемы позволит вам сэкономить около $30 000 в месяц. Правильная и своевременная оценка работы приложений в подобных условиях становится конкурентным преимуществом, поскольку она прямым образом влияет на продуктивность сотрудников, клиентский опыт и дает возможность создавать новые формы операционной гибкости.