Показаны сообщения с ярлыком IT-monitoring. Показать все сообщения
Показаны сообщения с ярлыком IT-monitoring. Показать все сообщения

среда, 1 октября 2014 г.

Новинки в мониторинге

http://www.evolven.com/
http://www.neebula.com/
http://www.bluestripe.com/
http://www.iquate.com/
http://www.prelert.com/
http://zyrion.com/
http://www.extrahop.com/
http://www.virtualizationpractice.com
http://www.serviceassurancedaily.com/


Почему BSM в классическом варианте лажа
I&O Execs: It's Time To Rediscover BSM
Business Service Management: Beyond 2012
Solution Guide: Application Performance Management



BlueStripe
Profile
The co-founders of BlueStripe are ex-CA Wily executives who brought a number of Wily
developers over to help create a new APM product. BlueStripe FactFinder is a new-generation
product (the company talks about APM 2.0) that is operations-friendly and targets the growing
need to manage transactions across multiple tiers and also identify where problems are located.
The real-time topology dependencies map discovers servers, networks, and linked devices.
Agents sit on servers and track transactions across multiple layers, including cloud and virtual
environments (the vendor quotes low agent overhead in region of 0.1% to 0.4%).
BlueStripe conducted an IT operations survey and found that respondents rated the (long) time it
takes to identify the cause of business-impacting outages and slowdowns as the number-one
issue. Reducing this delay is the key aim of the vendor, as well as addressing the needs of
operations staff to deal with issues without the delays ensued by appealing for assistance from
developers.
Administration is simple with one person sufficient to support over 100 servers. The tool integrates
with IBM Tivoli Application Dependency Discovery Manager, BMC Atrium, and HP Change and
Configuration Management Database. FactFinder's data is gathered from operating-system level
agents that monitor all TCP-connected processes on a given system, including all connection
activity, transaction performance, and underlying system resource utilization.

About Neebula
Neebula was founded in 2009 by leading industry veterans including Ariel Gordon, former CTO of BMC and Yuval Cohen, former GM of Marvell Software Solutions Israel. In founding Neebula, their goal was to resolve the IT management challenges that are caused by virtualization and cloud computing. Neebula's mission is to provide a new generation of Business Service Management (BSM) tools that are built by design to support real-time dynamic environments. Neebula's BSM software utilizes a unique service modeling technology that automates the process of service modeling and keeps the model up to date in real-time dynamic environments.
Read about Neebula at www.neebula.com
Contact Information: 
Ariel Gordon:
Ariel@neebula.com
+12128364803

среда, 22 декабря 2010 г.

Новый вектор: профилактика сбоев

It's better ro predict problems before occurrence.

1

вторник, 27 октября 2009 г.

Использование MS Visio в качестве inside plant

Вослед почившему CA NetViz (подробно на русском можно поглядеть, например, здесь) возникли идеи использования MS Visio в качестве надстройки-визуализатора.
И сразу находятся ответы в сети

вторник, 4 августа 2009 г.

ITIL: в чем разница между инцидентом и проблемой

Искал наглядный ответ. И вроде как нашел.

OK, here is an example:
A user's PC freezes and she raises an incident at the service desk. Service desk tells her to reboot and the incident is fixed.

A few days later, her PC freezes again and Service desk notice that it happened a few days before as well. Service desk raises a problem record, because rebooting the PC only solves the incident temporarily and it does ot fix the root cause of whatever is casuing the PC to freeze. The problem record gets assigned to 2nd line support to do root cause analysis on what is causing the PC to freeze. They find to be a specific application and the problem ebcomes a known error. A change request gets raised to install a patch from the vendor of the application on the user's PC. If the patch is installed succesfully, the problem and all related incidents are resolved.

====================================

I sometimes find that giving the textbook answer does not always clarify the difference though. I think it is also important to stress that the difference is how we deal with each one
- Incidents... quick turnaround, get the user back up and running
- Problems... require more time, only worth dealing with if the cost of implementing the fix is less than that of communicating and implementing the workaround.

e.g. something that affects one client once per week and is fixed within 5 mins is not worth logging as a problem in many cases.

среда, 25 марта 2009 г.

Эссе "Интеграция Сервис Деск с Call-центром: эффективная отдача вложений в ИТ"

Большинство компаний, бизнес которых выходит за рамки одного города среднего масштаба не могут существовать без серьезной ИТ поддержки. Мало выстроить ИТ инфраструктуру, необходимо «вдохнуть в нее жизнь» путем внедрения различных приложений, реализующих бизнес-функциональность. И таких приложений будет не менее десятка, даже в самом простом случае.

Если взглянуть со стороны, то ИТ инфраструктура компании представляет собой целый завод по переработке информации, которым также необходимо управлять грамотно и эффективно. Потребителями этой продукции являются внутренние сотрудники компании. Бытует мнение, что скорость и качество решения проблем, возникающих у сотрудников компании с тем или иным компонентом ИТ (сеть, сервер, рабочая станция, принтер, факс и др.) или корпоративным приложением, не играет особой роли: «Не клиенты, подождут!». И действительно, сотрудники могут подождать, лояльность не уменьшится. Но бизнес понесет существенные потери. Опираясь на разработанную модель ROI, подобная невнимательность к своим сотрудникам может приносить компании убытки в сотни тысяч долларов ежегодно.

И вот руководством компании принято решение о внедрении процессов ITSM, создании службы Сервис Деск, введения контроля за качеством ИТ сервисов. Закуплены системы, консультанты написали многотомные отчеты, регламенты и инструкции, прошло внедрение. Есть определенный эффект, но все равно, все это считается неким инородным элементом, слабо учитывающим особенности психики человека и критерии эргономичности. Полное торжество технарей над обычными пользователями. И представители службы Сервис Деск и рядовые пользователи вынуждены выполнять ритуальные «танцы с бубном», заданные консультантами, чтобы как-то решить проблему пользователя. При этом каждая сторона считает себя правой и винит во всем противоположную сторону. Парадокс? Нет, закономерность.

Чтобы эффект от внедрения подобных систем был максимальный, необходимо соблюдение простых условий:

  • не человек для системы, а система для человека;
  • эргономичный инструмент более приятен, нежели идентичный по функциональности, но неудобный;
  • «игра» с ненулевой суммой или, в sales терминологии стратегия «Win-Win», всегда является выигрышной по отношению к другим стратегиям.
Наверняка, если прислушаться к рекламным речам производителей, найдется продукт, который позволит решить и эту проблему. Однако, откладывая в сторону критический анализ, в стадии насыщения ИТ, равно как и в состоянии кризиса на рынке, каждое дополнительное вложение во что-либо и, в том числе и в ИТ, вызывает очень большое сомнение со стороны инвесторов. Необходимо иметь весьма веские аргументы, чтобы продолжать развитие ИТ в компании в неизменном темпе.

C другой стороны, такая ситуация может послужить мощным стимулом для тщательного пересмотра уже закупленных систем и организованных процессов на предмет оптимизации их использования. Ведь 1+1=2 только в математике. 1 объект с набором функционала + 1 объект с набором функционала = может преобразоваться в нечто новое, отсутствующее в исходных объектах. Как правило, в отношении ИТ, знак суммы выполняет тот или иной интеграционный модуль.

При построении ИТ комплекса большинство компаний используют типовые структурные элементы. В настоящем документе рассмотрена интеграция систем Сервис Деск (Service Desk) и Call-Центр (Call Center) и плюсы для внутренних пользователей и для бизнеса компании в целом, которые несет такая интеграция.
Предлагаемый вариант решения проблемы

Плюсы интеграции call-центра с системой Сервис Деск (СД) проявляются с самого первого момента обращения сотрудника компании в службу поддержки. Предполагается, что существующий внутренний Call-центр достаточно прост (а это, как правило, так и бывает). Нередко это просто телефонная станция, которая не умеет ни ставить звонки в очереди, ни балансировать звонки между операторами, основываясь на их текущей загрузке.

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

Если оператор по той или иной причине не ответил на звонок, звонок переводится на другого оператора. Если операторов, готовых отвечать на звонок, не осталось, то после проигрывания мелодии, происходит новая попытка найти свободного оператора.

Рис. 1. Пример всплывающего окна с профилем пользователя

Принцип работы: Прямая интеграция

Интеграция системы Сервис Деск с Call-центром сводится к следующим основным задачам:

  1. Конфигурирование сетевого оборудования (как правило, Cisco) на предмет управляемой СД маршрутизации телефонных вызовов.
  2. Расширение модели данных СД дополнительными объектами, описывающими статус каждого оператора (Рабочее время, Принято вызовов, Пропущено вызовов, Готовность к ответу, Блокировка).
  3. Развертывание Ajax клиента на АРМ-ах операторов СД для возможности событийного изменения статуса СД на рабочем месте оператора.
  4. Разработка бизнес-логики маршрутизации звонков (пример возможной маршрутизации приведен на Рис. 2)

Рис. 2. Алгоритм нахождения оператора для ответа на звонок

Принцип работы: Обратная интеграция (кнопка «Позвонить»)

Чем отличается удобный интерфейс от неудобного? Два, на первый взгляд, одинаковых экрана. В целом, одно и то же. На одном экране поля чуть по-другому расположены, пара кнопочек добавлены, hotkeys настроены. Разве может волновать капитанов лайнеров такая ерунда? Однако, если обратиться к статистике, то выясняется, что от эргономики рабочего места зависит очень и очень много.

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

Но даже, если ошибки не допускаются, производительность работы сотрудника также зависит от эргономики интерфейса. Существуют модели и количественные метрики для оценки эффективности того или иного интерфейса. Наиболее распространенная модель — GOMS(Goals, Operators, Methods, and Selection rules). Каждое лишнее нажатие клавиши, каждое дополнительное движение мышью может быть количественно оценено и переведено в затраты, которая несет компания.

В рамках задачи интеграции системы Сервис Деск и Call-центра, мы предлагаем обратную интеграцию в виде отдельной кнопочки «Позвонить». Она может быть добавлена на вкладке администрирование при просмотре контактов. При нажатии на кнопку происходит вызов с коммутационного оборудования Cisco сначала оператора, нажавшего кнопку, потом осуществляется вызов абонента, в контактах которого была нажата кнопка. Во время второго вызова оператору может проигрываться мелодию или определенные сообщения вплоть до установления соединения с абонентом. Дополнительно, при нажатии на кнопку может открываться окно с инструкциями для оператора.

воскресенье, 8 февраля 2009 г.

Резюме по системам мониторинга ИТ-инфраструктуры

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

вторник, 28 октября 2008 г.

Вопрос-ответ по системам мониторинга ИТ инфраструктуры

В настоящем списке упомянуты только вопросы, ответы на которые нельзя найти в руководствах или интернете. Из множества запросов, поступавших на протяжении нескольких лет, были выделены самые волнующие и на них даны краткие ответы.
1. Как быстро может окупиться система мониторинга?
Система мониторинга направлена на автоматизацию и не имеет своей прямой целью увеличение оборота бизнеса. Автоматизация помогает повысить эффективность и сократить расходы. Бывают сценарии, когда системы мониторинга внедряются для повышения капитализации компании или для следования требованиям регулирующих органов. Но в таких случаях подобные вопросы задаются редко.
Усредненные цифры по отрасли от крупнейших аналитических агентств никак не помогут в подсчете вашей прибыли (экономии). Можно автоматизировать рабочие места пользователей вплоть до постоянного следования новым веяниям, но это может совершенно не сказаться на реальной производительности пользователей с точки зрения бизнеса. Просто у сотрудников куда больше времени будет на перекуры и общение друг с другом. С другой стороны, повышение рентабельности на 7% в среднем с возможным отклонением от -10% до +24% (что, конечно же, умалчивается) не оставляют ни единого шанса для точной оценки возможных последствий проекта именно в Вашем случае.
Для правильной оценки ROI необходимо обратиться по каждой статье расхода (дохода) к существующей у Вас статистики (если таковая имеется, а это отдельный вопрос). В зависимости от типа автоматизации необходимо пройтись по всей таблице статей и оценить, будет ли влиять предлагаемая автоматизация на характеристики статьи. Может у Вас в компании именно такая ситуация, что предлагаемый продукт никак не поможет. Например, регламенты есть, но их никто не соблюдает.
Теория про положительный эффект от повышения производительности и сокращения персонала, так часто фигурирующая в западных методиках вычисления ROI, совершенно неприменима к российским реалиям. У нас не то чтобы переизбыток грамотных специалистов, но и повсеместный «кадровый голод».
Чтобы правильно автоматизировать, необходимо иметь информацию по степени доступности каждого элемента и обращать внимание именно на самые слабые звенья. Что толку предлагать ставить CRM (с технико-экономической позиции) и показывать топ-менеджерам презентации с фантастическими данными по ROI, если администратор БД является безответственным типом и у него постоянно все ломается?
2. А почему так дорого стоит?
Пример типичного заблуждения в стоимости объектов нематериального мира. Несмотря на то, что программный продукт является специфической совокупностью «0» и «1», он позволяет решать конкретные задачи, для которых и был создан. Стоимость продукта имеет 2 аспекта: стоимость с точки зрения производителя и стоимость с точки зрения покупателя. С точки зрения производителя, чем качественнее программный продукт, тем большее количество людей и материальных ресурсов было вовлечено в процесс создания и тем дороже он будет. Архитекторы, программисты, технические писатели, инженеры по качеству, руководители проектов, аналитики, дизайнеры, маркетологи и многие другие специалисты участвовали в создании продукта. Продукт — это не просто код, это код, окруженный большим количеством атрибутов: требования, тесты, руководства, скрипты миграции, библиотеки устройств, шаблоны отчетов. Дополнительно, код воплощает весь накопленный опыт за время существования продукта.
С точки зрения пользователя стоимость продукта определяется теми возможностями, которые становятся доступными при внедрении этого продукта. В одних случаях ПО может повысить эффективность уже существующих процессов, в других же, позволяет сделать качественный скачок и перейти на новый уровень, недоступный ранее. В разных случаях стоимость тех плюсов, которые приносит ПО, может существенно различаться. А как оценить интеллектуальную составляющую ПО? Как оценить стоимость знаний об ошибочных путях и правильных решениях, стоимость опыта, накопленных в продукте во время его эволюционирования и использования другими компаниями? Знание об ошибках конкурентов часто позволяет вовремя скорректировать стратегию и миновать определенные опасности. И чем больше пользователей у продукта, тем меньше удельная стоимость всех нововведений и исправленных ошибок. Таким образом, ПО не является дорогим или дешевым априори, реальная ценность продукта для каждого пользователя будет сильно различаться.
3. А чем решение X лучше решения Y?
Вопрос слишком общий, чтобы на него можно было дать ответ. В целом, можно ответить: «Ничем, все одинаково (полезно или бесполезно)». Правильный ответ можно дать только преломляя возможности систем через призму потребностей Заказчика. А это означает, что четкое и однозначное формулирование требований к системе мониторинга является основой правильного выбора. Однако, при формулировании требований очень важно не совершить иную ошибку, часто совершаемую техническими специалистами: формирование огромного списка сложных технических требований, которые достаточно дороги в реализации, требуют привлечения высококвалифицированных специалистов, но которые, к сожалению, не приносят основному бизнесу ничего кроме расходов. Очень важно найти разумный компромисс между желанием технического перфекционизма и реальными требованиями бизнеса.
4. Необходимо, чтобы решение осуществляло мониторинг приложения X. Ваше умеет?
Когда речь идет о мониторинге приложений, сразу возникает несколько десятков альтернатив. Что значит, осуществлять мониторинг? Следить за лог-файлами? Следить за состоянием процессов? Получать сообщения? Осуществлять проактивный мониторинг с помощью тестовых функций? Проверять выполнение бизнес-логики? Отслеживать утечки памяти? А что понимать под мониторингом распределенных и\или многозвенных приложений? У Microsoft Exchange, например, существуют более 1500 метрик (KPI); какие из этих метрик являются важными именно в Вашей конфигурации Exchange? Или может важным являются агрегатные метрики (KQI)? При этом немаловажно учесть особенности работы человеческого мозга, а именно, возможность одновременного удержания в сфере сознательного 7±2 объектов. С учетом этой особенности, 0 метрик и 100 метрик имеют равнозначно информативную составляющую, а именно, нулевую. Правильным ответом на поставленный вопрос будет анализ бизнес-процессов, выделение функций, выполняемых бизнес-критичными приложениями и формирование рекомендаций по агрегатным метрикам. Только после этого можно переходить к вопросам технической реализации мониторинга этих метрик. Для большинства приложений можно предложить несколько альтернативных технических решений по мониторингу, выбор упирается в соотношение цена\качество, аспекты безопасности, возможность изменения кода в случае ПО самостоятельной разработки и многое другое.
5. Нам необходима гибкая система отчетности. Насколько гибкую систему Вы предлагаете?
Требование о гибкости системы выглядит логичным и правильным. Вдруг по истечении некоторого времени потребуется разработать какой-либо нестандартный отчет? Однако, чем гибче система, тем она сложнее и дороже. Предельным случаем гибкой системы может служить среда разработки, например, Microsoft Visual Studio, Вряд ли этот предельный случай устроит кого-либо. А обслуживание технически сложной системы требует наличия квалифицированных специалистов, что удорожает эксплуатационные расходы. А вдруг при этом потребность в нестандартном отчете так и не возникнет? Окажется, что было выбрано дорогое, технически сложное решение, затратное в обслуживании, но выгоды от этого выбора получить не удалось. Так что, очень важно найти компромисс между гибкостью и реальными потребностями. Перейти от требований «в целом» к конкретным отчетам: проанализировать возможность создания отчетов, уже используемых в организации, какие отчеты потребуются от этой системы, какие есть нормативы на форматы отчетов, в частности от регламентирующих органов, что входит в пакет готовых отчетов, поставляемых вместе с системой, действительно ли необходимы дополнительные отчеты. Дополнительным вариантом может быть выгрузка данных и последующее использование уже существующей в компании системы генерации отчетов для решения задач генерации сложных, кроссдоменных отчетов в устоявшемся формате.
6. Система должна интегрироваться с продуктами X, Y и Z. Перечислите существующие средства интеграции.
Если рисовать высокоуровневую картину «5 прямоугольников и потоки данных», то кажется, что это все очень просто. Конечно же, требование интеграции выглядит очень правильным. Построение единой информационной системы, в которой все модули интегрированы, создана единая система отчетности в разрезах, необходимых каждому подразделению, крайне привлекательно для бизнеса. При этом, на уровне «прямоугольников» опускаются многочисленные технические аспекты, которые впоследствии не позволят эту картину воплотить в жизнь.
Средства интеграции достаточно стандартны: ODBC, CLI, Web-services, SNMP, SMTP. Но их перечисление опять же не даст никакого ответа на реальную возможность интегрировать указанные продукты. Ситуация достаточно проста: если оба продукта, которые необходимо интегрировать, не изменяются с течением времени, то интегрировать можно любым, даже самым трудоемким и неэффективным способом. Главное оттестировать эту интеграцию и устранить ошибки. И будет потом эта интеграция служить верой и правдой долгие годы. К сожалению, в реальном мире все по-другому. Каждый из интегрируемых продуктов живет своей жизнью, меняется код, меняется логика, меняются интерфейсы, меняются технологии. Поэтому, после каждого изменения продукта, входящего в интегрированный комплекс, необходимо проверять корректность работы существующего механизма интеграции. В случае сложных систем и неудачных методов интеграции эта задача может оказаться неподъемной. Таким образом, главным требованием должен быть выбор таких средств интеграции, которые позволят обеспечить максимальную инвариантность механизма интеграции по отношению к изменениям, происходящим в интегрируемых компонентах.
7. Можно систему посмотреть?
Как правило, это требование подразумевает два сценария развития. Посмотреть продукт на демо-стенде или провести триал в своей инфраструктуре. С первым случаем все просто — сценарий удаленной демонстрации отработан, его длительность составляет примерно 2-3 часа, после демонстрации пользователь получает представление обо всех основных возможностях продукта, особенностях работы и интерфейсе. Этого, как правило, вполне достаточно, чтобы позволить провести оценку для применимости системы в своем окружении и принять управленческое решение.
Второй вариант, проведение триала, требует очень тщательной подготовки со стороны пользователей, проработки методики испытаний. При ее отсутствии сложно рассчитывать на объективность оценки результатов триала.
8. Система может хранить все аварийные сообщения в течение года? А двух?
Каждая информация стоит ресурсов, которые, так или иначе, могут быть выражены в денежном эквиваленте. Изначально система регистрации неисправностей, являющаяся основой системы мониторинга, рассчитана на оперативную работу и на быструю реакцию на действия оператора. Любое увеличение данных, которые должны храниться в оперативном доступе, требует соответствующего увеличения аппаратных мощностей. Но действительно ли существуют такие объективные требования к хранениям «сырых» (raw) данных? Чем может помочь отдельное аварийное сообщение 6-ти месячной давности? А годовой? Ресурсов для изучения и анализа этого непрерывно увеличивающегося количества информации, как правило, нет и не предвидится. Ляжет это все мертвым грузом, ежедневно потребляя ресурсы на свое обслуживание. При таких сроках давности имеет смысл анализировать тенденции, периодические колебания, средние значения и статистику по сбоям. Архитектурно, это уже прерогатива систем аналитической отчетности, а не систем мониторинга. Поэтому оптимальным вариантом является разделение задач между различными системами, а не обрушение всего потока требований на одну систему.
9. Почему так мало вопросов?
В силу того, что CA Spectrum является успешным коммерческим продуктом с 15-ти летней историей, за кадром остались вопросы такие, как управление правами пользователей, самодиагностика, масштабирование, надежность, список заказчиков, и многие другие. Они не упоминаются вследствие того, что на каждый этот вопрос идет прямая цитата из документации.

среда, 17 сентября 2008 г.

Аутентификация и авторизация: основные понятия

Полезная вещь, хорошие определения.

Процесс регистрации пользователя в системе состоит из трех взаимосвязанных, выполняемых последовательно процедур: идентификации, аутентификации и авторизации.

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

Администрирование — процесс управления доступом субъектов к ресурсам системы.
Данный процесс включает в себя:
— создание идентификатора субъекта (создание учетной записи пользователя) в системе;
— управление данными субъекта, используемыми для его аутентификации (смена пароля, издание сертификата и т.п.);
— управление правами доступа субъекта к ресурсам системы.
Аудит — процесс контроля (мониторинга) доступа субъектов к ресурсам системы, включающий протоколирование действий субъектов при их доступе к ресурсам системы в целях обеспечения возможности обнаружения несанкционированных действий.

пятница, 29 августа 2008 г.

Популяризация в PC Week

В 14-м номере сего года опубликовал статью Стандартизация -- путь к сокращению издержек. Интересно, какой процент читателей газеты доберется до статьи?

пятница, 23 мая 2008 г.

Нужен ли мониторинг ИТ инфраструктуры?

Надоело каждый раз рассказывать. Оформил в виде файла + добавил изыскания на предмет мониторинга различных приложений с использованием стандартного инструментария. Готово для запуска в оборот.

среда, 14 мая 2008 г.

Мониторинг ИТ-инфраструктуры

Листовки под формат A3 (для складывания в 4-х страничную шпаргалку). Верстка немного хромает, поскольку листовки разыменованные (убран текст) из соображений корректности. Интересны по содержательной части и как портфолио.

Понятно, что надо делать дальше. Но, увы, в сутках 24 часа.

четверг, 24 апреля 2008 г.

Применение концепции SOA в OSS решениях

Из неопубликованного. Материал был написан в конце 2006-го года.
pdf версия

Не секрет, что для разворачивания в компании более или менее полноценного OSS решения, состоящего из нескольких модулей, необходимы четкое видение задач и целей менеджментом компании на несколько лет вперед и немалые финансовые и человеческие ресурсы для осуществления этих задач. Представители компании ТехноСерв АС, опираясь на значительный опыт внедрений OSS модулей, выделили бы в качестве базового набора модулей следующую связку: Inventory, Fault Management, Performance Management, Service Provisioning. На сегодняшний день, указанными качествами обладают, в основном, компании, развивающие бизнес в области телекоммуникаций. К моменту внедрения OSS, традиционный программно-аппаратный комплекс оператора, как правило, уже включает биллинговую систему (возможно, не одну, а несколько), ERP-систему, систему документооборота, а также децентрализованную кусочную систему управления оборудованием, поставляемую непосредственно самим производителем. Все эти системы должны быть так или иначе интегрированы между собой, а изменения в них, при необходимости, должны вноситься «на лету». OSS модули, по своему назначению, обязаны взаимодействовать с указанным программно-аппаратным комплексом. Более того, каждый модуль комплексного OSS решения может быть от разных производителей, тем самым еще более усложняя интеграционную задачу. И в таком непростом IT-ландшафте переход к концепции SOA позволяет понизить сложность поставленной задачи, поскольку архитектура SOA является слабосвязанной. Но для того, чтобы воспользоваться преимуществами сервис-ориентированной архитектуры, необходимо четко понимать, что она из себя представляет, какие дополнительные требования за собой влечет, какие имеет ограничения.
Построение технологических систем на основе предоставления сервисов (услуг), конечно же, не является революционно новым архитектурным решением; в обыденной жизни мы все так или иначе пользуемся услугами различных компаний, будь то такси или же мобильный оператор. Однако, поскольку все эти веяния идут из сферы информационных технологий, то под сервисами и архитектурой, как правило, понимаются особенности построения приложений и протоколов обмена между различными модулями. Тогда возникает вполне резонный вопрос со стороны опытных разработчиков и архитекторов: «Что такого нового вы представляете, чего мы еще не видели?» И они, действительно, правы. Если ограничиваться только узкими рамками разработки программного обеспечения, то за последние 20-25 лет было сменено несколько парадигм построения приложений и способов модульных кросскоммуникаций. Аббревиатур много: OVL, RPC, COM\DCOM, CORBA, RMI, … и что дальше? Чем SOA (а в IT-домене это, как правило, трансформируется в понятие web-services) отличается от всего вышеуказанного? Чего ради делать такие огромные вложения в новую архитектурную концепцию? Для ответа на все эти вопросы, и еще некоторые другие, будет посвящена оставшаяся часть статьи.
Здесь не предполагается каких-либо частных откровений о SOA, все в рамках стандартов. В качестве базового документа воспользуемся [Reference Model for Service Oriented Architecture 1.0. OASIS Standard, 12.10.2006].
Определение: Сервис-ориентированная архитектура (SOA) является парадигмой для организации и использования распределенных мощностей по реализации различных задач. Причем эти мощности могут находиться в ведении различных функциональных подразделений.
Заметим, что в этом определении ничего не сказано, что это архитектура построения приложений или порталов. Определение носит общий характер и может описывать процессы даже не связанные с IT, например, доставка почты или же производство обуви. В общем случае субъекты (люди или организации) создают возможности для решения задач или же поддержки процессов, возникающих в ходе существования бизнеса. И вполне естественным является возможность использования этих возможностей как другими людьми из этой же компании, так и другими компаниями.
Парадигма SOA имеет 3 ключевых понятия: видимость (visibility), взаимодействие (interaction) и эффект (effect).
Первое понятие, «visibility», описывает принцип доступности информации о существующих возможностях и возникающих потребностях. Т.е. каждая компания\подразделение\человек etc. предоставляют информацию о том, какую задачу они могут выполнить, как быстро они смогут ее сделать, сколько это может стоить и другие параметры. Одовременно с этим доступна информация о потенциальных пользователях и их потребностях.
Второе понятие, «interaction», описывает механизмы, которые предоставляет архитектура, для сопоставления возникающих потребностей с возможностями и наоборот.
Третье понятие, «effect», означает, что в результате взаимодействия пользователя с поставщиком той или иной услуги должно произойти изменение в окружающей среде. Парадигма SOA не занимается описанием изменений в закрытой области (например, в рамках компании-поставщика услуги). Важным фактом является то, что эффект происходит в разделяемой или пограничной среде, доступ к которой, потенциально, могут получить и другие пользователи. Ключевой аспект во всех взаимодействиях – использование возможностей без знания о внутреннем устройстве компании, предоставляющих эту возможность.
Последний пункт, который требует детализации — понятие «сервис». Согласно словарному определению «Сервис — работа по удовлетворению чьих н. бытовых, текущих или постоянных нужд». В общепринятом же понимании, термин «сервис» является комбинацией следующих положений:
• Возможность выполнения работы для 3-го лица.
• Спецификация работы предлагаемой для выполнения 3-му лицу.
• Предложение выполнения работы для 3-го лица.
Такая концепция позволяет достаточно четко провести разделение между потенциальными возможностями и способностью воплотить эти возможности в нечто реальное. Потребности и возможности существуют независимо от парадигмы SOA, и их значение неизменно. А вот определение понятия «сервис» в рамках SOA незначительно трансформируется, формализуется и принимает вид: «Сервис — это механизм посредством которого происходит связка потребностей в выполнении тех или иных функций и возможностей эти функции выполнить».
Каковы же основные отличия концепции SOA от ранее предложенных парадигм? Наиболее показательным примером будет сравнение в тематике проектирования программных комплексов\программирования, как наиболее передовой сферы, воплощающей лучшие архитектурные подходы в числе первых. К настоящему моменту лидирующее положение во многих предметных областях заняла объектно-ориентированная парадигма программирования (OO). Очевидно, что наиболее показательным и ярким будет сравнении SOA и OO.
В отличие от парадигмы OO, фокусирующейся на инкапсуляции данных и методов для манипуляции этими данными в единый объект, выступающей в качестве законченной конструктивной единицы, в SOA фокусируется на решении конкретной бизнес-задачи или предоставлении бизнес-функции, т.е. осуществляется переход от предмета к действию, имеющему реальный эффект. Различие проявляется следующими способами:
• В парадигме OO методы намеренно объединяются с данными. В таком контексте методы манипулирования могут представляться как некие свойства объекта. В рамках концепции SOA методы (сервисы) могут рассматриваться как способах доступа к данным, но фактически, жесткая связь между данными и методами может отсутствовать. Более того, для конечного потребителя сервисов, информация о связи между различными данными и методами доступа вообще может быть недоступна.
• В рамках OO использование объектов (т.е. вызов методов) возможно только после создания конкретного экземпляра на основе предопределенного шаблона. В SOA возможно использование сервисов\служб как только они становятся доступны. При этом для конечного пользователя сервисов отпадает необходимость в заботе о создании, проверки, размещении и пр. соответствующих структур данных.
• Объект в концепции OO представляет собой изнутри простую структуру данных без какой-либо семантической информации. В концепции SOA четкое описание семантики является одним из фундаментальных требований.
Как OO так и SOA есть способ отображения объектов и методов реального мира в рамки создаваемой модели. Важнейшим моментом является правильное понимание и корректное использование парадигмы. Таким образом вопросы «Что есть сервис?» и «Что есть объект?» лишены смысла без координатной привязки. Все может быть представлено как сервисом так и объектом. Основное значение выбора парадигмы — создание более ясной и простой картины. SOA обеспечивает более надежный фундамент для построения крупномасштабных систем потому как предоставляет модели, наиболее приближенные к способу организации человеческой деятельности.
Каким же образом парадигма SOA отличается от других подходов к организации и структурированию IT средств? По существу, есть две области, в которых подход SOA отличается от существующих концепций и фреймворков, лежащих в основе распределенных систем.
Во-первых, SOA отражает реальность границ собственности, являющуюся одним из базовых принципов архитектуры и дизайна систем. Этот факт непреложным образом вытекает из основных концепций SOA: видимости (visibility), взаимодействия (interaction) и влияния (effect). Для того чтобы в полной мере нести ответственность за такие концепции как доверие (trust), бизнес транзакции (business transactions), полномочия (authority), делегирование (delegation) и т.д. — требуются дополнительные платформы (framework) и элементы архитектуры. В контексте SOA, они, вероятно, будут представлены в рамках описаний и интерфейсов сервисов (служб). Существующие механизмы описаний и интерфейсов сервисов содержат в себе возможности для включения таких ссылок, и тем самым облегчают повторное использование внешних платформ (framework) и возможности взаимодействия систем, включенных в повторное использование.
Во-вторых, в парадигме SOA учтен печальный опыт по состыковке возможностей различных сервисных IT компаний и потребностей бизнеса. Так, два или более лица объединяются в контексте единого взаимодействия, подразумевающего обмен некими данными. Этот же принцип является основным при совершении торговых сделок в реальном мире. Таким образом, есть все предпосылки для предположения, что SOA будет успешно развиваться вне зависимости от существующих на рынке в данный момент услуг; технологии и концепции, заложенные в SOA, могут масштабироваться, следуя потребностям рынка.
Переход к сервис-ориентированной архитектуре следует воспринимать как неизбежную тенденцию. Многие крупнейшие производители программного обеспечения начали свое движение в этом направлении. В частности, компании Alcatel-Lucent, BEA, IBM и другие провозглашают переход к SOA как одно из приоритетнейших направлений. И это совершенно неудивительно, поскольку только за последние несколько лет рынке произошло значительное количество слияний. В частности, были объединены активы компании Cramer и Amdocs, Micromuse и IBM, MetaSolv и Oracle и пр… А объединение различных OSS-модулей под крылом одной компании воспринимается конечным заказчиком исключительно в одном ключе: «модули одного производителя обязаны иметь ‘out-of-the-box’ интеграцию». Но, поскольку, эти модули первоначально разрабатывались в различных коллективах, в различные моменты времени и с использованием различных архитектурных подходов, это высказывание не соответствует действительности. И в задачу производителя теперь входит создание механизмов интеграции приобретенных модулей, что, зачастую, является совсем нетривиальной задачей. И в этот момент, звезда «SOA» начинает сиять особенно ярко. Именно благодаря слабосвязанности архитектуры SOA, производители OSS продуктов получают возможность путем незначительных вложений (относительно стандартных методов разработки ПО) создать интегрированный комплекс.
Для корректности следует отметить, что при переходе к приземленным вопросам, например, к вопросам интеграции, терминология меняется. SOA является более философским термином, а для решения конкретных интеграционных задач используется инструментарий, именуемый Enterprise Service Bus (ESB). Enterprise Service Bus является брокером, поддерживающим вызов сервисов\служб в синхронном и асинхронном режимах. Она разрешает передачу данных и уведомлений о событиях между отдельными модулями или приложениями. ESB помогает потребителям найти провайдеров сервисов\служб и управляет деталями взаимодействия между ними, все в полном соответствии с концепцией SOA.
Как правило, потребители сервисов\служб сталкиваются с искусственным выбором между двумя стилями взаимодействия: синхронным или асинхронным. Синхронная ESB является шлюзом служб, который выступает как центральный координатор множества служб. Асинхронная ESB является шиной сообщений, чьи службы поддерживают также способности Web-служб к самоописанию и обнаруживаемости. Для разрешения этой дилеммы, ведущие производители ESB, такие как IBM (WebSphere), BEA (WebLogic), Oracle (Oracle ESB), включают в свои продукты поддержку обоих режимов и, фактически, могут предложить две модели вызова для одной и той же службы. В этом случае потребитель при запросе адреса службы сможет получить два варианта: один для синхронного режима, второй для асинхронного, что, несомненно, повышает гибкость ESB как интеграционного инструмента. Исходя из потребностей, потребитель сможет выбрать модель вызова, которая ему больше всего подходит. Важно отметить, что независимо от выбранной модели вызова, выполняться будет одна и та же служба, хотя конкретный экземпляр провайдера службы может при этом и отличаться.
Как обычно, каждое архитектурное решение имеет свои минусы. В случае с SOA уверенно можно сказать, что плюсов от перехода к SOA будет существенно больше, чем минусов. Поэтому только заострим внимание на ключевых технических моментах, которые должны быть детально проработаны до перехода на SOA. Если эти моменты оставить в тени, то переход к SOA может стать неоправданной тратой средств.
• Для реализации SOA в обязательном порядке потребуется модель сообщений для обмена информацией между модулями.
• Для получения выгоды использования SOA необходимо согласование стандартов сообщений большого числа разнородных систем, участвующих в интеграционном процессе.
• Отсутствие четкого долгосрочного планирования при интеграции может превратить механизм версионности сообщений, как раз и предназначенный для ослабления межмодульной связи, превратить в жесткую сцепку.
• Реализации могут зависеть от специфики используемой ESB.
• Требуется дополнительное программно-аппаратное обеспечение.
• Вводится очередной абстрактный уровень обработки и трансляции сообщений, со всеми вытекающими последствиями.
• ROI архитектурных решений с использованием SOA, как правило, начинает проявляться только при их тиражируемости.
• Для эффективного осуществления требуется наличие в компании четкой стратегии развития и определенной зрелости модели управления ИТ.
В заключение еще раз отметим, что в свете означенных тенденций, демистификации концепций, четкое и понятное формулирование целей, стандартизация подходов, существенно сокращают издержки перехода к системам, построенным с использованием парадигмы сервис-ориентированной архитектуры, и уменьшают риски возможных провалов.

Опубликованные материалы публичных выступлений

Доклады:
Статьи:

среда, 23 апреля 2008 г.

Книги по методологии разработки ПО

Было прочитано и что я бы рекомедовал иметь под рукой:

  • Карл И. Вигерс. «Разработка требований к программному обеспечению»
  • Эдвард Йордон. «Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте»
  • Фредерик Брукс. «Мифический человеко - месяц или Как создаются программные системы»
  • Алан Купер. «Психбольница в руках пациентов»
  • Ларри Константин. «Человеческий фактор в программировании»
  • Том Демарко, Тимоти Листер. «Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения»
  • Том Демарко, Тимоти Листер. «Человеческий фактор: успешные проекты и команды»
  • Том ДеМарко. Deadline. «Роман об управлении проектами»
  • Фергус О`Коннэл. «Как успешно руководить проектами. Серебряная пуля. 3-е издание»
  • Дж. Ханк Рейнвотер. «Как пасти котов. Наставление для программистов, руководящих другими программистами»
  • Николас Дж. Карр. «Блеск и нищета информационных технологий. Почему ИТ не являются конкурентным преимуществом»
  • Э. Хант, Д. Томас. «Программист-прагматик. Путь от подмастерья к мастеру»
  • Джоэл Спольски. «Лучшие примеры разработки ПО»
  • Джоэл Спольски. «Джоэл о программировании»
  • Стив Макконнелл. «Профессиональная разработка программного обеспечения»
  • Стив Макконнелл. «Сколько стоит программный проект»
  • Стив Макконнелл. «Остаться в живых! Руководство для менеджера программных проектов»
  • Джим и Мишель Мак-Карти. «Программируем командный дух»
  • Дж. Фридл «Регулярные выражения»
  • Г. Буч, А. Якобсон, Дж. Рамбо. «UML. Классика CS. Издание второе»