Компьютерщик на все руки: «Клей» для автоматизации без сценариев

В System Center Orchestrator 2012 для автоматизации выполнения операций и заданий служат наборы заданий (runbooks), и для этого не нужны сценарии и вообще не нужно ни одной строки кода.

Грег Шилдс

Microsoft называет это «клеем» (the glue). Можно назвать это «автоматизацией всего остального». В мире, где всех, казалось бы, интересуют только сценарии Windows PowerShell, System Center Orchestrator 2012 предлагает перегруженным работой компьютерщикам на все руки чрезвычайно простую и практически не требующую написания сценариев технологию автоматизации.

Настроены скептически? Это вполне объяснимо. Это крупный продукт, а вы, возможно, работаете с небольшой средой или с небольшой частью более крупного продукта. Как корпоративное решение, подобное Orchestrator, может облегчить вашу работу на одном уровне, не усложнив на других?

Вы найдете ответ на этот вопрос, посмотрев операции (activities), которые Orchestrator сводит воедино при создании наборов заданий автоматизации (runbooks). Встроенные операции Orchestrator позволят вам: создавать, редактировать и перемещать файлы на диске; наблюдать за поведением систем; настраивать и запускать целый ряд операций, выполняемых на удаленных системах. Мы можете делать все это, не написав ни одной строки кода. Даже если у вас небольшая среда, это будет полезно. Если вы умеете выполнять операцию «drag-and-drop», вы можете автоматизировать почти все что угодно.

Обратите внимание на конвейеры

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

Операции и наборы заданий Orchestrator позволяют избавиться от команд в командной строке Windows PowerShell (см. рис. 1). В примере на рис. 1 имеется шесть операций, соединенных связями (links). Каждая операция определяет действие, выполняемое на заданном компьютере. Каждая связь (показывается соединяющей стрелкой) задает порядок выполнения операций. Показанный на рисунке набор заданий будет проверять, что заданный компьютер существует в сети, сопоставлять сетевой диск, копировать файл, добавлять строку в файл журнала и отправлять по электронной почте отчет об успехе или неудаче набора заданий.

Набор заданий Orchestrator задает выполняемые операции и их порядок

Get Computer… Get Computer…
Map Network Path Map Network Path
Copy file Copy file
Append Line Append Line
Send Email (Success) Send Email (Success)
Send Email (Failure) Send Email (Failure)

Рис. 1. Набор заданий Orchestrator задает выполняемые операции и их порядок

Операции можно просто перетаскивать из панели инструментов Activities в Orchestrator Runbook Designer. Затем настраивают свойства каждой операции, чтобы определить, что она должна делать (см. рис. 2). Связи также могут содержать свойства — как правило, это набор условий для продолжения выполнения или остановки набора заданий после той или иной операции. Операция Append Line (добавить строку) связана с двумя последующими операциями Send Mail (отправить почту). Первая выполняется, чтобы отправить сообщение электронной почты об успехе, тогда как вторая сообщает, что последняя операция потерпела неудачу.

Сопоставление сетевого пути в наборе заданий
Рис. 2. Сопоставление сетевого пути в наборе заданий

Автоматизацию Orchestrator называют «клеем», поскольку ее операции предоставляют почти неограниченные возможности настройки действий, выполняемых наборами заданий. Можно создавать операции, которые отсутствуют в панели инструментов, на основе любой команды, выполняемой из командной строки, в том числе и вызов самой Windows PowerShell.

Не бойтесь, что придется тратить силы на реализацию многих заданий в Windows PowerShell. Можно расширить библиотеку операций Orchestrator с помощью Integration Packs (пакетов интеграции). Аналогично тому, как Management Packs (пакеты управления) служат для расширения возможностей мониторинга в System Center Operation Manager, Orchestrator Integration Packs добавляют новые операции, предназначенные для достижения определенных целей. На рис. 3 показана часть списка операций, добавленных в составе System Center Virtual Machine Manager (VMM) 2012 Integration Pack. Как видите, операции этого пакета предназначены для решения специфических задач, связанных с управлением виртуальными машинами (VM) в VMM.

Этот Integration Pack предназначен для управления виртуальными машинами в System Center Virtual Machine Manager 2012
Рис. 3. Этот Integration Pack предназначен для управления виртуальными машинами в System Center Virtual Machine Manager 2012

Integration Pack — это не просто новые операции. Это еще и точка интеграции между Orchestrator и внешним решением, с которым вы работаете. В редакторе конфигурации для VMM 2012 Integration Pack при регистрации и развертывании пакета в инфраструктуре Orchestrator задают информацию о соединении с доступным VMM-сервером (см. рис. 4).

Редактирование конфигурации System Center Virtual Machine Manager 2012 Integration Pack
Рис. 4. Редактирование конфигурации System Center Virtual Machine Manager 2012 Integration Pack

Централизованная реализация механизмов интеграции внутри пакетов значительно упрощает конструирование наборов заданий из объектов-операций. Объекты, зарегистрированные в составе пакетов, уже настроены на выполнение на удаленном сервере. Все, что вам остается сделать, — установить соединения для операций.

Забытые сценарии, «пережившие» своих создателей

Пожалуй, самое большое преимущество Orchestrator даже для минимальных по размеру сред — централизация всей автоматизации, необходимой для обеспечения работоспособности среды Windows. Каждый, кто имеет опыт написания сценариев, знает, что сценарии в ИТ-среде — это обоюдоострый меч. Они отлично подходят для автоматизации трудоемких задач администрирования Windows, выполняемых вручную, но реализуемые ими операции часто теряются в повседневной рутине поддержания серверов в рабочем состоянии.

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

Orchestrator избавляет от проблемы беспорядочно разбросанных сценариев благодаря их централизованному выполнению на одном сервере. Сценарии выполняются на сервере Orchestrator. Их операциями можно управлять через единую Orchestrator Console с веб-интерфейсом (см. рис. 5). Такая консолидация автоматизации с возможностью настройки гарантирует, что годы спустя к вам не обратятся по поводу давно уже забытого решения по автоматизации.

Orchestrator Console с веб-интерфейсом помогает управлять автоматизацией
Рис. 5. Orchestrator Console с веб-интерфейсом помогает управлять автоматизацией

Самообслуживание при автоматизации

Хотя сам по себе Orchestrator предоставляет огромные возможности, его инструментарий автоматизации становится еще более полезным при интеграции с System Center Service Manager. Посмотрите еще раз на новый набор задач, работающий с VM, на рис. 3. Этот вроде бы простой набор задач содержит две операции. Вторая из них создает VM в VMM по шаблону.

Эта простая автоматизация может показаться излишней до тех пор, пока вы не свяжете вторую операцию в наборе заданий с первой. Первая операция, Initialize Data — это поле подстановки для добавления входных данных во время выполнения. Посмотрите окна свойств операций Initialize Data (рис. 6a) и Create VM from Template (см. рис. 6b). В первой операции (слева) создаются два параметра — Cloud и VMName. Оба они имеют тип String. Эти параметры будут содержать значения Destination и VM Name, используемые второй операцией (справа), создающей VM.

Свойства Initialize Data
Рис. 6a. Свойства Initialize Data

Свойства Create VM from Template

Рис. 6b. Свойства Create VM from Template

Такой подход к созданию наборов заданий позволяет документировать специфику операций при создании Service Request в Service Manager. При этом будет нужно выполнить ряд дополнительных действий по интеграции Service Manager и Orchestrator. Затем вы должны создать в Service Manager объекты, содержащие требуемый шаблон, запрос к сервису и описание сервиса (service offering). Об этом можно будет прочитать в колонке за следующий месяц.

Конечный результат соединения Orchestrator и Service Manager должен вас вдохновить. Вы полностью автоматизируете запросы к сервису. Выполнив несколько дополнительных действий, можно даже автоматизировать маршрут согласования, которое, с точки зрения бизнеса, необходимо перед выполнением операции.

«Клей», который понравится даже компьютерщику на все руки

System Center можно рассматривать как всеобъемлющую и масштабную корпоративную платформу, однако его инструменты не менее эффективны в небольших средах. Всегда имеются ручные операции, автоматизация которых позволит высвободить перегруженных сотрудников для решения задач, приносящих прибыль компании. Более этого, такую автоматизацию можно быстро реализовать без написания больших и громоздких сценариев Windows PowerShell.

Можно сказать, что Orchestrator — путь в эру после Windows PowerShell. Графический  объектно-ориентированный интерфейс Orchestrator позволяет полностью автоматизировать все остальное.

Грег Шилдс

Грег Шилдс (Greg Shields)MVP, партнер Concentrated Technology. Ознакомьтесь с другими его советами и рекомендациями для компьютерщика на все руки на сайте ConcentratedTech.com.