DevOps ソリューション

ソフトウェア配信の速度と信頼性を高めることができるツールとテクノロジを見つける

Azure 上の DevOps ツール

Azure 上のエンドツーエンドのソリューションを使用して、チームは DevOps プラクティスを各アプリケーションのライフサイクル段階 (計画、開発、配布、運用) に実装できます。これらの DevOps テクノロジでは人とプロセスが結び付けられるため、チームは継続的に顧客に価値を届けることができます。

計画

作業を管理してチームを強化し、製品やプロジェクト全体で俊敏性と可視性が高まるようにします。Azure Boards を使用して、かんばんボード、バックログ カスタム ダッシュボード、レポート機能で作業を定義、追跡、整理します。GitHub で開発作業の透明性を維持し、スケジュールどおりに進めます。Power BI でビジュアルの分析を詳細に確認し、データを分析情報に変換します。

開発

Visual StudioVisual Studio Code を使用して、すばやくスマートにコーディングしましょう。GitHub を使用して、同じ考えを持つ開発者とコードを共有して共同作業できます。Azure Pipelines を使用してテストを自動化してクラウドで継続的インテグレーションを実践し、GitHub Actions を使用して自動ワークフローを作成してアイデアを運用環境に反映させ、Jenkins ワークロードを Azure に移行することができます。Azure DevTest Labs を使用すると、開発者向けの環境を数分でプロビジョニングできます。

配信

アプリケーションを Azure サービスに自動的にデプロイし、お客様に継続的に価値を届けることができるよう完璧にコントロールします。Azure Resource Manager または HashiCorp Terraform を使用して複数のクラウド環境を定義して起動し、Azure Pipelines または Jenkins や Spinnaker などのツールを使用して、継続的デリバリーのパイプラインをこれらの環境内に作成します。

運用

Azure Monitor を使用してフルスタックの監視を実装し、アクションにつながるアラートを確認し、ログやテレメトリから分析情報を入手します。Azure Automation と AnsibleChef、Puppet などのツールを使用して、クラウド環境を管理できます。

Azure Blueprints または Chef Automate により、プロビジョニングしたインフラストラクチャとアプリケーションがコンプライアンスに準拠するようにします。Azure Security Center と組み合わせて使用すれば、脅威にさらされる危険が減るだけでなく、脆弱性をすばやく見つけて修復できます。

DevOps と GitHub

クラウドの DevOps のプロセスとプラクティスを強化する新しい方法と、Azure と統合される GitHub の軽量版ツールと機能を確認します。

GitHub と Azure で DevOps ワークフローを作成する

より効果的にコード レビューできるように支援し、GitHub と Azure Boards および Azure Pipelines との緊密な統合を通じて、開発チームが連携して作業できるようにします。GitHub と Azure Active Directory を使用して、よりスムーズに共同作業できるよう ID とアクセス許可を管理します。既にお持ちの GitHub 資格情報を使用して Azure と Azure DevOps にログインし、さらに多くの Azure ソリューションにすばやくアクセスできます。

オープンソースの利点を生かしながら企業向け仕様のセキュリティを実現する

インナーソースと呼ばれる開発手法で、オープンなコラボレーション、コードの共有と再利用、透明性の向上など、大規模なオープン ソース プロジェクトのベストプラクティスを利用して組織独自のソフトウェアを作成できます。

GitHub からインナーソースを実装すると、チームワーク、協調性、生産性を向上させながら、プロセスがオープンになるにつれ表面化する企業向け仕様のセキュリティやコンプライアンスのニーズに対応することができます。

DevOps プラクティスのソリューション

お客様のニーズを満たす DevOps ソリューションが、Azure DevOps などの Azure サービスに組み込まれています。同じように、お客様独自のワークフローと一致するようにオープンソース DevOps ツールを組み合わせて、それをシームレスに Azure に統合できます。お使いのアプリで仮想マシン、Web アプリ、Kubernetes などを使用している場合でも、継続的インテグレーションと継続的デリバリー (CI/CD)、Infrastructure as Code、継続的監視などの DevOps プラクティスを、Azure やお好みの DevOps ツールチェーンと一緒に実装できます。

コードからクラウドまで、DevOps プロセスの各段階を自動化し、継続的インテグレーションと継続的デリバリー、およびお好みのツールを使用して、以下の操作を行います。

  • Azure Pipelines を使用して、CI/CD パイプラインを定義し、複数の環境でリリースを管理する。
  • Azure Kubernetes Service (AKS)、Azure Virtual Machines、Azure Functions などの Azure 上のサービスをターゲットにする。
  • GitHub Actions でワークフローを自動化する。
  • Azure 用 Jenkins プラグインを使用して、Jenkins ワークロードをホストし、既存の構成を拡張し、CI/CD を簡素化する。
  • Spinnaker を使用して、高速かつ反復可能なデプロイを Azure に作成する。

アジャイルなソフトウェア開発手法を採用して、短いリリース サイクルで計画、追跡、レポート作成を行い、ソフトウェア開発プロセスを完璧に把握しましょう。GitHub でプロジェクトを管理します。そして Azure Boards を使用して次の作業を行います。

  • 作業項目の定義、割り当て、追跡。
  • バックログの管理。
  • カスタム ダッシュボードを作成して進捗を追跡する。
  • 高度なアナリティクスとレポート作成。

GitHub を使用して、Git リポジトリを管理、共有し、共同作業します。次のようにして、チームが信頼できるコード ワークフローを作成します。

クラウド リソースを分かりやすい方法で定義することで、環境にバージョンが設定され、アプリケーション コードと一緒にリポジトリにコミットされます。Infrastructure as Code を採用することで、クラウド リソースを反復可能かつ信頼できる方法でデプロイすることができ、クラウド環境を完全に制御することができます。

  • Azure Blueprints を使用して、反復可能で完全に管理された環境を定義できます。
  • HashiCorp TerraformAnsible などのオープンソース ツールを Azure リソースの完全なサポートのもとに使用できます。

システム全体のリソース構成を管理して、必要な状態を適用し、構成の更新プログラムをロール アウトし、予期しない変更や問題を自動的に解決します。Azure には複数の DevOps ツールが備わっており、AnsibleChef、Puppet、Azure Automation などの構成管理が含まれています。

Azure Monitor を利用して、インフラストラクチャの正常性を監視し、Grafana、Kibana、Azure portal の既存のダッシュボードに統合します。

  • フルスタックの継続的監視を実践する。
  • Azure サービス全体でアクションにつながるアラートを構成する。
  • ログを収集、クエリ、分析して分析情報を取得し、問題を軽減する。
  • Azure Kubernetes Service (AKS) に対して組み込みのコンテナー監視を使用する。

DevOps ソリューションのアーキテクチャ

複数のツールやテクノロジを Azure と組み合わせて、次のような一般的な DevOps シナリオを実現する方法をご確認ください。

CI/CD for ContainersContainers make it very easy for you to continuously build and deploy your applications. By orchestrating deployment of those containers using Kubernetes in Azure Kubernetes Service (AKS), you can achieve replicable, manageable clusters of containers.12345678910
  1. 概要
  2. フロー

コンテナーの CI/CD

概要

コンテナーにより、アプリケーションの継続的なビルドとデプロイが大幅に簡単になります。Azure Kubernetes Service (AKS) で Kubernetes を使用してそれらのコンテナーのデプロイを調整すれば、複製できて管理しやすいコンテナーのクラスターを作成できます。

Azure DevOps では、コンテナー イメージを生成するための継続的ビルドを設定し、オーケストレーションすることで、デプロイのスピードと信頼性を向上させることができます。

フロー

  1. 1 アプリケーションのソース コードを変更します
  2. 2 アプリケーション コードをコミット
  3. 3 継続的インテグレーションにより、アプリケーションのビルド、コンテナー イメージのビルド、および単体テストが発生
  4. 4 コンテナー イメージを Azure Container Registry にプッシュ
  5. 5 継続的配置トリガーが、環境固有のパラメーターでアプリケーション成果物のデプロイを調整
  6. 6 Azure Kubernetes Service (AKS) にデプロイ
  7. 7 コンテナー イメージにより Azure Container Registry からコンテナーが起動
  8. 8 Application Insights が正常性、パフォーマンス、使用状況のデータを収集および分析
  9. 9 正常性、パフォーマンス、使用状況の情報を確認
  10. 10 バックログ項目を更新
Java CI/CD using Jenkins and Azure Web AppsAzure App Service is a fast and simple way to create web apps using Java, Node, PHP or ASP.NET, as well as support for custom language runtimes using Docker. A continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Azure app services allows you to deliver value faster to your customers.JenkinsAzure ContainerInstancesAzureFilesAzure WebAppsAzure Databasefor MySQLGitHubIntelliJEngineerApplicationInsights182345677
  1. 概要
  2. フロー

Jenkins と Azure Web Apps を使った Java CI/CD

概要

Azure App Service では Java、Node、PHP、または ASP.NET を使った Web アプリをシンプルかつスピーディーに作成できるほか、Docker を使ったカスタム言語ランタイムをサポートすることもできます。各変更内容を自動的に Azure アプリ サービスにプッシュするための継続的インテグレーションと継続的デプロイ (CI/CD) のパイプラインによって、顧客にこれまでよりも早く価値を提供できます。

フロー

  1. 1 アプリケーションのソース コードを変更します
  2. 2 コードを GitHub にコミット
  3. 3 Jenkins に継続的インテグレーションをトリガー
  4. 4 Jenkins が動的ビルド エージェントとなる Azure Container Instances を使用してビルド ジョブをトリガー
  5. 5 Jenkins が成果物をビルドし、Azure Storage に格納
  6. 6 Jenkins が Azure Database for MySQL を使用した Azure Web Apps に Java アプリケーションをデプロイ
  7. 7 Azure App Insights がアプリケーションのパフォーマンスに関するメトリックを提供
  8. 8 アプリケーションを監視、改良
Container CI/CD using Jenkins and Kubernetes on Azure Kubernetes Service (AKS)Containers make it easy for you to continuously build and deploy applications. By orchestrating the deployment of those containers using Azure Kubernetes Service (AKS), you can achieve replicable, manageable clusters of containers.123456778
  1. 概要
  2. フロー

Azure Kubernetes Service (AKS) 上で Jenkins と Kubernetes を使用したコンテナーの CI/CD

概要

コンテナーにより、アプリケーションの継続的なビルドとデプロイが簡単になります。Azure Kubernetes Service (AKS) を使用してそれらのコンテナーのデプロイを調整すれば、複製できて管理しやすいコンテナーのクラスターを作成できます。

コンテナー イメージを生成するための継続的ビルドを設定し、オーケストレーションすることで、デプロイのスピードと信頼性を向上できます。

フロー

  1. 1 アプリケーションのソース コードを変更します。
  2. 2 コードを GitHub にコミットします。
  3. 3 Jenkins に対する継続的インテグレーションのトリガー。
  4. 4 Jenkins が動的ビルド エージェントとなる Azure Kubernetes Service (AKS) を使用してビルド ジョブをトリガーします。
  5. 5 Jenkins は Docker コンテナーをビルドし、Azure Container Registry にプッシュします。
  6. 6 Jenkins はコンテナー化された新しいアプリを Azure 上の Kubernetes にデプロイします。
  7. 7 Azure Cosmos DB に支えられたコンテナー サービス (AKS)。
  8. 8 Grafana は、Azure Monitor により、インフラストラクチャとアプリケーションのメトリックの視覚エフェクトを表示します。
  9. 9 アプリケーションを監視し、改善します。
Immutable Infrastructure CI/CD using Jenkins and Terraform on Azure Virtual Architecture overviewAzure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use Java, Node.js, Go, or PHP to develop your applications, you’ll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.JenkinsAzure Virtual MachineScale SetsTerraformAzure Managed Disks(VM Image)PackerGitHubEngineerAzure Log Analytics1765554423Visual Studio Code
  1. 概要
  2. フロー

Azure 仮想アーキテクチャ上で Jenkins と Terraform を使用する不変のインフラストラクチャ CI/CD についての概要

概要

Azure は、Windows または Linux を実行する仮想マシンをホストするための世界レベルのクラウドです。アプリケーション開発で Java、Node.js、Go、PHP のいずれを使用する場合でも、変更内容をこれらの仮想マシンに自動的にプッシュするためには、継続的インテグレーションと継続的デプロイ (CI/CD) のパイプラインが必要です。

フロー

  1. 1 アプリケーションのソース コードを変更します。
  2. 2 コードを GitHub にコミットします。
  3. 3 Jenkins に対する継続的インテグレーションのトリガー。
  4. 4 Jenkins は Packer イメージのビルドをトリガーして VM を作成し、Azure Managed Disks を使用してそれを VM イメージとして保存します。
  5. 5 Jenkins は Terraform をトリガーし、Azure Managed Disks VM イメージを使用して新しい仮想マシン スケール セットをプロビジョニングします。
  6. 6 Azure Log Analytics はログを収集して分析します。
  7. 7 アプリケーションを監視し、改善します。
CI/CD for Azure VMsAzure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use ASP.NET, Java, Node.js or PHP to develop applications, you will need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.1234567888910
  1. 概要
  2. フロー

Azure VM の CI/CD

概要

Azure は、Windows または Linux を実行する仮想マシンをホストするための世界レベルのクラウドです。アプリケーション開発で ASP.NET、Java、Node.js、PHP のいずれを使用する場合でも、変更内容をこれらの仮想マシンに自動的にプッシュするためには、継続的インテグレーションと継続的配置 (CI/CD) のパイプラインが必要です。

Azure DevOps の CI/CD パイプラインには、アプリケーションのソース コードとインフラストラクチャのコード (ARM テンプレート) を管理するための Git リポジトリから、パッケージをはじめとするビルド成果物を生成するビルド システム、さらには開発環境、テスト環境、および運用環境で発生した変更をデプロイするためのパイプラインを設定するリリース管理システムが用意されています。このパイプラインでは、ARM テンプレートにより各環境のインフラストラクチャを必要に応じてプロビジョニングまたは更新してから、新しいビルドをデプロイする流れになっています。また、使用していないテスト リソースがあれば、Azure Dev/Test Lab を使って自動で破棄することもできます。

フロー

  1. 1 アプリケーションのソース コードを変更します
  2. 2 アプリケーション コードと Azure Resource Manager (ARM) テンプレートをコミット
  3. 3 継続的インテグレーションにより、アプリケーションのビルドと単体テストが発生
  4. 4 継続的配置トリガーが環境固有のパラメーターでアプリケーション成果物のデプロイを調整
  5. 5 QA 環境にデプロイ
  6. 6 ステージング環境にデプロイ
  7. 7 運用環境にデプロイ
  8. 8 Application Insights が正常性、パフォーマンス、使用状況のデータを収集および分析
  9. 9 正常性、パフォーマンス、使用状況の情報を確認
  10. 10 バックログ項目を更新
CI/CD for Azure Web AppsAzure Web Apps is a fast and simple way to create web apps using ASP.NET, Java, Node.js or PHP. Deliver value faster to your customers with a continuous integration and continuous deployment (CI/CD) pipeline which pushes each of your changes automatically to Web Apps.12345678
  1. 概要
  2. フロー

Azure Web Apps の CI/CD

概要

Azure Web Apps は、ASP.NET、Java、Node.js、PHP を使用して Web アプリを作成するシンプルで迅速な方法です。各変更内容を自動的に Web Apps にプッシュするための継続的インテグレーションと継続的配置 (CI/CD) のパイプラインによって、ユーザーに価値をより迅速に提供します。

フロー

  1. 1 アプリケーションのソース コードを変更します。
  2. 2 アプリケーション コードと Web Apps の web.config ファイルをコミットします。
  3. 3 継続的インテグレーションによって、アプリケーションのビルドと単体テストがトリガーされます。
  4. 4 継続的配置トリガーによって、環境固有のパラメーターでアプリケーション成果物のデプロイが調整されます。
  5. 5 Web Apps へのデプロイ。
  6. 6 Azure Application Insights は、正常性、パフォーマンス、使用状況のデータを収集して分析します。
  7. 7 正常性、パフォーマンス、使用状況の情報を見直します。
  8. 8 バックログ項目を更新します。
DevTest image factoryCreate, maintain and distribute custom images with the DevTest Image Factory, an automated image development and management solution from Azure Dev Test Labs.