Azure DevOps - Azure DevOpsを始める Part.1

概要

この記事は、Microsoft Learn の下記のモジュールを日本語訳した記事です。

docs.microsoft.com

Explore what DevOps is (and isn't) and learn how to get started with Azure DevOps.

DevOpsとは何か(そして何ではないか)を探り、Azure DevOpsを始める方法を学びます。

In this module, you will:
・Learn what DevOps is and identify what separates elite performers from low performers
・Identify what services Azure DevOps provides
・Set up an Azure DevOps organization

このモジュールでは、以下のことを行います:

  • DevOpsとは何かを学び、何がエリートパフォーマーとローパフォーマーを分けるのかを確認する
  • Azure DevOpsが提供するサービスを特定する
  • Azure DevOps組織を設定する

はじめに

Azure DevOps can help your team release code in a more efficient, cooperative, and stable manner. Let's rejoin the team as they learn about DevOps. Together, we'll discover what it takes to get an Azure DevOps practice started.

Azure DevOpsは、チームがより効率的、協調的、安定した方法でコードをリリースするのに役立ちます。チームに再び参加して、DevOps について学んでみましょう。一緒に、Azure DevOps の実践を始めるために必要なことを発見しましょう。

In the previous module, you met the team at Tailspin Toys. They're working on a new game but they've got many problems with their release process. These problems are affecting the quality of the products they deliver to their customers. The team knows they need to change but they don't know how.

前のモジュールでは、Tailspin Toysのチームに会いました。彼らは新しいゲームに取り組んでいるが、リリースプロセスに多くの問題を抱えています。これらの問題は、顧客に提供する製品の品質に影響を与えています。チームは、変える必要があることはわかっているが、どうすればいいかわからない状況です。

The newest team member, Mara, believes DevOps will help. Her goal is to convince her teammates. She'll explain more about the value stream mapping (VSM) exercise she started in the previous module. Hopefully, her explanation will show the team why DevOps is the way forward.

新人のチームメンバーであるマーラは、DevOpsが役立つと信じています。彼女の目標は、チームメイトを説得することです。彼女は前のモジュールで始めたバリューストリームマッピング(VSM)のエクササイズについて詳しく説明します。うまくいけば、彼女の説明によって、なぜDevOpsが進むべき道なのかをチームに示すことができるでしょう。

学習の目的

In this module, you will: ・Learn what DevOps is and identify what separates elite performers from low performers ・Identify what services Azure DevOps provides ・Set up an Azure DevOps organization

このモジュールでは、以下のことを行います:

  • DevOpsとは何かを学び、何がエリートパフォーマーとローパフォーマーを分けるのかを確認する
  • Azure DevOpsが提供するサービスを特定する
  • Azure DevOps組織を設定する

前提条件

The modules in this learning path form a progression. We recommend you start at the beginning of the Evolve your DevOps practices learning path before you start this module.

この学習パスのモジュールはプログレッションを形成しています。このモジュールを始める前に、Evolve your DevOps practices ラーニングパスの最初から始めることをお勧めします。

docs.microsoft.com

mappie-kochi.hatenablog.jp

チームの紹介

You met the Space Game web team at Tailspin Toys in the previous module. As a refresher, here's who you'll work with in this module.

前のモジュールで、Tailspin ToysのスペースゲームWebチームに会った。再確認として、このモジュールで一緒に働く人を紹介しよう。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/andy.png

Andy is the development lead.

アンディは開発のリーダーです。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/amita.png

Amita is in QA.

アミタはQA担当です。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/tim.png

Tim is in operations.

ティムは運用担当です。

https://docs.microsoft.com/ja-jp/learn/azure-devops/shared/media/mara.png

Mara just joined as a developer and reports to Andy.

マーラは開発者として参加したばかりで、アンディに報告しています。

DevOpsとは何ですか?

DevOps is the union of people, process, and products to enable continuous delivery of value to our customers. But what exactly does that mean? Let's join the team as Mara explains what DevOps is, what it isn't, and what makes elite performers successful.

DevOpsとは、人、プロセス、製品が一体となって、顧客に価値あるものを継続的に提供できるようにすることです。しかし、それは具体的にどのような意味を持つのでしょうか?Mara氏がDevOpsとは何か、何がそうでないのか、そして何がエリートパフォーマーを成功に導くのかを説明するので、チームに参加しましょう。

Mara has called a short meeting with her teammates. Everyone has shown up but no one wants to be there. She's put a box of donuts on the table.

マーラは短い会議にチームメイトを招集しました。皆は出席はしましたが、誰も参加はしたくありませんでした。彼女はテーブルの上にドーナツの箱を置いています。

Mara: Hi, thanks for coming. I wanted to talk more about our value stream map and how we can make our processes more efficient.

マーラ: こんにちは、お越しいただきありがとうございます。私たちのバリューストリームマップと、プロセスをより効率的にする方法についてお話したいと思います。

Mara's value stream map is still on the whiteboard from their previous meeting:

マーラのバリューストリームマップは、前回のミーティングの時のままホワイトボードに残っています:

https://docs.microsoft.com/ja-jp/learn/azure-devops/get-started-with-devops/media/2-vsm-whiteboard1.png

Mara: Our value stream map shows where we lose efficiency in delivering value to our end users. Just like everyone else, we can improve. And we can decide which areas to tackle first.

マーラ: 当社のバリューストリームマップは、エンドユーザーに価値を提供する上で、どこで効率を落としているかを示しています。他の誰もがそうであるように、私たちも改善することができます。そして、最初に取り組むべき分野を決めることができます。

Andy: This shows us where we have problems but not what to do about them.

アンディ: これを見ると、問題があってもそれをどうするかではなく、どこに問題があるのかがわかります。

Mara: Right, it's an exercise that helps point us in the right direction. As for what to do about our problems, I think DevOps will help us. At my last company, our deployment rates went way up, lead times were much faster, and operations had far fewer incidents. It took us a while to get there but it was worth it. DevOps isn't a quick fix.

マーラ: そうですね、正しい方向性を示すのに役立つエクササイズです。問題をどうするかについては、DevOpsが助けてくれると思います。前の会社では、デプロイ率が大幅に向上し、リードタイムが大幅に短縮され、インシデントも大幅に減少しました。そこに到達するまでには時間がかかりましたが、それだけの価値はありました。DevOpsは迅速な解決策ではありません。

Tim: I know someone who just got a job as a DevOps engineer. I think it's more for developers. That sounds like you, Andy.

ティム: 知り合いにDevOpsエンジニアとして就職したばかりの人がいます。それは開発者のためのものだと思います。それはあなたのように聞こえる、アンディ。

Mara: DevOps isn't a job title.

マーラ: DevOpsは職種ではありません。

Amita: Is there any software program we can get that will help us along, or a template? Maybe there's a DevOps spreadsheet.

アミタ: それに沿って助けてくれるソフトウェアプログラムやテンプレートはありますか?DevOpsのスプレッドシートがあるかもしれません。

Mara: DevOps isn't a piece of software.

マーラ: DevOpsはソフトウェアの一部ではありません。

Andy: It's more like a methodology.

アンディ: どちらかというと方法論に近いですね。

Mara: Not really.

マーラ: そうでもないです。

Andy, Amita, Tim: So what is it?!

アンディ、アミタ、ティム: それならDevOpsとは何なんだ?!

Mara: Here's the definition I like to use:

マーラ: 私が好きな定義はここにあります:

DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.

DevOpsとは、エンドユーザーに価値を継続的に提供できるようにするための人、プロセス、製品の統合です。

In fact, Abel Wang, a Cloud Advocate at Microsoft, has a great set of videos with quick answers to some of our big questions. Let's see how Abel defines DevOps.

実際、マイクロソフトクラウドアドボケイトであるAbel Wang氏は、私たちの大きな質問に素早く答えてくれる素晴らしい動画を公開してくれています。Abel がどのように DevOps を定義しているのか見てみましょう。

アベルさんに聞く

https://sec.ch9.ms/ch9/1672/55cfd4f7-80f9-4d0f-ade8-311153cf1672/Abel1_mid.mp4

Our goal is to give our customers games they'll love. We do that by working together with a shared set of practices and tools.

私たちの目標は、お客様に喜んでいただけるゲームを提供することです。そのためには、一連のプラクティスとツールを共有することで協力しています。

Amita: What does that mean? What shared practices? What shared tools?

アミタ: それは何を意味するのか?共有されたプラクティスとは?共有されたツールとは?

Mara: Here's what I mean by practices:

マーラ: プラクティスで私が言いたいことはこれです:

Agile planning. Together, we'll create a backlog of work that everyone on the team and in management can see. We'll prioritize the items so we know what we need to work on first. The backlog can include user stories, bugs, and any other information that helps us.
・Continuous integration (CI). We'll automate how we build and test our code. We'll run that every time a team member commits changes to version control.
・Continuous delivery (CD). CD is how we test, configure, and deploy from a build to a QA or production environment.
・Monitoring. We'll use telemetry to get information about an application's performance and usage patterns. We can use that information to improve as we iterate.

  • アジャイル計画 チーム内や管理職の誰もが見られるような仕事のバックログを一緒に作成します。私たちは、最初に何に取り組む必要があるのかがわかるように、項目に優先順位をつけます。バックログには、ユーザーストーリー、バグ、その他の情報を含めることができます。
  • 継続的インティグレーション(CI) コードのビルドとテストを自動化します。チームメンバーがバージョン管理に変更をコミットするたびに実行します。
  • 継続的デリバリー(CD) 継続的デリバリーは、ビルドからQAや本番環境へのテスト、設定、デプロイをどのように行うかです。
  • モニタリング テレメトリを使用して、アプリケーションのパフォーマンスと使用パターンに関する情報を取得します。その情報を利用して、反復しながら改善することができます。

Amita: I don't know about automated testing. My tests are manual and I do them after Andy hands off the code to me. I don't have time to change how I do everything.

アミタ: 自動テストについては知りません。私のテストは手動で、アンディが私にコードを渡した後に行います。私にはすべてを行う方法を変更する時間がありません。

Tim: There's no way I'm letting any of you deploy to production.

ティム: 本番環境に配備させるわけにはいかない。

Andy: This will scare management. They never think further than the next release and they always want it yesterday.

アンディ: これは経営陣を怖がらせます。彼らは次のリリースより先のことは考えず、いつも昨日のことを欲しがっています。

Mara: I know what you mean about management. I put together this handout about what makes an elite performing team.

マーラ: 経営者のことはよくわかります。私はこの資料をまとめてみました。何がエリートチームを作るのかについてです。

エリートパフォーマンスを発揮するチームの特徴とは?

Here's the handout that Mara prepared. The information is based on DevOps research reports and surveys conducted with technical professionals worldwide.
DevOps helps companies experiment with ways to increase customer adoption and satisfaction. It can lead to better organizational performance, and often to higher profitability and market share.
It uses metrics to create four categories by which to compare elite performers with low performers.

マーラさんが用意した配布資料です。世界中の技術者を対象としたDevOps調査報告書や調査結果をもとにしています。
DevOpsは、企業が顧客の採用率と満足度を高める方法を試すのに役立ちます。それは、組織のパフォーマンス向上につながり、多くの場合、収益性と市場シェアの向上につながります。
メトリクスを使用して、エリートパフォーマーと低パフォーマーを比較するための4つのカテゴリを作成します。

Elite performers:

エリートパフォーマーとは:

・Deploy more frequently

In fact, some teams deploy up to dozens of times per day.
Practices such as monitoring, continuous testing, database change management, and integrating security earlier in the software development process help elite performers deploy more frequently, and with greater predictability and security.

  • より頻繁にデプロイ

実際、一部のチームでは、1日に何十回もデプロイが行われています。
ソフトウェア開発プロセスの早い段階で、監視、継続的テスト、データベース変更管理、セキュリティの統合などのプラクティスを行うことで、エリートパフォーマーは、より頻繁に、より予測可能性とセキュリティを確保した上で展開することができます。

・Reduce lead time from commit to deploy

Lead time is the time it takes for a feature to make it to the customer. By working in smaller batches, automating manual processes, and deploying more frequently, elite performers can achieve in hours or days what once took weeks or even months.

  • コミットからデプロイまでのリードタイムを短縮

リードタイムとは、ある機能が顧客に届くまでにかかる時間のことです。小ロットで作業し、手動プロセスを自動化し、より頻繁に導入することで、エリートパフォーマーは、かつて数週間から数ヶ月かかっていたものを、数時間から数日で達成することができます。

・Reduce change failure rate

A new feature that fails in production or that causes other features to break can create a lost opportunity between you and your users. As high-performing teams mature, they reduce their change failure rate over time.

  • 変更の失敗率を下げる

本番で失敗したり、他の機能が壊れたりするような新機能は、自社とユーザーの間に機会損失をもたらす可能性があります。パフォーマンスの高いチームが成熟すると、時間の経過とともに変化の失敗率が低下します。

・Recover from incidents more quickly  

When incidents do occur, elite performers are able to recover more quickly. Acting on metrics helps elite performers recover more quickly while also deploying more frequently.

  • インシデントからの迅速な回復

インシデントが発生した場合、エリートパフォーマーはより迅速に回復することができます。メトリクスに基づいて行動することで、エリートパフォーマーはより迅速に回復し、より頻繁に展開することができるようになります。

How you implement cloud infrastructure also matters. The cloud improves software delivery performance, and teams that adopt essential cloud characteristics are more likely to become elite performers.
Outsourcing can save money and provide a flexible labor pool, but it must be used in the correct areas. Low-performing teams are more likely to outsource whole functions (like testing and operations) than their high-performing counterparts.

クラウド・インフラストラクチャをどのように導入するかも重要です。クラウドはソフトウェアの配信パフォーマンスを向上させ、クラウドの本質的な特性を採用したチームは、エリートパフォーマーになる可能性が高くなります。
アウトソーシングはコストを節約し、柔軟な労働力を提供することができますが、適切な分野で使用する必要があります。パフォーマンスの低いチームは、パフォーマンスの高いチームよりも、機能全体(テストやオペレーションなど)をアウトソースする傾向が強い。

最下位のライン

DevOps is a key reason many elite performers are able to deliver value to customers, in the form of new features and improvements, more quickly than their competitors. In this short video, Abel explains why you should learn more about DevOps.

DevOpsは、多くのエリートパフォーマーが、競合他社よりも迅速に新機能や改善という形で顧客に価値を提供することができる主な理由です。この短いビデオでは、Abel氏がDevOpsについて学ぶべき理由を説明しています。

アベルさんに聞く

https://sec.ch9.ms/ch9/1e3c/753b1a32-4eee-4b63-a9f9-4f7c2c081e3c/Abel11_mid.mp4

DevOpsではないもの

When considering what DevOps is, it's also important to make sure we understand what it's not. DevOps is not:

DevOpsとは何かを考える際には、それが何ではないかをしっかりと理解しておくことも重要です。DevOpsはそうではありません:

・A methodology
・A specific piece of software
・A quick fix for an organization's challenges ・Just a team or a job title (although these titles are reasonably common in the industry)

  • 方法論
  • 特定のソフトウェア
  • 組織の課題を迅速に解決する
  • ただのチームや役職(これらの役職は業界では一般的なものですが)

mappie-kochi.hatenablog.jp