【登壇】第109回 CLR/H 勉強会でPowerShell CoreとPowerShell 7についてお話してきました #clrh109

しばたです。
7/27(土)に私がスタッフを務めるCLR/Hの109回目の勉強会であるCLR/H #109 ~夏だ一番初心祭り~で「【再演】PowerShell CoreからPowerShell 7に至る道」というタイトルの発表をしました。

こちらはタイトルからわかる様に先月登壇したInteract 2019の内容の再演となります。

【登壇】Interact 2019でPowerShell CoreとPowerShell 7についてお話してきました #msinteract19 #IN06

セッション資料

セッション資料はSlideShareに上げています。

Ver.1.1としていますが、基本的には先月の発表と変わらず以下の点のみ更新しています。

  • 「2019年6月現在」の表記を「2019年7月現在」に変更(内容の変更点はなし)
  • AWS Solution Architect Professionalの資格を取ったので自己紹介に反映
  • デモの導入をネタがわかりやすい形にした

デモについて

デモの内容は先月の内容に加えてAzure Functionsのサンプルも例示しました。

コードの中身はLambdaのデモと同様に特定のタグが付与された仮想マシンをシャットダウンするものとしました。
Azureには標準で仮想マシンを自動停止するための設定があるためわざわざ関数にする必要は無いのですがLambdaとの比較のために敢えて同様の処理を行うコードとしました。

その他補足

セッションの前後であった質問について本記事でも内容を共有しておきます。

Q1. スライドに登場しているキャラクターは何なのか?

PowerShellさん です。
PowerShell公式のキャラクターで対外的には PowerShell HeroPosh-Chan と呼ばれている様です。
詳細は過去に個人ブログで書いていますのでこちらをご覧ください。

Q2. PowerShellのロケーションって?

PowerShell Coreでは非Windows環境の既存コマンドとの衝突を避けるためWindows PowerShellにあったcurlwgetといったエイリアスが削除されています。
ただし、cd (Set-Location)pwd (Get-Location)といったロケーションに係るエイリアスは削除されずに残り続けています。

これはPowerShellにおいて「ロケーション」がディレクトリ以外の階層構造を持つドライブ、例えばレジストリキーといったドライブも移動可能であるためです。
こちらの詳細は以下の記事をご覧ください。

Q3. PowerShell DSCのこれからについて

PowerShell DSCのPowerShell Core対応については2017年に「DSC Core」が発表されて以来ずっと音沙汰がありませんでした。

そしてつい最近になってPowerShell TeamブログでAzure Policy Guest Configurationの内部基盤にDSC(およびDSC Coreと呼ばれていたもの)が使われていると発表されました。

これらの発表の中で

  • The new implementation of DSC is Azure Policy Guest Configuration

とAzure Policy Guest Configurationが新しいDSC実装だと宣言されているものの、Azure Policyはコンプライアンス管理のためのサービスであり、構成管理を目的とするDSCとはそもそもの役割が異なります。
加えて2019年現在DSCやそのベースとなるChefの様な構成管理の方式について「需要は有るか?」「コミュニティは盛り上がっているか?」を考えると厳しい現実があると私は思っています。
Azure Policy Guest Configurationが構成管理の機能を持つ様になる事は無く、DSCはAzure Policy Guest Configurationとしてその役割を変える事になるというのが私の予想です。

最後に

今回は二回目の発表であるのと自分にとってのホームでの登壇だったので気楽にお話しすることができました。
内容的にはかなり詰め込みましたが登壇の前後で参加者の方からの質疑応答にも答えることができ、かなり良い感じにお話できたのではないかと思っております。

最後にデモでも紹介しているパンクティーンエイジガールデスロックンロールヘブンの最新刊かつ最終巻が7月30日に発売されますので皆さんぜひ買ってください。