2015/12/01

この記事はPowerShell Advent Calendar 2015の1日目です。

アドベントカレンダーは今年で5回目ですが、例年よりだいぶ参加者が少ないので、敢えて完走を目指さずまったりいきましょう。

とはいえ今年から来年にかけては、PowerShellの変革の年といっても過言ではないかと思います。

今年7月にはWindows 10のリリースとともに、WMF (Windows Management Framework) 5.0 / PowerShell 5.0 (2012R2/8.1向けにはProduction Preview)が登場しました。(私の書いたPS5.0新機能のセッション資料はこちら。)

PowerShell 5.0では特に、"Infrastructure as Code"、すなわちインフラの構成をコードで記述可能にし自動化するための機能である、PowerShell DSC周りが格段にパワーアップしています。DSCの機能増強により、Microsoft Azure等のクラウド、オンプレミスのサーバーはともに大きな恩恵を受けることが期待されます。Azure DSC Extensionも追従する形で凄まじい勢いでバージョンアップしてますね。

PowerShell 5.0の登場に合わせて、各種のPowerShell関係のモジュールやアプリケーションが新登場していますが、これらはいずれもOSS(オープンソースソフトウェア)となりました。

一例を挙げると、DSCで用いるロジック本体となる「DSCリソース」を作製する際に有用なDSCリソースキット、対応リポジトリをプロバイダという形で拡張可能であるパッケージ管理システムPackageManagement、PowerShellモジュールを専用リポジトリであるPowerShell Galleryからコマンド1発で取得可能となるPowerShellGet、PowerShellスクリプトの静的解析を行うスクリプトアナライザー、Windowsのみならず他プラットフォームの一括管理を目指すDSC for Linux等々です。

先日OSS化したばかりの、マルチプラットフォーム対応のコードエディタであるVisual Studio Codeと、PowerShellスクリプトが記述可能となるPowerShell Extensionあたりもトピックとして熱いですね。

Visual Studio 2015には、VSでPowerShellスクリプト開発を行うためのOSSなプラグインであるPowerShell Tools for Visual Studioが標準搭載されたことも記憶に新しいですね。(12/1追記)

逆に、PowerShellのテストスクリプトを記述するためのフレームワーク(DSL)であるPesterや、コンソールの入出力をパワーアップさせるPSReadlineといった、OSSで開発されている既存のPowerShellモジュールが、Windows 10に標準機能として取り込まれるなど、OSSとの関係性については大きく変化したと言えるでしょう。

そして次期Windows Serverである、Windows Server 2016の足音も聞こえてきました。現在はTP4が公開されており、試すことができます。Windows Server 2016の目玉は何といっても、Windows ContainersNano Serverでしょう。

アプリケーションをコンテナという単位で配置し、自由なすげ替え、あるいは使い捨てが可能な環境を構築するツールであるDockerというOSSに対し、インターフェースの互換性を持たせたWindows版コンテナがWindows Containersです。

そして、コンテナ機能を最大限に活用するためにフットプリントの最小化を目指し、GUIどころかコンソールすら廃した新しいWindows Serverの形態が、Nano Serverです。

Windows ContainersとNano Serverの管理は当然、PowerShellがメインとなります。また、ようやくWindowsにやってくる、SSHクライアントとサーバーはPowerShell上で動くようです。

PowerShellは5.0に進化することで、足回りを強化しました。そして各種OSSと連携して、クラウドとオンプレミスのサーバー群の基礎を支える存在として、ますます重要性を帯びていくことでしょう。

昨今のPowerShellを取り巻く状況は、私の理解ではざっとこんな感じです。この中に興味を持たれたテーマはありませんか? もちろん、新機能以外にも、まだまだ知られていない機能や利用法も埋もれていると思います。

もしそんなテーマがあったら、PowerShell Advent Calendar 2015で共有していただければ嬉しいなあと思います。

というわけで、例年にない感じの初日記事を書いてみました。今回のアドベントカレンダーもどうぞよろしくおねがいします。

2007/06/17

わんくま同盟 大阪勉強会 #10
http://www.wankuma.com/seminar/20070623osaka10/

  • 11:30〜11:40 わんくまについて
  • 11:40〜12:30 「DSLとは? DSLシリーズ第1回」 by 中博俊 Lv 2
  • 13:30〜14:30 「SQL Server Integration Services DSLシリーズ第2回」 by 中博俊 Lv 2
  • 14:45〜16:00 「Hello, "Hello, world!" world!」 by とりこびと Lv 2
  • 16:15〜17:45 「Internal ASP.NET」 by 囚人 Lv 3
  • という内容で勉強会があります。

    DSLってなんだろう?って思ってちょっと調べてみたんですが(WikiPediaMicrosoft)、要するに、ある対象(ドメイン)に特化した言語を作ろう、という話なのかな?と思いました。スクリプト言語もDSLに近い概念であるらしいし私の守備範囲かもしれませんので是非聞いておこうと思いました。

    とりこびとさんのセッションは、例題ではHello Worldってよくやるけど、なんでHello Worldが出力されるんだ、その仕組みはどうなんだ、ということを特定言語に問わずやるっぽいですね。これも面白そう。

    囚人さんのは題名とレベルからASP.NETの内部的な濃い話が聞けるんじゃないかと思います。ちょっとついていくのがつらそうですが頑張ってついていこうと思います。

    そんな感じで。お近くの方はぜひどうぞ。私も今回は参戦しますよー。

    元記事:http://blogs.wankuma.com/mutaguchi/archive/2007/06/17/81011.aspx

    Copyright © 2005-2016 Daisuke Mutaguchi All rights reserved

    mailto: mutaguchi at roy.hi-ho.ne.jp

    Awards

    Books

    Twitter