powershell-opensource

Microsoftは8月18日にPowerShellをオープンソース化し、Linuxでも利用可能にすることを発表しました。

以下はその発表内容を和訳したものです。

 

お客様は日々、マルチプラットフォーム、マルチクラウドかつマルチOSの世界にいますーそれが現実です。この世界では常に新しいチャレンジが発生し、お客様は全てをうまく活用するためのツールが必要です。Microsoftではお客様がどこでも、どのプラットフォームでも、どのデバイスからでも、Linuxでも、Windowsでも、管理できるツールを提供できるよう、会社をあげて進めています。このよりオープンな、お客様中心のアプローチを取り、イノベーションを提供できることで、我々の仕事がより楽しくなっています。

Satya Nadella氏からは「マイクロソフトはLinuxが好きです」と言われていたことは覚えていると思います。それが今日、より明確になったと思います。Azure上の仮想マシンの3台に1つはLinuxです。Azure Marketplaceで提供されているIaaS製品の60%はオープンソースソフトウェア(OSS)です。我々はこの業界に強いパートナーと協業することで、お客様へより幅広い選択肢を提供しています。我々はSQL サーバをLinuxでも提供することを発表し、.NETをオープンソース化しました。. Windows 10にはBashを追加したことで、よりOSSを開発するための素晴らしいプラットフォームにしました。更に、我々は積極的に様々な業界のオープンソースプロジェクト(e.g. OpenSSH、FreeBSD、Mesos、Docker、Linux等など)へ参加、貢献しています。

本日、我々は更なる一歩を進もうとしています。PowerShell をオープンソース化し、Linuxでも利用可能になり、私は非常にワクワクしています。(ご存じでない方のために:PowerShellはタスクベースのコマンドラインシェルかつ、ITプロフェッショナルがWindows OSやアプリケーションの管理を自動化するための.NETフレームワークで開発されたスクリプト言語です。それが今回Linuxにも対応しました。今からどのように我々がここに到達したのか、そしてMicrosoft Operations Management スイートがいかにPowerShellの体験を向上させるかお話しします。

PowerShellをオープンにするまでの経緯

まず始めに、PowerShell on Linuxとオープンソース化までの物語をお話します…

私のお客様は悲しんでいました。

Monad(PowerShellの前身)の時、大規模企業の役員へデモをしていました。そこで彼は非常にデモを好んでいたのですが、怒りだしました。

彼は私にどの言語で開発したのかを聞いてきたのですが、私はC#と答えたのです。その答えに不満だったのです。混乱しながら、彼に何が問題だったのかを聞きました。

「それはね、Monadは非常に正しいアプローチで、私の会社全体でもそれをベースに標準化したいけれど、.NETはLinuxで使えないからできないんだ!」と彼は言いました。

過去に、マイクロソフトのビジネスフォーカスは、.NET、よってPowerShellはWindowsでのみ提供する方針でした。ですが、今は新しいマイクロソフトです。Satya氏によるリーダーシップと、Azureによって、よりオープンに、よりお客様の視点へと移行しました。以下はそれにぴったりの写真です。

Microsoft loves Linux_2

Microsoftとしては、LinuxであるかWindowsであるかを問わず、お客様が好む、すべてのワークロードを実行する基盤になることです。この新しい考えを元に、.NETチームは、.NET CoreをLinuxでも実行できるようにし、併せてPowerShellもLinuxで提供することを考えました。PowerShell on Linux は、お客様が同じツールで、同じ人々で、どこからでもどこでも全てを管理可能にします。まずはじめに、Ubuntu、 Centos、Red Hat、と更にMac OS Xで実行可能です。今後より多くのプラットフォームでも利用可能に成る予定です。Alpha版ビルドやソースコードはGitHubからご覧頂けます。

Windowsのユーザーも、Linuxのユーザーも、現在Powershellをご利用の方も、そうでない方も、アプリケーション開発者でも、インタラクティブなスクリプティング言語の体験が得られ、環境を跨いだ自動化と構成管理機能が既存のツールで利用可能です。あなたのPowerShellのスキルはより高い価値のものとなり、従来WindowsとLinuxで業務を分けていたチームでも、より簡単に一緒に仕事できるようになります。

今、我々はどの時点にいるのでしょうか? 現在我々はまだ初期の段階で、学習中です。PowerShellの一部分をオープンソース化し、成功に向けて何をすれば良いのかを、オープンソースの分野で経験がある、我々のいくつかのパートナーと話し始めました。その中でも、各ユーザーがGitを利用してコードをチェックアウトしたり、変更したり、コンパイル、テストをすべて、彼らの端末でできるが非常に重要であることがわかりました。これは我々の開発チームにとって、大きな投資となりました。さらに、我々は管理モデルを定義することで、我々の役目や、責任とプロセスが明確になるようにし、さらにコミュニティによる貢献内容がスムーズに製品に適用できるようにしました。

PowerShellチームは、常にコミュニティ中心となることにプライドをもっていたチームでしたが、この発表により次のレベルとして、ソースコードを公開し、オープンソース開発モデルを採用することで、RFCや、課題、貢献内容を直接やり取りすることで、より深い関係性をコミュニティと持てるようになりました。さらに、我々はこのオープンソースコミュニティを「村」のように拡大する必要があります。「村」によって、より良い体験を提供できるのです!我々はChef、Amazon Web Services、VMwareやGoogle社などの第三者企業とパートナーを組み、よりリッチで、シームレスな体験を既知のプラットフォームで利用できるようにします。

PowerShell を Linux でも利用できるようにするために、我々はこのプラットフォームにおいても、「ファーストクラス」のメンバーであるようにしています。アーキテクチャや、既存のツールとも相性が良いです。我々のPowerShellチームは深いUnixの理解があったため、それが設計がデザインにも現れており、比較的に簡単に実現できました。 いくつか細かな変更と、2つの大きな変更を適用しました:

  1. PowerShell Editor Serviceをリリースしました。これにより、ユーザーは様々なエディタ(VS CodeやSublime等)から選択でき、PowerShellのIntellisenseによる、すばらしいビルドやデバッグ体験が得られます。
  2. PowerShell Remoting Protocol (MS-PSRP) を拡張し、OpenSSH を純正なトランスポートとして利用します。ユーザーは更にSSHまたはWINRMも利用できます。

この初期リリースはまだアルファ版で、コミュニティによりサポートされます。将来的にはオープンソースベースのマイクロソフト公式リリースバージョンもWindowsと*nixへ提供する予定です。マイクロソフト公式版のリリース時期は、コミュニティによる貢献と業務需要によって左右されます。皆様の貢献をお待ちしております!

PowerShell体験をMicrosoft Operations Management Suiteへも拡張

クラウドマネージメントソリューションのOperation Management Suite(OMS)でも、PowerShellが拡張されたことについてお話したいと思います。OMS は、Azureやその他クラウド環境にあるアプリケーションや、負荷を可視化し、管理することができます。その機能の一つとして、PowerShellをWindowsやLinuxサーバで利用し、クラウド体験を変革することができます。OMS Automation によってPowerShell や Desired State Configuration(DSC) を拡張し、Azure上で高可用性でスケーラブルな管理サービスを実現できます。グラフィカルにPowerShellのリソースを管理・作成することが可能で、RunbookやDSCノードの構成を一つの場所で管理できます。

OMS ハイブリッド runbook ワーカーを利用することで、OMS Automation 機能を拡張し、オンプレミスの環境構成を設定、も監視、更新することがどこからでも可能になります。本日より更に、OMS 監視エージェントをLinux でも提供開始しました。これにより、お客様はLinuxでも豊富なインサイト情報とリアルタイムで負荷の可視化が可能となり、発生した問題を素早く確認し、対応することが出来るようになります。

PowerShell on Linuxをお試し頂き、是非ご感想をお教え下さい!OMS Automation に関しての詳細はこちらから(英語)ご覧頂けます。また、来週開催されるLinuxConもご確認下さい。Wim Coekaerts氏によりキーノートが発表され、我々はPowerShellのイベントブースにてデモンストレーションを実施します。

PowerShellを今から始められる方向けに Learning PowerShell レポジトリーをGitHubで提供しており、無料でMicrosoft Virtual Academyのオンラインコース: Getting Started with PowerShell 3.0 Jump Startを公開しています。PowerShellコミュニティはpowershell.org/から参加可能です。 PowerShell Team blogへのフォローをおすすめします。近い将来、Linuxコミュニティの要望に添って、これらを更新する予定です。

ここまでに来るには長い時間がかかりました。そしてこれから先は楽しい将来が待っていますので、是非ご参加頂き、一緒に素晴らしいツールを開発していきましょう。