Azure DevOpsとは?構成サービスと料金、メリットについて解説
Azure DevOpsとは、Microsoft が提供する統合開発プラットフォームです。開発計画から運用までのプロセスに必要な機能を提供し、現代のソフトウェア開発に欠かせません。開発チームと運用チームの連携強化、開発効率向上を実現するAzure DevOpsについて、基本的な機能やメリットについて詳しく解説していきます。
目次
Azure DevOpsとは?
DevOpsは、開発~運用に携わるチームが協同開発するための考え方・アプローチの仕方のことです。Azure DevOpsとは、Microsoftが提供するDevOpsを実現する開発プラットフォームです。
そもそも「DevOps」とは?
DevOpsとは、開発チームと運用チームが連携を取って円滑に開発するための考え方のことです。開発と運用を表す「Development」「Operations」の頭文字を組み合わせた言葉であり、それぞれのチームにある溝を埋めるためにこの考え方が用いられます。
開発チームと運用チームは担当する工程が異なるため、意見が食い違って対立することもあります。価値の高いサービスを提供するという目的は一致しているのに、結果的に足の引っ張り合いをしているのはムダなことです。チーム間の対立をなくし、連携力を高めて円滑に開発を進めるために、DevOpsの考え方が組織へ取り入れられています。
Azure DevOpsの特徴
Azure DevOpsとは、Microsoftが提供するAzureクラウドプラットフォームの一部で、ワンストップでDevOps開発環境を実現できるサービスです。DevOpsの概念を取り入れた開発プロセスは、大まかに計画・開発・配信・運用の4つに分けられますが、これらのプロセスを処理するための機能と環境がAzure DevOpsにはそろっています。
Azure DevOpsを構成する6つのサービス
以下では、Azure DevOpsを構成する各サービスの特徴や何ができるのか、DevOpsを取り入れた開発でなぜ必要なのかなどを開発工程順解説します。
1. Azure Boards
Azure Boardsとは、開発プロジェクトの管理ができるサービスです。開発プロセスのうちの計画部分を担い、チームメンバーがプロジェクトの追跡やコミュニケーションを取るのに役立ちます。
関係者が多くなるほど情報共有に要するコストも大きくなり、進捗状況を効率的に確認できる場がないとチームをまとめられません。Azure Boardsは、その開発プロジェクトに関する情報を集約し、進捗情報を可視化したり管理したりするのに便利なサービスです。
サービス上では、開発プロジェクトの情報を共有する手段として、かんばんボード、対話型バックログ、ダッシュボード、スクラムボードなどのツールが使えます。プロジェクトに合わせて画面構成を変えたい場合でも、かんばんボードやタスクボード、配信計画のユーザーインターフェースを柔軟にカスタマイズ可能です。
また、開発中は意見交換が必要な時もありますが、その場合でもディスカッション機能を用いて、質問やメモなどの記録を必要に応じて残せます。
2. Azure Pipelines
Azure Pipelinesとは、DevOpsの実現に欠かせないパイプライン機能を提供するサービスです。CI/CDパイプラインによって、ビルド・テスト・デプロイの一連プロセスを自動化し、開発中のプログラムをリリース可能な状態にします。
DevOpsで開発を進める場合、開発プロセスの自動化なしでは実現しません。従来の開発手法では、開発と運用チームがばらばらに作業をしていました。しかし、Azure Pipelinesを活用すれば、それぞれの作業を統合し、開発~配信のプロセスを自動化できます。これにより、開発・運用のチームが協同して開発を進めることが可能です。
なお、本サービスはNode.jp、Python、Java、Ruby、C/C++やAndroid、iOSアプリといった多様な言語と環境に対応します。コンテナはDocker、Kubernetesなどにも対応可能です。
3. Azure Repos
Azure Reposとは、ソースコードのバージョン管理サービスです。クラウドでホストされる容量無制限のプライベートGitリポジトリを利用できます。
開発中に不具合が発生した場合、以前のバージョンに戻すことは少なくありません。変更するたびに手作業で古いバージョンを保存していては手間がかかるため、Gitのようなバージョン管理サービスが利用されています。必要に応じてGitの編集変更履歴から過去のバージョンを呼び戻すことが可能です。
また、効率よくチームで開発するには、ソースコードの変更箇所が明確でなければなりません。メンバーが好き勝手にソースコードを編集すると、誰が何を更新したのかが不明となり、混乱を生むからです。そのため、Azure Reposのようなバージョン管理サービスはDevOpsの開発に欠かせません。
4. GitHub Advanced Security for Azure DevOps
GitHub Advanced Security for Azure DevOpsとは、開発プロセス全体の安全性を保つためのセキュリティ診断サービスです。以下3つのスキャン機能によって、ソースコードが抱える脆弱性や機密情報の流出を自動でテストし、修正します。
- シークレットスキャン:パスワードやAPIキー、認証情報などの機密情報がコードに含まれてないかを検出する
- 依存関係スキャン:オープンソースの依存関係をチェックして、既知の脆弱性を検出する
- コードスキャン(静的分析):開発中のコードを検索して、脆弱性を検出する
システムやソフトウェアを安定的に稼働させるには、セキュリティ対策が欠かせません。そして、協同が重視されるDevOpsの体制では、開発ワークフローを邪魔しない形で脆弱性をチェックする必要があります。本サービスを利用すれば、ワークフローを乱すことなくコードを書きながら、効率的に脆弱性を修正することが可能です。
出典:Microsoft|GitHub Advanced Security for Azure DevOps
5. Azure Test Plans
Azure Test Plansとは、Webまたはデスクトップアプリケーションの探索的テストなどを支援するサービスです。テストケースやテスト結果の管理機能があるほか、テストの計画・実行・追跡を行うことで、開発ライフサイクル全体の品質を評価できます。
Azure Pipelineで自動テストを行いますが、使い心地やちょっとした違和感のような微妙な部分のテストには手動テストの方が適しています。Azure Test Plansは、その手動テストをサポートするサービスです。
Azure Test Plansを使えば、。Azure上で作成してメンバーに共有できるため、テストの手順書をはじめとする別の書類やツールは不要になります。
テストの種類として、計画した手動テストの実行や探索的テスト、ユーザーまたは利害関係者による受け入れテストに対応可能です。
6. Azure Artifacts
Azure Artifactsとは、コードなどの成果物の共有に役立つパッケージ管理サービスです。外部のソースや自社のプロジェクトで作成したソースをパッケージ化してアップロードし、チームや組織で共有するために利用します。
サービス仕様
- 対応パッケージ:NuGet、Npm、Python、Gradle、Maven、Cargo、ユニバーサルパッケージ
- ストレージ容量2GiB提供
Azure Artifactsでは、フィードを作成してパッケージを配信します。通常のパッケージ管理システムの場合、パッケージを登録すると全体公開になることが多く、工夫しなければその範囲を制限できません。
しかし、Azure Artifactsは基本的に公開範囲がプライベートのため、チーム内で共有したい場合に適しています。パッケージを任意のCI/CDパイプラインに組み込むことも可能です。
Azure DevOpsの料金体系
個別サービスとユーザーライセンスの料金体系があり、それぞれユーザーあたりの料金や利用できるサービスに違いがあります。それぞれの内容について、以下で解説します。(2024年6月時点の情報)
なお、GitHub Advanced Security for Azure DevOpsについてはプランの制限がありませんが、Azure Reposと連携して動作する仕様です。利用する場合は、Azure Reposを利用できるプランを選択し、Azure DevOpsの設定から有効化しましょう。料金は1コミッターあたり月49ドルです。
出典:Microsoft|Advanced Securityの課金
条件を満たすと無料で利用できるユーザーもいます。Visual Studioサブスクライバーの場合はサブスクリプションに含まれているため、無料でAzure DevOpsを利用可能です。Basicプランの無料枠である5ユーザーにも入りません。また、利害関係者としてのアクセス権があるユーザーも、無料で一部機能にアクセスして作業できます。
個別サービス
個別サービスとは、一部サービスを単体利用できる料金体系のことです。個別利用できるサービスは2種類あり、それぞれ無料枠が設けられています。
〇Azure Pipelineの無料枠
- 無料のMicrosoftホステッドCI/CD 1個
- 無料のセルフホステッドCI/CD 1個
- 月1,800分のCD/CI用のMicrosoftホステッドジョブ 1個
- セルフホステッドジョブ(毎月分数制限なし)
追加するホステッド並列ジョブごとに約6,300円、追加するセルフホステッド並列ジョブごとに約2,362円の追加料金が発生します。
〇Azure Artifactsの無料枠
- ストレージ容量2GiB無料
2GiB以上は追加料金が発生し、価格は追加容量によって変動します。GiBあたりで発生する追加料金は、2~10GiBバイトまでは約315円、10~100GiBは約157円、100~1,000GiBは約78円、1,000+GiBは約39円です。
ユーザーライセンス
ユーザーライセンスに関しては、以下の2つのプランがあります。
Basic プラン
Basicプランは5ユーザーまで無料で、それ以降は1ユーザーあたり月約945円かかります。
Basicプランで利用できるサービス
- Azure Pipelines
- Azure Boards
- Azure Repos
- Azure Artifacts
Azure PipelinesとAzure Artifactsは、個別サービスの無料プランの内容を含みます。GitHub Azure Test Plansは含まないため、利用したい場合は後述するBasic + Testプランを選択しましょう。開発メンバーが少ない場合や、手動テストを必要とせず自動テストで十分な場合などに適したプランです。
Basic + Test プラン
Basic + Testプランは、1ユーザーあたり月約8,190円です。Basicプランのような無料ユーザー枠はありませんが、30日間の無料試用ができます。
Basic + Testプランで利用できるサービス
- Azure Pipelines
- Azure Boards
- Azure Repos
- Azure Artifacts
- Azure Test Plans
Basicのプラン内容に加えて、利用可能なサービスにAzure Test Plansが追加されます。手動テストが必要なケースなどに適しているプランです。
Azure DevOpsを使用するメリット
DevOpsの考え方や、その開発環境を採用することで、従来よりもさまざまなメリットを享受することが可能です。
DevOps概念を取り入れるメリット
DevOpsを採用することで、開発の品質と精度の向上や、リリース速度が上がるメリットが期待できます。DevOpsの実践で、開発と運用チームの連携力が向上するほか、さまざまな支援ツールを導入することで、開発のワークフローを効率化することが可能です。
従来のやり方だと、各チームが行った作業をうまく統合できるとは限らず、リリース速度が遅くなることも少なくありませんでした。しかし、DevOpsの採用によって開発と運用の作業を統合できる開発環境が実現し、迅速かつ高品質なリリースが可能になります。市場投入が早まることで、顧客のニーズをより柔軟に取り入れやすくなり、市場の変化に対する対応力の強化につなげられます。
Azure DevOpsを使用するメリット
Azure DevOpsはMicrosoftが提供するサービスのため、同社製品との親和性の高さがメリットとして挙げられます。TeamsやVisualStudioなどの同社製品を多く利用している場合、連携手段がサポートされているAzure DevOpsを利用すると、使い勝手はよいことが多いです。
また、サービスのセキュリティ性の高さにも注目しましょう。多層構造のセキュリティ対策とサイバーセキュリティの専門家の採用などによって、安全な開発環境が提供されます。
まとめ
DevOpsを取り入れることで、開発と運用チームの連携が向上し、開発ワークフローが従来よりも円滑になります。実践するには、効率化を図るサービスやツールの存在が不可欠です。その役割を担うのがAzure DevOpsであり、必要なツールがワンストップでそろいます。
なお、プロ人材サービス「FLEXY」では、経験を積んだエンジニアなどを対象に、幅広い仕事を紹介しています。Azureをメインとする案件もあり、Azureに知見のある方なら活躍が期待できます。
リモート勤務や週1~5日や高報酬案件、地方案件なども取り扱っており、希望に合わせた仕事を選択可能です。ぜひ一度、無料登録してみてください。