Azure Stack HCIとは何か（1）メリット/デメリット編


※本記事の内容は所属組織による見解ではなく個人の考えによるものになります。

今回はAzure Stack HCI について調べてみたのでまとめてみます。

# Azure Stack HCIとは
Microsoftのドキュメントを確認すると、以下のように説明されています。
>Azure Stack HCI は、仮想化された Windows および Linux のワークロードとそのストレージを、オンプレミス インフラストラクチャを Azure クラウド サービスと組み合わせたハイブリッド環境でホストするハイパーコンバージド インフラストラクチャ (HCI) クラスター ソリューションです。
引用：https://learn.microsoft.com/ja-jp/azure-stack/hci/overview

”Azure”と”ハイパーコンバージドインフラストラクチャ（HCI）”の2つのキーワードが出てきますが、つまりクラウドサービスのようなスピード感のある機能追加やAzureとの親密な連携を実現しながら、オンプレミスのHCIとしてのユーザー自身でのカスタマイズ性を同時に兼ね備えているハイブリッドソリューションということになります。

Azure StackファミリーというとAzure Stack Hub、Azure Stack Edge、Azure Stack HCIの3種類のソリューションが現在（2023年4月）存在しているはずですが、Azure Stack HubはよりAzure寄りのソリューション、Azure Stack HCIはHubに比べより自由度が高い、Azure Stack EdgeはIoTなどデータをクラウドやりとりするときに使える、と覚えておくと良さそうです。（こちらでまとめられているのを参考にしました。Azureの製品は全部Windows Server 2019をベースに作られているというのは面白いですよね。https://www.linkedin.com/pulse/azure-fully-stacked-differences-hci-hub-edge-arc-mulder-cisa/）

# Azure Stack HCIのメリット

冒頭でご紹介したようにAzure Stack HCIはAzureの要素とHCIの要素を両方兼ね備えているというところがポイントだと思いますのでその観点でまとめてみます。

### AzureとしてのAzure Stack HCI

まずはAzureとしての観点からAzure Stack HCI の特徴やメリットをまとめてみます。といってもたくさんあるため特に重要だと感じる点に絞ります。

1. Azureから管理ができる
一番の特徴としてはAzure Arcを構築時に導入することになるため、Azureで運用している環境と同じポリシーや監視手法を適用することができるというところかと思います。まだプレビュー中の機能ですがWindows Admin Centerという管理ツールをAzure上から使えるためAzure PortalからサーバーのOSの細かい設定をAzure上から完結させることができ、世界中に点在するオンプレミスのAzure Stack HCI環境をAzureで集中管理ができる点がすごいところだと思います。
参考：Azure サービスを使用した Azure Stack HCI のハイブリッド機能（https://learn.microsoft.com/ja-jp/azure-stack/hci/hybrid-capabilities-with-azure-services）
参考：Azure で Windows Admin Center を使用して Windows Server VM を管理する (プレビュー)（https://learn.microsoft.com/ja-jp/windows-server/manage/windows-admin-center/azure/manage-vm）

1. 無償ESUが使える
サポート終了日を迎えたMicrosoft製品の重要なセキュリティパッチを入手する方法としてWindows Server拡張セキュリティ更新プログラム (ESU) があるのですが、Azure Stack HCI上のWindows Serverでは無償で適用することができます。今年（2023年）は10/10にWindows Server 2012/ Windows Server 2012R2がサポート終了するということで注目される方も多いのではないかと思っています。
参考：Azure Stack HCI を通じた無料の拡張セキュリティ更新プログラム (ESU)（https://learn.microsoft.com/ja-jp/azure-stack/hci/manage/azure-benefits-esu）
参考：SQL Server 2012 および Windows Server 2012/2012 R2 のサポート終了（https://learn.microsoft.com/ja-jp/lifecycle/announcements/sql-server-2012-windows-server-2012-2012-r2-end-of-support）

1. Azureエディションが使える
Azure上で動作するWindows Server 2022にはAzure Editionという特別なエディションが用意されています。Azure Editionの詳細はMicrosoftのドキュメントに託しますが、ホットパッチなどより先端な機能が使えるWindows Serverのエディションと理解するとよいと思います。Azure Stack HCIはAzure Editionを実行できる唯一のオンプレミスプラットフォームであり、Azure上でしかまだ提供されていない最新のWindows Serverの機能をいち早く利用することができます。
参考：Windows Server 2022 の Standard、Datacenter、Datacenter: Azure Edition の各エディションの比較（https://learn.microsoft.com/ja-jp/windows-server/get-started/editions-comparison-windows-server-2022?tabs=full-comparison）
参考：Windows Server Azure Edition VM をデプロイする（https://learn.microsoft.com/ja-jp/azure-stack/hci/manage/windows-server-azure-edition?tabs=hci）

### HCIとしてのAzure Stack HCI

Windows ServerにもHCIを可能にする機能（Storage Space Direct）があるため、Windows ServerとAzure Stack HCIどっちがよいの？と気になる方が多いと思います。上述のようにAzureとしてのメリットもありますが、ここでは特に注目すべきと思うHCI観点でのAzure Stack HCIの特徴やメリットをまとめてみます。Windows ServerとAzure Stack HCIの全体的な比較はMicrosoftのドキュメントにまとめられていますのでドキュメントをご確認ください（https://learn.microsoft.com/ja-jp/azure-stack/hci/concepts/compare-windows-server#compare-technical-features）。

1. 動的プロセッサの互換モードが使える
文字だけだと何のことか分かりにくいかもしれませんが、クラスター内に世代の違うCPUを持ったサーバが含まれている場合に、Windows Serverだと最小限の固定プロセッサ機能セットしか使えないといった制限がありました。Azure Stack HCIを使った場合すべてのプロセッサ全体の共通項を計算し、最大数の機能を使用するように構成することができます。つまりCPU世代の異なるサーバを構成した場合でも最大限の機能を解放できるようになり、より柔軟なクラスター構成を選択できるようになります。HCIはサーバの増設によってストレージを拡張できることが売りのソリューションなので、増設の際の選択肢を広げられる本機能はHCIと非常に相性の良い機能と言えると思います。
参考：Azure Stack HCI の動的プロセッサ互換性モード（https://learn.microsoft.com/ja-jp/azure-stack/hci/manage/processor-compatibility-mode）

1. ホストネットワークの自動化
Network ATCを使用することで単純化されたホストネットワークを自動化できます。クラスターに必要な管理、コンピュート、ストレージ用のネットワークを自動構成してくれるためクラスターの構成がより簡単になります。またクラスター全体でネットワーク構成の一貫性をこの機能で担保できるため信頼性の高いクラスターのネットワーク環境を構築することができます。これも増設や構築変更時に一貫したネットワーク構成を自動で適用させることができるため、増設が想定されるHCIと相性の良い機能と思います。
参考：Network ATC の概要（https://learn.microsoft.com/ja-JP/azure-stack/hci/concepts/network-atc-overview）

1. 機能強化のスピードが速い
Azure Stack HCIは2020/12/10に初期バージョンがリリースされてから2023年4月現在までにほぼ毎年新しい機能を持った新しいメジャーバージョンがリリースされています。このペースが今後も継続されると考えると上述以外にも次々に新しいHCI向けの機能強化が加えられると考えられるため、変化の速い今の時代に合った機能を即時に導入することができます。
参考：Azure Stack HCI のリリース概要（https://learn.microsoft.com/ja-jp/azure-stack/hci/release-information#azure-stack-hci-release-summary）

# Azure Stack HCI のデメリット

最後にAzure Stack HCIのデメリットをまとめてみます。

1. 価格
上述したように様々な特徴・メリットを持つAzure Stack HCIですが、デメリットとして価格が挙げられると思います。Azure Stack HCIのホストOSコストは$10/physical core/monthです。さらにゲストOSのWindows Serverについてもライセンスコストが必要になってきます。このホストOSとゲストOSの両方にライセンスコストが発生するという点でデメリットとして挙げました（機能追加がたくさん入っているので当たり前なんですけどね）。ただしこの点については、Windows Server Software Assuaranceを持っている場合Azureハイブリッド特典として免除されるため、こういったユーザーはAzure Stack HCIのメリットを最大限活かすことができそうです。
参考：Azure ハイブリッド特典には何が含まれていますか?（https://learn.microsoft.com/ja-jp/windows-server/get-started/azure-hybrid-benefit#whats-included-in-azure-hybrid-benefit）

1. GUIがない
これはメリットと捉えることができる人にとってはいいのですが、Azure Stack HCIではデスクトップエクスペリエンスがなくServer Coreのみが提供されています。もちろん、HCIのホストOSとしてはハイパーバイザーの領域は軽量な方が望ましいためこの観点でかなりメリットです。ただ従前からWindows ServerをホストOSとして利用していてデスクトップエクスペリエンスに慣れ親しんだ方にとっては操作性が変わってきますし、GUIで操作していた管理ツールや3rd Party製のソフトウェアが使えなくなってしまう可能性があるのでデメリットとしました。ただAzure PortalやWindows Admin Centerを活用することでGUIで管理できるため、管理方法もモダナイズすると発想を転換するのが良いのかもしれません。
参考：管理オプションを比較する（https://learn.microsoft.com/ja-jp/azure-stack/hci/concepts/compare-windows-server#compare-management-options）

1. 情報が少ない
リリースから日が浅いということもありWindows Serverに比べユーザーおよび情報が少ないです。特に日本語では実際ユーザーが使ってみてどうかという情報が少ないため、そういった情報を知りたい場合は現時点（2023年）では英語ソースも参考にする必要がありそうです。とはいえ、冒頭でも触れた通りWindows Server 2019がベースになっているため基本的なコマンドや動作はWindows Serverの情報を参考にすることができます。

以上Azure Stack HCIについて簡単にまとめてみました。細かい情報はまとめ切れていない&筆者の主観で重要と思う部分を抜粋しているため、正確な情報はMicrosoftの公式のドキュメントを参考にしてください。
また認識違いや古い情報を参考にしてしまっている場合はコメントにて指摘いただけると助かります。