Azure App Configurationというサービスのパブリックプレビューがアナウンスされました。
このサービスは、アプリケーション設定の管理を便利にしてくれるサービスです。
サービスの概要
App Configurationは、以下のようなことを提供してくれます。
- 設定のバージョン管理
- 設定のキーをラベル付けして管理
- データの保存・転送中の暗号化
- AzureマネージドIDによるアクセス管理
- 設定のインポート・エクスポート
- 設定の動的な変更
- 二つの設定の比較
変更履歴が管理されているため、アプリケーションのロールバックを行って設定も戻したいといった場合にロールバックを簡単に行うことができます。 現在の仕様では、変更履歴は、7日間保持されるようです。
設定のインポート・エクスポート機能では、json、yaml、Propertiesファイルの3種類に対応しており、例えば.NETでは、settins.jsonをそのままインポート・エクスポート出来たりと 既存システムからの移行が簡単にできます。
提供されているクライアントライブラリ
現在は、以下の環境向けにクライアントライブラリが提供されています。
- .NET Core・ASP.NET Core
- .NET Framework・ASP.NET
- Java Spring
それ以外の環境で使用する場合は、REST APIを経由して使用できます。
リソースを作ってみる
App Configurationをとりあえず作成してみましょう。
ポータルで、App Configurationで検索すると出てくるアプリ構成というリソースです。
名前とリージョンを設定するだけですぐ作成できます。 現在対応しているリージョンは、
- 西ヨーロッパ
- 東南アジア
- 米国西部
- 米国中西部
- 米国中部
- 米国東部
になります。
作成してリソースに移動すると以下のような画面です。
各機能へのアクセスは、以下のような感じです。
- キー値のエクスプローラー : アプリケーション設定の編集
- 設定の比較 : 二つのアプリケーション設定の比較
- インポート/エクスポート : 設定のインポート/エクスポート
- イベント : EventGrid関連の機能(現在は、このリソースでは、このリージョンのイベントはまだはサポートしていません。」のメッセージが表示されて何もできないと思われる)
またアクセスキーは、読み書き可能なキーと読み取り専用キーの両方が提供されます。
まとめ
第一印象で、アプリケーション設定をApp Configurationに移してしまえば、App Configurationの接続文字列だけで設定の共有ができるようになるため、チーム開発で 開発環境の設定を共有したりといったことが簡単に出来そうだなと感じました。
また、App Configurationの接続文字列をKey Vaultに格納してやれば、従来よりもより安全に機密情報を管理出来そうな予感がしたり、個人的にすぐ実践投入したいサービスかなという印象です。