Microsoft Azure リソースの作成方法
Microsoft Azure のリソースを作成して展開する方法としては、以下のようなものがあります。
- GUI ツールである 「Azure Portal (Web ブラウザでアクセス)」 を利用する
- コマンドラインツールである 「Azure PowerShell」/「Azure CLI」 を利用する
- 「Azure REST API」 を利用する
上記ツールの概要と使い方を学びたい方は、以下の Microsoft Learn をご参照ください。
Azure REST API の利用方法に関する参考情報については以下をご参照ください。
Azure Portal や Azure PowerShell / Azure CLI を用いれば、Azure リソースの作成は可能であり一般的に利用される手法となります。
クラウドを利用するシステムが増えて管理システム数が増えた場合や、今後クラウド上に新たなシステムを多数展開する場合においては、この手法によるリソース作成が最適でなく課題となる場合もあります。
クラウドの利用をシステム単位に捉え、都度個別に作成を自由に行う場合に発生する可能性のある具体的な課題例としては以下のようなものがあります。
- 反復作業にも関わらず工数が削減できない、必要以上に時間がかかっている
- 同じようなアーキテクチャのシステム (例: Web/AP/DB) を展開するのに、各システム単位で毎回同じような作成作業を行っている
- システム単位には 1 度の作業でも全体からすると何十回と同じ作業が行われており、標準化・自動化すべきところを最適化できていない
- 開発、テスト、本番などのインフラストラクチャ作成が自動化されておらず追加のテスト等が簡単にはできない
- システムのアーキテクチャや品質が安定しない
- 達成したい目的がほぼ同じシステム (例: Web/AP/DB) なのに、システム単位にアーキテクチャが大きく異なり、成功するシステムもあれば問題を抱えてしまうシステムもある
- 本来アーキテクチャはベストプラクティスにそったものであるべきところが、システム単位に統制のとれていない自由なアーキテクチャが採用されてしまい、運用管理面において不必要な問題や負荷を生じさせている
上記の課題例をイメージ図にしたものが下記です。
このような課題を解決する手法として、Azure リソースのコードによる定義と、定義したコードによるデプロイの自動化が推奨されています。 このような考え方は、Infrastructure as Code (IaC) とも呼ばれます。Infra structure as a Code (IaC) についてより詳しくお知りになりたい方は、「コードとしてのインフラストラクチャとは」をご参照ください。
IaC によりインフラストラクチャをコード定義する事ができるため、ベストプラクティスに準拠したアーキテクチャそのものを組織内外で共有する事が可能となります。
IaC を用いた場合の具体的なメリットとしては以下のようなものがあります。
- ベストプラクティスに準拠した成功するシステムを組織内外で共有・再利用できる
- 冪等性が確保され、必ず毎回同じインフラストラクチャが展開される事が保証できる
- インフラストラクチャの展開や管理工数が削減でき、ベストプラクティスに準拠する事でシステムが安定する
- インフラストラクチャをコードで定義する事で、自動展開やバージョン管理を行う事が可能となるため、アジャイル開発や DevOps 等の考え方にインフラストラクチャを組み込む事が可能となる
上記のメリットをイメージ図にしたものが下記です。
Microsoft Azure 上においても、Infra structure as a Code (IaC) の考え方を利用してリソースの展開と管理を行う事で様々なメリットが得られ、クラウド環境をより有効活用する事が可能となります。