Насколько удобнее было бы работать администраторам SharePoint, если бы они могли автоматизировать все операции из несчетного числа своих обязанностей! Мечта достижима. Нужно лишь изменить методы, которые они используют в своей работе.
На самом деле существует несколько вариантов автоматизации. Мы коротко рассмотрим каждый из них, со всеми достоинствами и недостатками.
Пакетные файлы
Вам всем, несомненно, хорошо знаком этот старый способ автоматизации задач. Простой, но весьма полезный текстовый файл, который содержит разнообразные команды для системы, к которой мы подключаемся. В предыдущих версиях SharePoint (2003, 2007 и даже 2010), когда мы использовали PSConfig вместо PowerShell, это было лучшее средство. Изучение команд stsadm и возможностей их применения с последующим созданием задач обслуживания или решения проблем значительно облегчает работу администратора (экран 1).
Экран 1. Использование командного файла |
Этот подход будет еще эффективнее, если объединить пакетные файлы с инструментами планирования, такими как Scheduled Tasks («Расписание заданий») в Windows, или каким-нибудь другим подходом. Единственное ограничение — охват управляемых объектов. Функциональность stsadm недостаточна для администраторов, да и подготовка пакетных файлов — не самая простая задача.
Сценарии PowerShell
Добро пожаловать в новый мир, в котором, вероятно, вы найдете более удачный подход к автоматизации. За последние несколько лет PowerShell реализован в различных продуктах Microsoft. Конечно, возможности первой версии для SharePoint были ограничены, но со временем функциональность была расширена. PowerShell проектировался специально для администрирования таких систем, как SharePoint (экран 2).
Экран 2. Администрирование с помощью PowerShell |
Как на локальной системе, так и в «облаке» SharePoint предоставляет множество команд, которые можно использовать не только для настройки, но и для администрирования. Сценарии PowerShell фактически устраняют необходимость в пакетных файлах благодаря более продуманному инструментарию, особенно интегрированной среде для подготовки сценариев. Еще более привлекательна высокая эффективность PowerShell, достигаемая благодаря возможности загружать любые библиотеки DLL и обращаться к методам и функциям.
Функции Azure
О функциях Azure и их использовании вместе с SharePoint написано немало. Однако возможности функций Azure выходят далеко за рамки простого использования с SharePoint. Azure Functions — служба, в которой можно публиковать код настраиваемого прикладного интерфейса API. Azure Functions поддерживает специальные меры безопасности и маршрутизацию запросов. Мы можем определять триггеры, на которые реагирует конкретная функция, например веб-запрос или сообщение очереди (экран 3).
Экран 3. Использование функций Azure |
При необходимости можно создать собственный код API, который взаимодействует с SharePoint локально и в «облаке». Впоследствии к нему можно обратиться с помощью стандартных запросов HTTP для выполнения административных действий и других задач. Это означает, что достаточно знать HTTP URL-адрес, передать необходимые данные в качестве параметров, и код будет выполнен. Конечно, прежде чем использовать код, его нужно создать. При необходимости его можно объединить с запросами PowerShell, сформированными как назначенные задания в Windows.
Решения на основе пользовательского кода
Они похожи на функции Azure, хотя создаются нами и доступны внутри нашей компании. Пользовательское решение может предназначаться для любых действий. Подключаясь к основным библиотекам DLL, используемым SharePoint локально и в «облаке», мы можем добиться того, чтобы пользовательское приложение делало в точности то, что нам требуется (экран 4).
Экран 4. Использование кода собственной разработки |
В различных источниках в Интернете есть много утилит, созданных для автоматизации и администрирования SharePoint. Однако не забывайте: кто-то должен написать код, а впоследствии вносить в него необходимые изменения и отслеживать версии.
Сторонние инструменты
Наш небольшой обзор был бы неполным без решений, подготовленных сторонними поставщиками. На этом рынке существует множество инструментов различных типов, в том числе для миграции, резервного копирования, администрирования и настройки. Преимущество сторонних инструментов в том, что они, как правило, поддерживаются более крупными коллективами разработчиков. В результате продукт регулярно обновляется и вы получаете качественное приложение. Недостатком может быть цена, но помните, что в итоге они могут оказаться более дешевыми, чем другие варианты.
Как правило, в инструменты такого типа встроены процессы выполнения по расписанию, благодаря которым упрощается управление как локально, так и в «облаке».
В целом автоматизация администрирования SharePoint — вопрос вашего выбора. Некоторые администраторы избегают сторонних инструментов, полагаю, ради возможности создавать сценарии. Я убежденный сторонник сценариев, так как предпочитаю знать, что делает код приложения. Но помните, вам необходимо выполнять условия соглашения об уровне обслуживания, и лучше иметь приложение, уже соответствующее этому требованию.