Windows Server 2012, PowerShell 3.0 и DevOps (ч.2)
Это заключительная часть моей серии статей. В первой статье я дал некоторую вводную информацию по PowerShell и DevOps. В этой статье я расскажу вам о них более подробно. PowerShell 3.0, как и Windows Server 2012, включает в себя множество новых функций и улучшений, так что мой рассказ затронет лишь некоторые из них.
Джеффри
Хотя PowerShell всегда была ориентирована на задачи DevOps, PowerShell 3.0 и Windows Server 2012 поднимает это на новый уровень. В Windows Server 2012 мы сместили стратегию по созданию превосходной ОС для сервера в сторону облачной ОС для множества серверов и устройств, которые соединяют их, вне зависимости от того, являются ли они физическими или виртуальными, локальными или удаленными. Чтобы добиться этого, нам нужно было многое сделать для:
- Автоматизации всех процессов
- Надежной и быстрой автоматизации
- Упрощения процесса автоматизации для эксплуатационщиков
- Упрощения процесса создания инструментов для разработчиков
Автоматизация всех процессов
Windows Server 2008/R2 поставлялся с 230 наборами команд. Windows Server 2012 увеличивает это количество более чем в 10 раз, предлагая порядка 2430 командлетов. Теперь вы можете автоматизировать почти каждый аспект работы сервера. Здесь есть наборы команд для сети, хранилищ данных, кластеризации, RDS, DHCP, DNS, файловых серверов, принт-серверов, SMI-S и т.д. - список можно продолжать еще долго. Если вы читали статьи о Windows Server 2012, то вы знаете, как много вещей можно сделать с помощью PowerShell. Если вы не следили за новостями, прочитайте
Многие наши партнеры-производители аппаратного и программного обеспечения уже предлагают свои наборы команд PowerShell, а есть и такие, кто еще не выпустил их, усердно работая над тем, чтобы выпустить их с новыми версиями своих продуктов. Это было очевидно на недавно прошедшей в Лас-Вегасе конференции MMS, и я думаю, что мы увидим еще большую поддержку на TechEd. Вы обязательно должны удостовериться, что любой продукт, который вы собираетесь купить, предлагает полный комплект наборов команд PowerShell. Если это не так, то вам стоит дважды подумать и убедиться в том, что вы получите продукт, который актуален и в разработку которого продолжают делать инвестиции. Если они не уделяют внимание PowerShell, что еще они могли упустить? Хорошие новости в том, что многие продукты будут поддерживать PowerShell к моменту релиза Windows Server 2012, а также то, что продукты, которые уже поставляются с командлетами, хорошо с ними работают и имеют много положительных отзывов. КАЖДЫЙ продукт, который поставляется с наборами команд PowerShell, увеличивает свои инвестиции в PowerShell в его будущих релизах.
Надежная и быстрая автоматизация
Рабочий процесс
Мы интегрировали механизм
Эксплуатационщики могут использовать любой доступный конструктор Workflow для создания рабочего процесса. Однако, мы пошли еще дальше и упростили процесс разработки, расширив язык PowerShell ключевыми словами рабочих процессов. Каждый эксплуатационщик или разработчик теперь могут легко создавать рабочий процесс, используя инструменты, которые есть во всех редакциях Windows. Поведение рабочего процесса отличается от поведения функции и подчиняется нескольким дополнительным правилам, однако если вы знаете, как написать функцию PowerShell, то вы на 80% готовы писать рабочий процесс. Создавать рабочие процессы с помощью PowerShell намного легче, чем работать с XAML, и многим из нас намного проще будет освоить PowerShell, чем инструменты конструкторов Workflow. Вы также получаете выгоду от возможности вставлять их в электронные письма, чтобы кто-то другой мог прочитать/просмотреть их без необходимости установки специальных утилит. Ниже приведен пример рабочего процесса, который выполняется на нескольких машинах параллельно, одновременно собирая информацию о конфигурации на нескольких машинах.
Команда, приведенная ниже, получает эту информацию из списка серверов, содержащегося в файле servers.txt, и выводит полученные результаты в файл. Если какой-либо из серверов недоступен, рабочий процесс будет пытаться связаться с ним каждый 60 секунд на протяжении часа.
Рабочий процесс - это именно то, что нужно практикам DevOps для надежного выполнения повторяющихся операций. Одним из ключевых методов DevOps является
Запланированные задания
Мы также интегрировали
Отказоустойчивая работа сети
В предыдущих релизах PowerShell поставлялся с отключенным по умолчанию удаленным управлением и требовал от эксплуатазионщиков заходить на каждую машину и выполнять командлет Enable-PSRemoting, чтобы иметь возможность управлять ей удаленно. Как и положено облачной операционной системе, теперь удаленное управление серверами через PowerShell является основным сценарием работы, так что мы сократили количество действий и включили удаленное управление через PowerShell по умолчанию на всех конфигурациях сервера. Мы провели обширное исследование и тестирование безопасности, чтобы убедиться в том, что это безопасно.
В
Упрощение процесса автоматизации для экплуатационщиков
Мы хотели существенно уменьшить уровень навыков, необходимых для успешной автоматизации сложный решений. В конечном итоге мы хотим создать мир, где эксплуатационщики смогут подумать о том, что они хотят получить, написать это и получить готовый результат. Потребности клиентов и сценарии их работы могут быть очень разными, так что им необходимо иметь возможность написать сценарий для их собственных решений. Наша цель состоит в том, чтобы упростить процесс создания скрипта, объединяя между собой абстракции, ориентированные на высокоуровневые задачи. Одним из аспектов этого процесса является наборы команд. Вот почему наличие 2430 командлетов значительно упрощает автоматизацию работы Windows Server 2012. Многие из этих наборов команд чрезвычайно эффективны при работе с вычислительными центрами. У нас есть командлеты для работы с REST API, объектами JSON и даже для получения, анализа и публикации веб-страниц из управляющих приложений, если это требуется.
PowerShell 3.0 упрощает язык и наборы команд для уменьшения количества шагов и синтаксических конструкций, необходимых для выполнения операций. Ниже приведен пример старого и нового синтаксиса.
PowerShell 3.0 улучшает инструменты разработки, используемые эксплуатационщиками для создания скриптов и рабочих процессов. PowerShell-ISE теперь поддерживает IntelliSense, сниппеты, сторонние расширения, а также окно Show-Command, которое упрощает процесс поиска нужной команды и параметров, необходимых вам для выполнения вашей задачи.
Простой процесс создания утилит разработчиками
Разработчики всегда любили писать скрипты на PowerShell благодаря ее функциональности, возможности использовать синтаксические конструкции языка C и умение работать с объектами .NET. PowerShell 3.0 убирает множество преград во взаимодействии с объектами .NET, а также позволяет разработчикам использовать PowerShell для гораздо больше диапазона сценариев.
Улучшение процесса создания инструментов
PowerShell 3.0 теперь включает в себя
Мы внесли изменения во множество ключевых областей работы PowerShell, чтобы сделать упростить процесс его использования разработчиками и расширить его функционал для написания их собственных инструментов. Сюда относится доступ к нашему сериализатору, улучшения API и расширяемая модель PowerShell_ISE.
Улучшение процесса создания скриптов
PowerShell 3.0 теперь используется технологию .NET
Intellisense (и завершение команд по нажатию кнопки Tab в командной строке) теперь работает с пространством имен и типами .NET.
Это позволяет вам анализировать программу и использовать различные типы данных для улучшения качества IntelliSense.
Мы расширили нашу хэш-таблицу двумя ее вариантами, которые позволяют разработчикам еще проще добиваться от скрипта такого его поведения, которое им нужно:
Улучшение процесса построения платформ
Мы упростили этот процесс для поддержки делегированных сценариев администрирования. PowerShell 3.0 позволяет вам регистрировать удаленные оконечные устройства, настраивать набор доступных для них команд и определять, с какими учетными данными эти команды должны выполняться. Это позволяет вам управлять запуском определенного набора командлетов с правами администратора. Мы упростили процесс определения наборов команд, которые могут использовать конфигурационный файл декларативной сессии.
PowerShell 3.0 теперь также доступен как дополнительный компонент WINPE.
Windows Server 2012 и PowerShell 3.0 - превосходные инструменты DevOps
DevOps - это новый термин, и хотя есть некоторые разногласия относительно того, что он собой представляет, в его основе лежит стремление сделать изменения безопасными с помощью средств автоматизации, а также преодолеть пропасть между эксплуатационщиками и разработчиками. Еще многое можно сделать в этой области, однако в Windows Server 2012 и PowerShell 3.0 мы добились значительных успехов в достижении этих целей. PowerShell не будет единственным инструментом на вашей панели DevOps, но она точно должна быть на каждой панели инструментов DevOps.
Ведущий инженер и архитектор Windows Server
Источник:
Перевод: Dazila
По теме
- Доступна бета-версия Windows Server 2012 Essentials
- Windows Server 2012, PowerShell 3.0 и DevOps (ч.1)
- SMB 2.2 - это теперь SMB 3.0
- Служба Microsoft Online Backup Service
- Создание оптимизированного частного облака с использованием Windows Server “8” Server Core
- Сроки выхода версии-кандидата Windows Server 2012
- Хранение данных серверных приложений в общих файловых ресурсах
- Windows Server 2008 R2 Hyper-V получила сертификат Common Criteria с уровнем доверия EAL 4+
- Совершенствование процесса администрирования Windows Server “8”
- Улучшенные функции хранения и доступности в Windows Server 8