この記事のポイント
- Azure DevOpsは開発から運用までのプロセスを一元管理するサービス群
- Azure Boards, Pipelines, Repos, Test Plans, Artifactsなど多様な機能を提供
- 5ユーザーまで無料で利用可能、その後は従量課金制で柔軟な料金プラン
- GitHub連携やKubernetesサポートなど、最新の開発トレンドに対応
- セキュリティスキャンやコンプライアンス機能により、安全な開発環境を実現
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
ソフトウェア開発の効率化と品質向上に貢献するツール「Azure DevOps」とは、一体どのようなものなのでしょうか。
開発者や企業にとってDevOps文化の導入は、競争力の源泉となり得ますが、その導入方法や利用するための費用感、また具体的にどのような機能を有しているのかはなかなか分かりにくいものです。
本記事では、Azure DevOpsの基本から詳細な機能、料金プランに至るまでを網羅的に解説し、どのようにしてソフトウェア開発のサイクル全体をサポートするのかをご紹介いたします。
また、Azure DevOpsを活用することでどのようなメリットがあるのか、事例を交えながらわかりやすくご説明します。
DevOpsの導入を検討している企業や開発者の方々に、この記事が役立つ情報源となることを願っています。
Azureの基本知識や料金体系、利用方法についてはこちらの記事で詳しく解説しています。
➡️Microsoft Azureとは?できることや各種サービスを徹底解説
Azure DevOpsとは?
Azure DevOps は、プロジェクト管理、継続的インテグレーション&デリバリーなど、DevOps のためのサービス群 を提供しており、アプリケーション開発の計画・開発・配信・運用 の4つのプロセスを Azure上 で実現することが可能です。
具体的には、Gitなどのソースの構成管理、チーム間の課題やり取りやテストの不具合起票、デプロイ作業、UTの自動実行などをAzure DevOpsのサービス上で行えるようにしたものです。
Azure DevOps
DevOpsとは
そもそもDevOpsとはソフトウェア開発の概念の一つです。
DevOpsの意味は、「開発」を意味する「Development」と「運用」を意味する「Operations」の頭文字を取った言葉です。
開発と運用が密接に連携し、効率よく、柔軟に対応できる仕組み作りを推進する考え方を示します。
DevOpsイメージ画像
Azure DevOpsのサービス概要
Azure DevOpsを構成する主要なサービス(Azure Boards, Azure Pipelines, Azure Repos, Azure Test Plans, Azure Artifacts)について、それぞれの概要を説明していきます。
Azure DevOpsを構成するサービス
Azure DevOps を構成するサービスは下記の通りです。
フェーズ | 目的 | Azure ツールの例 |
---|---|---|
計画 | プロジェクトの目標を明確にし、計画を立てる。関係者全員が同じ方向を向くようにする。 | Azure Boards |
開発 | 開発サイクルを加速し、バグを早期に発見し、修正することで、製品の品質を維持する。 | Azure Repos, Azure Pipelines |
運用 | システムの信頼性を確保し、ダウンタイムを最小限に抑えることで、ユーザー体験を向上させる。 | Azure Kubernetes Service (AKS), Azure Monitor |
デリバリー | 新機能や修正を迅速にリリースし、顧客の手に届けることで、競争力の向上と顧客満足度の向上を図る。 | Azure Pipelines, Azure Artifacts |
以下に、表で挙げられた各Azureツールの説明を追加します。
Azure Boards
Azure Boards は、アジャイル計画、作業項目追跡、ビジュアル化されたレポート作成など、ソフトウェアプロジェクトの計画と追跡に必要なツールを提供します。
ユーザーストーリー、バグ、タスクなどの作業項目を管理し、これらの項目をスプリントやエピックといった大きな目標に関連付けることができます。
チームの進捗をリアルタイムで可視化し、プロジェクトの方向性を確認しやすくします。
Azure Repos
Azure Repos は、無制限のクラウドホスト型のGitリポジトリを提供します。
コード共有、レビュー、管理のためのプライベートリポジトリを利用できます。プルリクエストとコードレビューを通じて、チーム間のコラボレーションを促進し、品質の高いコードベースの維持に貢献します。
Azure Pipelines
Azure Pipelines (パイプライン)は、クラウド内外のあらゆるプラットフォームに対応したCI/CDサービスです。コードの変更があるたびに自動的にビルドとテストを実行し、本番環境へのデプロイを自動化します。
マルチステージのパイプライン定義や、様々な環境へのデプロイメントをサポートしており、開発プロセスの高速化と効率化を実現します。
【関連記事】
➡️Azure Pipelinesとは?使い方や料金体系、YAMLの書き方を解説
Azure Pipelines
Azure Kubernetes Service (AKS)
Azure Kubernetes Service (AKS) は、Kubernetes コンテナオーケストレーションサービスを管理型で提供します。
アプリケーションのデプロイ、管理、スケーリングを自動化し、高可用性とセキュリティを保ちながらコンテナベースのアプリケーションを簡単に実行できます。
開発者はアプリケーションの管理よりも、アプリケーション自体の開発に集中できます。
Kubernetes クラスター
Azure Monitor
Azure Monitor は、アプリケーションとインフラストラクチャのパフォーマンス監視ツールです。リアルタイムのデータ収集と分析を通じて、アプリケーションの健全性とパフォーマンスの問題を迅速に特定し、対応することができます。
ログ分析、アラート、ダッシュボードなどの機能を通じて、システム全体の監視と診断を行います。
【関連記事】
➡️Azure Monitorとは?導入目的やメリット、料金体系を解説
Azure Artifacts
Azure Artifacts は、Maven、npm、NuGet、および Python パッケージなどのアーティファクトの共有と管理を行うサービスです。プライベートパッケージフィードを作成し、チーム内でパッケージを共有することができます。
依存関係の管理と再利用を簡単にし、ビルドプロセスを効率化します。
Azure Artifacts
これらのサービスの全て、もしくは一部を利用することで、Azure 上で DevOps のための環境を構築することができます。
Azure DevOpsの料金プラン
Azure DevOpsの料金体系について、無料プランの条件、有料プランの種類と価格、ユーザー数やスケールに応じたコスト見積もり方法を解説します。
Basicプランで5ユーザーまでなら無料で使えることができます。また、Visual Studioサブスクリプション保有者はステークホルダーは無料です。
どのプランでも、その後 1 ユーザーあたり $6 / 月が加算されます。
利用できる個人サービスとしては、Azure Pipeline、Azure Artifactsがあります。Pipelinesは1800分/月まで無料です。Azure Artifactsは、2GiB までは無料で使用できます。それ以降は GiB あたり $2 が加算されます。
また、Azure DevOpsの料金は、Microsoft公式が提供しているAzureの料金計算ツールで見積もりが算出できます。
【関連記事】
➡️Azureの料金体系を解説!サービスごとの料金例や確認方法も紹介
Azure DevOpsの使い方
新規にAzure DevOpsを導入する際のステップバイステップのガイドラインを提供します。
アカウント作成からプロジェクトの設定、初期チームメンバーの招待までのプロセスを詳細に説明します。
Azure DevOpsはMicrosoftアカウントまたは GitHub アカウントでサインアップする必要があります。
アカウントが無い方は、以下のgithubの使用を無料で開始するか、無料で始める からアカウント作成を行ってください。
今回は、初めての利用を想定しBasicプラン「無料で始める」を選択します。
- 利用の開始
無料で始めるをクリック
- 自身の情報を入力します。
情報を入力
- 作成完了
作成完了
作成手順から運用開始までがかなり早く、リポジトリに関してもすぐに作成することが出来ます。お手軽に始められる点は、クラウドサービスの大きなメリットです。
Azure DevOpsのセキュリティとコンプライアンス
Azure DevOpsが提供するセキュリティ機能とコンプライアンスに関する取り組みに関して解説します。
GitHub Advanced Security for Azure DevOps
シークレットスキャン
Azure Repos 内で誤って公開されたシークレット(例えば、パスワードやAPIキーなどの機密情報)を検出する機能です。シークレットスキャンにより、セキュリティリスクを未然に防ぐことができます。
このツールは、コードに新しく追加されたシークレットをリアルタイムで検出し、開発者に通知します。
依存関係スキャン
オープンソースの依存関係に含まれる既知の脆弱性を識別します。このスキャンにより、脆弱なライブラリやフレームワークがプロジェクトに組み込まれることを防ぎ、修復のためのガイダンスを提供します。
依存関係スキャンは、セキュリティリスクを最小限に抑えるための重要なステップです。
コードスキャン(静的分析)
コードを記述する際に潜在的な脆弱性を検出し、修正を促す強力なツールです。静的分析により、開発初期段階でのセキュリティ問題を特定し、修正することができます。
これにより、コードの品質を向上させ、セキュリティリスクを減少させることが可能になります。
これらのセキュリティ機能は、DevSecOps アプローチの一環として、セキュリティチームと開発チームが協力して作業することを促進します。セキュリティの懸念事項を早期に特定し、迅速に対処することで、製品のセキュリティを強化し、最終的にはエンドユーザーに対してより安全なソフトウェアを提供することができます。
【関連記事】
➡️Azureのセキュリティ対策を徹底解説!主要機能や製品、導入事例も
Azure DevOpsの導入事例
C#メソッドを予測するAIと機械学習のモデルは、Visual Studio IntelliCodeの基盤となり、開発者のコーディングを支援するAI支援のコード予測機能を提供します。
しかし、この機能をVisual Studioユーザーに提供するためには、品質、可用性、およびスケーリング に関する厳格なテストをクリアする必要がありました。
プロトタイプから実稼働までのスケーリング、およびクラウド運用モデルへの適応という課題に直面し、両チームはMLOpsの文化を採用し、機械学習ライフサイクル全体にDevOpsの原則を拡張しました。
これにより、機械学習パイプラインを構築し、モデルのトレーニングプロセスを自動化しました。
このパイプラインを利用して、IntelliCodeは6つのプログラミング言語をサポートし、オープンソースGitHubリポジトリからのコードサンプルを用いた新しいモデルの定期的なトレーニングが可能になりました。
参考:Azure DevOPsでAIと機械学習のモデルを開発
さらに、Azure Machine Learning、Azure Data Factory、Azure Batch、Azure PipelinesなどのAzureサービスを使用して、カスタムモデルのサポートを含む機能を大規模に実行することができます。
これにより、Visual StudioとVisual Studio Codeのユーザーからの月間9,000件を超えるモデル作成リクエストを処理しています。
AIと機械学習のモデルイメージ
まとめ
本記事では、MicrosoftのDevOps支援ツール「Azure DevOps」の特徴や使い方、料金体系などを解説しました。
Azure DevOpsは、開発の計画から運用までのプロセスをサポートし、チームの協力体制を促進します。無料プランから有料プランまで選べ、セキュリティ機能も充実しています。
導入は簡単ではありませんが、Azure DevOpsを活用することで、効率的で価値の高いソフトウェア開発を実現できるでしょう。