ナビゲーションをスキップする

DevOps のチュートリアル - 概要

DevOps チュートリアルでソフトウェア配信プロセスを向上させる

DevOps にはさまざまな段階、概念、およびコンポーネントがあります。この DevOps チュートリアルは、DevOps の概要と、この DevOps がソフトウェア配信プロセスの向上にどのように役立つかを学習する際に使用することをお勧めします。

DevOps について

この DevOps チュートリアルを開始するために、DevOps の概要と、DevOps がソフトウェア開発プロセス全体にどのように関係しているかを理解するうえで役立つ基本的な定義をいくつか紹介します。
  • DevOps とは、開発と運用の間の連携を促進するソフトウェア開発プラクティスで、ソフトウェア配信にかかる時間を短縮し、信頼性を高めます。この DevOps は、一般に \"カルチャ\" と呼ばれ、継続的に価値を提供するために、人、プロセス、およびテクノロジを結び付けます。

    DevOps の詳細はこちら

  • ソフトウェア開発プロセスでは、手作業が大半になることがあるため、かなり多くのコード エラーが発生します。開発チームと運用チームが上手く連携できないことも多く、ソフトウェア配信が遅くなり、ビジネス関係者を失望させる可能性もあります。DevOps により、ソフトウェアの開発、デプロイ、およびメンテナンスに関連するタスク全体の効率が上がります。

    開発と運用を結び付けることで、可視性が向上し、要件の正確性が増すほか、コミュニケーションの改善と市場投入までの時間短縮が実現します。

  • DevOps により、開発と運用のギャップが解消され、ソフトウェアの開発およびデプロイ全体の効率性が大幅に向上します。DevOps では自動化を重視しています。これは全体的なエラー数を減らすうえで役立ちます。

  • DevOps は、プロジェクトのあらゆる面において完全に責任を負う、という理念に基づいています。従来のソフトウェア開発方法とは異なり、DevOps により、開発チームと運用チームのギャップ、つまり、よく欠落していて、ソフトウェア配信プロセスを大幅に遅らせる可能性があるものがなくなります。

    DevOps では、ソフトウェアを開発およびリリースするための包括的なフレームワークを提供することで、開発チームと運用チームをつなげ、ソフトウェア配信に課題と非効率性をもたらすギャップを解消します。

  • DevOps とアジャイルは両方ともソフトウェア開発プラクティスですが、重視している点が少し異なります。DevOps では、ソフトウェアの開発、デプロイ、およびメンテナンスに関与するすべての関係者の効率を重視しています。アジャイルは無駄のない製造プロセスで、ソフトウェア開発運用フレームワークを提供する際に役立ちます。アジャイルは開発チームに固有であることが多く、一方、DevOps の対象は、ソフトウェアの運用およびメンテナンスに関与するすべての関係者に及びます。DevOps とアジャイルを共に使用すると、非常に効率的なソフトウェア開発環境を構築できます。

    DevOps とアジャイルの比較の詳細を確認する

これらのタスクで DevOps の学習を深める

この DevOps チュートリアルの各セクションには、DevOps プラクティスの構築手順を実行する際に役立つタスクがいくつか含まれています。少し時間を取って、次のチェック項目に回答してください。

  • ソフトウェアを開発およびデプロイするとき、どのような課題がありましたか?
  • ソフトウェアの開発およびデプロイで、効率性の向上を期待しているのはどの領域ですか?

DevOps プラクティスの基礎

この DevOps ハンドブックでは、次に、DevOps プラクティスで使用される主な概念について学習します。このセクションは、主要コンポーネントを説明および明確化するうえで役立ちます。
  • アジャイル開発はソフトウェア チームでよく使用される配信アプローチで、無駄のない製造に関連します。開発は短い増分スプリントで完了します。DevOps とは異なりますが、この 2 つのアプローチは相互に排他的ではありません。アジャイル プラクティスとツールは開発チームの効率性を高め、DevOps カルチャ全体に貢献しています。

    Azure Boards を使用したアジャイル計画を開始する

  • ソフトウェア開発をチームで正確かつ効率よく進めるには、バージョン管理が非常に重要です。Git などのバージョン管理システムではファイルのスナップショットが取得されるため、ユーザーはいつでも任意のバージョンに完全に戻ることができます。バージョン管理システムにより、現在行っている変更で競合が絶対に発生しない、という安心感を得ることができます。

    Azure Repos でバージョン管理の使用を開始する

  • 継続的インテグレーションは、ビルドを自動化してテストするプロセスで、コードが完了してシステムにコミットされるときに実行されます。コミットされたコードは、自動化プロセスに従って検証されます。そして、テストと検証が完了したコードのみがメイン ソース コード (master ブランチ、メイン、またはトランクとよく呼ばれます) にコミットされます。継続的インテグレーションによりこのプロセスが自動化されるため、効率が大幅にアップします。任意のコードが master ブランチにマージされる前に、早い段階ですべてのバグが特定されます。

    Azure Pipelines を使用して継続的インテグレーションの実装を開始する

  • 継続的デリバリーは、DevOps で実施される基本的なプラクティスであり、信頼できる高速ソフトウェア配信を実現します。プロセスは DevOps の包括的な概念に似ていますが、継続的デリバリーはフレームワークであり、このフレームワーク内で、完了したコードのすべてのコンポーネントがテスト、検証、およびコミットされます。これにより、ソフトウェアをいつでも提供することができます。継続的インテグレーション プロセスは、継続的デリバリーのコンポーネントです。

    Azure Pipelines を使用して継続的デリバリーの実装を開始する

  • オンプレミスでもクラウドでも、リソースのプロビジョニングと構成は環境の運用には重要です。プロセスを自動化し、インフラストラクチャの宣言型定義を提供するツール (テキストベースの定義ファイルなど) を使用することで、信頼できる繰り返し可能な方法で、チームとしてリソースをデプロイし、構成できます。テキストベースの定義ファイルは、バージョン管理が可能なコードとして管理できるため、複雑な環境を容易にロールバック、再作成、およびティアダウンすることができます。Terraform、Ansible などのテクノロジは、コードとしてインフラストラクチャを実装するための一般的なソリューションです。

    Terraform を使用して Azure でインフラストラクチャを作成する

    Azure での Ausible の使用に関する詳細を確認する

  • DevOps の対象範囲は開発だけではなく、配信されたソフトウェア (ソフトウェアのパフォーマンスを含む) に対する責任も対象となります。DevOps のプロセス全体からフィードバック ループが作成されるため、最終的に提供されたデータ ポイントは、今後のプロジェクトの改善と、ソフトウェア デプロイに関する決定の検証の両方に役立ちます。監視とログ記録は、検証による学びをサポートする重要なコンポーネントで、これによりソフトウェア開発および配信プロセスの効率性の向上に一貫して取り組むための、全体的なイニシアチブがサポートされます。

    Azure Monitor で利用統計情報を収集および分析する方法を確認する

  • ライフサイクル全体を通して、次のサイクルでの意思決定に役立つフィードバックと利用統計情報が収集されます。この情報は検証による学びと呼ばれます。検証による学びは、分析情報を新しい方法に反映させるうえで役立ち、これにより 1 サイクルの時間が短縮されます。収集されたデータは、自動化を進める方法、プロセスを改善する方法、およびデプロイをより迅速かつ効率的に準備する方法を見つけるために使用されます。

これらのタスクで DevOps の学習を深める

DevOps プラクティスの重要な概念については説明しました。ここで少し時間を取って、次のチェック項目に回答してください。

  • 開発プロセスのどの部分が手動で、自動化によってメリットを得られますか?
  • チームのビルド プロセスに継続的インテグレーションを導入する機会はありますか?
  • 現在、チームではどのようにインフラストラクチャを管理していますか?現在のプロセスは繰り返し可能で、信頼できますか? あるいは、コードとしてのインフラストラクチャを使用して改善できますか?
  • どの利用統計情報データの情報が、作業に役立つと思いますか?
  • 他にどのデータ ポイントが、検証による学びをサポートすると思いますか?

DevOps カルチャの構築

この DevOps チュートリアルでは、次に、DevOps カルチャを構築する方法について説明します。ビジネスに DevOps を導入する準備を行っていると、ソフトウェア配信へのアプローチが今と違うことに気が付くことは少なくありません。

新しいカルチャの構築は一朝一夕でできるものではありません。また、新しいツール セットを購入するように簡単でもありません。チームが DevOps を覚えて、実際に使いこなせるようにするには、そのチームの今の構造、ワークフロー、そして習慣を変えなければならない可能性があります。

マイクロソフトがどのように DevOps カルチャを構築したかを確認する

これらのタスクで DevOps の学習を深める

ビジネスで DevOps カルチャの構築を検討する場合は、少し時間を取って、次のチェック項目に回答してください。

  • DevOps は、ソフトウェアの開発、配信、およびメンテナンスに関与するすべての関係者を調整するのに役立ちます。ご自身の組織では、誰が対象となりますか?一緒に作業する人の一覧を作成してください。
  • 開発部門と運用部門の間の通信は、どのように増やすことができますか?関係者の連携を強化する方法をいくつか挙げ、意見を出し合いましょう。

Azure DevOps を使用して作業を開始する

一連の最新開発サービスを使用して、ソフトウェアのデリバリーをより迅速かつ確実に行います。よりスマートに計画を立て、より効率的に共同作業を行い、より迅速に出荷しましょう。DevOps の機能をすべて使用することも、必要に応じてご自身で選択することもできます。

どのようなご用件ですか?