リスクなしで
ソフトウェアを
より速く革新
Innovate Your Software Faster without Risk
Terraformを使用してAzureにFeature Flags Management Serviceをデプロイする
この記事は LifeCycle によって書かれました。ここで英語で書かれたオリジナルの記事を確認できます
FeatBitは、チームがアプリケーションを本番環境でテストし、機能を段階的に展開し、問題が発生した場合に即座にロールバックすることを可能にするオープンソースの機能フラグサービスです。
このガイドでは、FeatBitをTerraformを使用してAzureにデプロイする方法について説明します。ブログの代わりに、GitHubリポジトリを直接訪問してインストールを開始できます。このGitHubリポジトリには、AzureでFeatBitを展開するためのTerraformコードが含まれています。
上図のように、FeatBitのサービスはAzureのAzure Container Apps (ACA)として展開されます。これにはFeatBitのUIポータル、FeatBitのAPIサーバー、FeatBitの評価サーバー、FeatBitのDAサーバーが含まれます。評価サービスとAPIサービスはACA内のDAサービスと通信します。
注:ACAは実際には管理されたKubernetesクラスターです。Azure Container Appsの公式ドキュメントでACAに関する詳細情報を見つけることができます。
すべてのサービスはAzure VNetに配置されており、Azure Cache for RedisおよびAzure CosmosDB for MongoDBへのアクセスをセキュリティで保護するために、プライベートエンドポイントとプライベートDNSゾーンが使用されています。Azureの公式ドキュメントでプライベートエンドポイントとプライベートDNSゾーンに関する詳細情報を見つけることができます。
FeatBitのUIポータル、APIサーバー、および評価サーバーは、Azure Load BalancerおよびAzure IPアドレスを介してパブリックインターネットに公開されています。Azureの公式ドキュメントでAzure Load Balancerに関する詳細情報を見つけることができます。
Terraformコードのダウンロード
GitHubリポジトリからTerraformコードをソースをダウンロードします。
Terraform Azureプロバイダーでの始め方
Terraform Azureプロバイダーに不慣れな場合は、公式Azureプロバイダーのチュートリアルの手順に従うことができます。
AzureにFeatBitをデプロイ
必要なプロバイダーをダウンロードするにはterraform init
を実行します
terraform init
展開される内容を確認するにはterraform plan
を実行します
terraform plan
AzureにFeatBitをデプロイするにはterraform apply
を実行します
terraform apply
Terraformデプロイを適用する前に、variables.tf
ファイルで定義された変数を変更してデプロイをカスタマイズすることができます。たとえば、次のようなことができます。
terraform
ディレクトリのvariables.tf
ファイル内のresource_group_name
変数の値を変更することで、リソースグループの名前を変更できます。terraform
ディレクトリのvariables.tf
ファイル内のlocation
変数の値を変更することで、リソースの場所の名前を変更できます。terraform
ディレクトリのvariables.tf
ファイル内のredis
変数の値を変更することで、Redisの構成を変更できます。
各コンテナアプリのCPU、メモリ、レプリカ数を変更するには、現時点ではterraform/aca
ディレクトリ内のmain.tf
ファイルを直接編集する必要があります。インストールを簡単にするために、将来これらの変数を追加する予定です。
サポート
Terraformコードは実際にはFeatBit Standardバージョンのみです。StandardとProバージョンの違いについてはこちらをクリックしてください
ご質問がある場合は、問題を作成するか、Slackチャンネルに参加するか、support@featbit.coでお問い合わせください。