Microsoftは、コマンドラインシェルと関連するスクリプト言語であるPowerShellへの投資を続けている。PowerShell Desired State Configuration (DSC)は、Linuxボックスを管理することができるようになった。
最新のTechEd North AmericaにおいてPowerShell DSC for Linuxを発表した。DSC for Linuxの最初のリソースプロバイダーは、DSC for Windowsが通った道と同じ経路をたどり、インフラストラクチャ管理のための基本的な構成である。PowerShellチームのBlogでの報告において、彼らは:
- nxFile – ファイルやディレクトリの状態を管理
- nxScript – 対象ノードでスクリプトブロックを実行
- nxUser – Linuxユーザーを管理
- nxGroup – Linuxグループを管理
- nxService – Linuxサービス(System-V, Upstart, SystemD)を管理
DSC for LinuxはCommon Information Model (CIM)サーバーとして、2012年にMicrosoftがオープンソース化したOpen Management Infrastructure (OMI)を使用している。Microsoftは、PowerShell DSCをツールベンダーが自社製品を構築するためのプラットフォームとして位置づけており、PuppetやChefのようなツールの直接的な競合ではない。ChefからJulian C. Dunn氏がデモしている (51分ぐらいをチェック) ように、実際にいくつかのツールベンダーは、Microsoftと協力してPowerShell DSCをサポートしている。Julian氏は、ChefのDSLにPowershell DSCリソースを直接埋め込むChefのクックブックを示した。
PowerShell DSCアーキテクチャー(クレジット: Hemant Mahawar氏とNarayanan Lakshmaman氏)
Microsoft Open Source Technology CenterのシニアプログラムマネージャーであるKris Bash氏は、CentOS 6システム上にDSC for Linuxをインストールして使用する構築手順にステップバイステップガイドを書いたが、Kris氏は、Debian/Ubuntuでも動作するはずだと述べている
DSC for Windowsは、プルとプッシュモードの両方をサポートしているが、DSC for Linuxの現在のリリースでは、シンプルなプッシュモードのみをサポートしている。PowerShell DSCはCommunity Technology Preview (CTP)が提供されており、GitHubにホストされている。
InfoQは、このイニシアチブの詳細について知っているKris氏と話した。
InfoQ: PowerShell DSC for LinuxはどのようなLinuxディストリビューションをサポートしていますか?
DSC for Linuxが一般公開されるとき、私たちはRed Hat Enterprise Linux, SUSE Linux Enterprise Server, CentOS, Ubuntu Server, Oracle Linux, Debianをサポートする予定です– 同じエンタープライズ ディストリビューターは、Hyper-Vで実行し、System Centerでの管理をサポートします。私たちは機能の追加とソースのリリースをし続ける予定であり、DSCを変更して他のオペレーティングシステムをサポートするためにビルドすることができます。
InfoQ: あなたはWindowsで行って来たのと同じように追加のリソースをリリースするつもりでしょうか?あなたはパイプラインにおいてどのようなリソースに光を当てることができますか?
はい。私たちは追加のリソースをリリースする計画があります。まず、私たちは“組み込み”リソースの基本セットを完成させ、次にその他の一般的な構成シナリオに移動するが、Linuxネットワーク構成の可能性が高いです。私たちは、他の方が彼らのカスタムリソースを構築して共有できるようにLinuxにおけるリソース開発のガイダンスにも取り組んでいます。
InfoQ: なぜDSC For LinuxをGitHubでホストすることを選んだのですか?
私たちはGitHubがほとんどのLinux管理者になじみがあると信じており、(JEEアプリケーションサーバーのモニタリングのための)Windows Azure Linux AgentとBeanspyなどLinux指向の機能をリリースした歴史があります。
InfoQ: コントリビューションを受け付ける予定はありますか?
私たちはこのトピックを評価中です。それまでの間、私たちはGitHubレポで早期導入レポートの問題やIssueとして要求を求める予定です。