Azure DevOpsとは? サービスの概要をつかみ、プロジェクトを作成する
Azureのクラウド環境でDevOpsを実現する「Azure DevOps」入門
本連載では、Microsoft Azureのクラウド環境上でDevOpsを実現するAzure DevOpsについて紹介します。アジャイル開発に欠かせないプロジェクトやコードの管理、DevOpsを支えるCI/CD基盤の構築をAzure上で行うことのできるAzure DevOpsについて、初めて触れる方にも分かりやすいように説明していきます。各回でAzure DevOpsに含まれるサービス群について詳しく説明し、DevOpsを実現するための環境を実際に手を動かしながら作成していきます。
対象読者
- Microsoft Azureや他のクラウドサービスを利用している方
- アジャイル開発を行っている方
- DevOpsの一通りの流れを理解したい方
Azure DevOpsとは?
Azure DevOpsとはMicrosoftが提供しているクラウドベースのDevOpsサービスです。ソフトウェア開発をチームや組織で進める上で欠かせないプロジェクトの計画や管理、ソースコードの管理、ビルド、デプロイ、テストの管理などを支援するためのサービスやツールを統合したプラットフォームです。
DevOpsとは
サービス名にも含まれているDevOpsについて簡単に説明します。DevOpsはソフトウェアの開発(Development)とIT運用(Operations)を統合するアプローチや文化を指した造語で、効率的で高品質なソフトウェアの開発と持続的な運用の実現を目的としています。
従来のシステム開発では開発チームと運用チームは独立した組織として存在し、それぞれシステムの開発や機能追加とシステムの安定稼働といった異なる役割を持つため、対立する場合がありました。DevOpsでは、お互いの考え方を対立させるのではなく協力して両立することを目指しています。
現代のビジネスの観点では、企業やサービスの存続には変化が必要です。変化の促進には生産性の高さが必要ですが既存のビジネスを損なわない安定性も求められます。その相対するテーマを両立するために必要なツールの使い方と組織文化が、DevOpsでは提唱されています。
DevOpsを初めに提唱した写真共有サービスのFlickrは、「ツール」と「組織文化」の観点から以下の項目を必要な要素として挙げています。
ツール
- 自動化されたインフラ:インフラを構築するための一貫したプラットフォームを提供する(Terraform、Dockerなどのインフラ構築自動化ツールを用いる)
- バージョン管理システムの共有:Gitなどのバージョン管理システムをDevとOpsで共有して使用する
- ビルドとデプロイのワンステップ化:手動でのビルドやデプロイは行わず、JenkinsなどのCI(継続的インテグレーション)ツールを使ってビルドやデプロイ作業を自動化する
- フィーチャーフラグ:機能の有効・無効化をブランチや設定ファイルによってコントロールする。これによってリリースタイミングと機能の追加タイミングが分離できるようになる
- メトリクスの共有:ログやアラートといったシステムのメトリクスをDevとOpsで共有する
- チャットツールの活用:TeamsやSlackなどのチャットツールのbot機能を用いて、ビルドやデプロイの結果を通知する
組織文化
- お互いを尊重する:役割が異なる相手を心から思いやること。一人ひとりが優秀であることを認め、能力や功績を評価する
- お互いを信頼する:自分以外の皆が優秀であると認め、信頼して仕事を任せる
- 失敗を責めず健全な態度を取る:新しいことへの挑戦には失敗が伴うものと理解し、他者の失敗を責めない
- 相手を非難しない:問題の当事者を非難するのではなく、同じ問題を繰り返さないように一緒になって考える
これらのツールと組織文化が最初から全て備わっている組織はあまりなく、日々改善していく必要があります。この改善活動の実践こそがDevOpsであるとされています。
Azure DevOpsに含まれるサービス
Azure DevOpsでは、上記のDevOpsに必要なツールと組織文化の改善をサポートするためのサービスが提供されています。Azure DevOpsは、以下の5つのサービスを包括したサービスの呼称です。それぞれのサービスは単体で使用できますが、組み合わせて使用することでDevOpsとしての効果をより発揮できるようになります。
(1)Azure Boards
アジャイル開発やスクラムにおけるタスク管理システムである「カンバン」を提供するサービス。Azure Boardsを使用することで、主にプロジェクト内で発生するタスクや課題、作業の計画やバグトラッキングなどを集約して管理することができます。
(2)Azure Repos
Gitベースのソースコードバージョン管理ツール。プルリクエストによるソースコードレビューを行うことができます。
(3)Azure Pipelines
アプリケーションのビルドやデプロイを自動化するCI/CD(継続的インテグレーション/継続的デリバリー)のサービス。
(4)Azure Artifacts
自身で作成したライブラリ、パッケージをチームで共有するためのホスティングサービス。
(5)Azure Test Plans
手動テスト、探索的テスト、自動テストなどのテスト手法を作成、管理、実行するためのサービス。探索的テストは事前に作成したテストケースをもとにテストを実施する記述式テストとは異なり、テストを実施しながらシステムの振る舞いに応じて次のテストを考えるテストです。
この記事は参考になりましたか?
- Azureのクラウド環境でDevOpsを実現する「Azure DevOps」入門連載記事一覧
- この記事の著者
-
WINGSプロジェクト 秋葉 龍一(アキバ リュウイチ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
