Azure 環境で Azure リソースの CI/CD (「Continuous Integration(継続的インテグレーション)/「Continuous Delivery(継続的デリバリー)」) を実現するために、以下のようなサービス、製品をまず検討することが多いのではないでしょうか。
- Azure DevOps Services
- Azure DevOps Server
- GitHub
- GitHub Enterprise Server
今回は、Azure DevOps Services と Azure DevOps Server の簡単な比較、および、Azure 環境上で Azure DevOps Server を構築するメリットについて、自分の整理も兼ねてまとめてみようと思います。
Azure DevOps Services と Azure DevOps Server の比較
Azure DevOps Services |
Azure DevOps Server |
|
---|---|---|
マネージド サービス | 〇 |
× ※1 |
閉域網接続 | × | 〇 |
アベイラビリティ |
〇 | △ ※2 |
データの国内保管 (日本) ※3 |
× | 〇 |
機能 | 〇 | 〇 |
データ移行 (Azure Repos) |
〇 |
〇 |
運用性/メンテナンス性 ※4 |
〇 |
× |
※1 : Azure DevOps Server を Azure 上で利用する場合、Azure 仮想マシン上にインストールし、オンプレミス環境と同様にユーザー側で管理する必要がある。
※2 : Azure DevOps Server の可用性 (冗長性) については、オンプレミス環境と同様にユーザー側で設計し、構築する必要がある。
※3 : Azure DevOps Services はグローバルサービスであるため、日本国内のみにデータを保管する制御をすることができない。そのため、日本国内にデータを保管する要件がある場合、Azure DevOps Services を選択することができない。(2022年7月時点)
※4 : Azure DevOps Server は、オンプレミス環境と同様にリソースやキャパシティ管理、メモリやディスクなどの性能監視、バックアップ/リカバリをユーザー側で実施する必要がある。
Azure 環境上で Azure DevOps Server を構築するメリット
Azure を使用した支払いが可能
Azure DevOps Server Test Plans 機能 |
サーバーライセンス |
クライアント ライセンス |
---|---|---|
無 |
Visual Studio Professional 6,131.926円/月 ※ 1 クライアント ライセンス付き |
Azure DevOps Basic プラン 817.591円/月 |
有 |
Visual Studio Enterprise 34,066.251円/月 ※ 1 クライアント ライセンス付き |
Azure DevOps Basic + Test プラン 7,085.781円/月 |
※ : Azure DevOps のライセンス価格は変動する可能性があるため、正確なライセンス価格については、以下の URL を参照ください
Azure DevOps Server のバックボーンデータベースに Azure SQL Database を利用可能
Azure DevOps Serverのアプリケーション層とデータ層を分離し、アプリケーション層は仮想マシンにインストールし、データ層に Azure SQL Database を指定することができます。
[メリット]
- 各サーバー、データベースを可用性ゾーンに配置することで高可用性を実現することが可能
- Azure DevOps Server のデータ層を Azure SQL Database に指定することで、運用性/メンテナンス性のコストを軽減することが可能
- Azure DevOps Server の既定でインストールされるデータベースは Express Edition であるため、データベースの最大サイズが 10 GB に制限されますが、本構成の場合、データベースのサイズを 10 GB 以上に設定することが可能
※ Azure DevOps Server のバックボーンデータベースに Azure SQL Database を利用する場合の注意点
1) Azure DevOps Server は Active Directory ドメイン (Azure AD Domain Services でも可)に参加する必要がある。
2) Azure SQL Database 上に以下の二つのデータベースを作成する必要がある。
- AzureDevOps_Configuration
- AzureDevOps_DefaultCollection
※ Standard SKU S3 以降、もしくは、General Purpose、Premium 以降のみサポートされている。
3) Azure SQL Database のデータベースの照合順序に日本語照合順序 (Japanese_CI_CS など) を指定することができない。
まとめ
今回は、Azure DevOps Services と Azure DevOps Server の簡単な比較、および、Azure 環境上で Azure DevOps Server を構築するメリットについて、まとめてみました。
なお、今後、新規 CI/CD 環境を構築する場合、Microsoft では GitHub/GitHub Enterprise Server のほうに力を入れているとのことなので、GitHub/GitHub Enterprise Server で要件を満たすことができるか検討し、要件を満たすことが出来ない場合、Azure DevOps Services/Azure DevOps Server などの他のCI/CDサービス、製品について検討されたほうが無難かもしれません。
※ 2022年7月時点