多くのシナリオで、ビジネス ソリューションとしての Azure クラウドの導入には、オンプレミス環境の移行が伴います。In many scenarios, the adoption of the Azure cloud as a business solution involves the migration of an on-premises environment. 通常、オンプレミス環境をすぐに廃止するのは現実的ではありません。多くの場合、オンプレミス環境はクラウド環境と共にかなりの時間保持する必要があります。It is usually not practical to deprecate the on-premises environment quickly, and in many cases the on-premises environment will need to persist alongside the cloud environment for a significant amount of time. Azure に用意されているツールを使用すると、クラウドとオンプレミスの両方の環境を同時に管理できる DevOps 戦略を実装できます。The tools provided in Azure allow for the implementation of a DevOps strategy that capably manages both cloud and on-premises environments in tandem.
このアーキテクチャの SVG をダウンロードしてください。
Download an SVG of this architecture.
Data flowData flow
- GitHub Enterprise は、アプリケーションのコード リポジトリとして使用されます。GitHub Enterprise is used as the code repository for the application
- pull request により、Azure Pipelines で CI ビルドと自動テストがトリガーされます。Pull Requests trigger CI builds and automated testing in Azure Pipelines
- Azure Monitor を使用した継続的監視がリリース パイプラインにも適用され、監視データに基づいてリリースのゲート管理やロールバックが行われます。Continuous monitoring with Azure Monitor extends to release pipelines to gate or rollback releases based on monitoring data
- Azure Pipelines でのリリースでは、Terraform ツールが統合されます。このツールにより、クラウドとオンプレミスの両方のインフラストラクチャをコードとして管理し、Azure Web Apps、VM、データベースなどのリソースを両方の場所にプロビジョニングできます。A release on Azure Pipelines integrates the Terraform tool, managing both cloud and on-premises infrastructure as code, provisioning resources such as Azure Web Apps, VMs, and databases in both locations
- Azure Pipelines では、クラウド内の開発環境への継続的デリバリー (CD) と、オンプレミスの運用環境へのリリース配置の両方を定義します。Azure Pipelines define both Continuous Delivery (CD) to a development environment in the cloud, and release deployments to an on-premises production environment.
- Azure Key Vault を使用して、シークレットと資格情報をデプロイに安全に挿入し、開発者からシークレットを抽象化します。Azure Key Vault is used to securely inject secrets and credentials into a deployment, abstracting secrets away from developers
- Azure Monitor は、クラウド環境とオンプレミス環境の両方から分析をログに記録するように構成できます。Azure Monitor can be configured to log analytics from both the cloud and on-premises environments. Azure Monitor の一部である Application Insights は、監視のためにクラウド アプリケーションとオンプレミス アプリケーションの両方に接続できます。Application Insights as a part of Azure Monitor can be connected to both cloud and on-premises applications for monitoring
- クラウドの Azure AD を使用して、Azure とオンプレミスの両方で実行されるアプリケーションの ID サービスを提供できます。Azure AD in the cloud can be used to provide identity services for the application, both running on Azure and on-premises.
ComponentsComponents
- Azure Boards: Azure Boards では、かんばんボードなどのアジャイル ツールを使用して、作業を計画し、その進行状況を追跡します。Azure Boards: Use Azure Board to plan work and track its progress, using Agile tools such as Kanban boards.
- ソース コードは GitHub Enterprise でホストされており、開発者は組織内やオープンソース コミュニティ内で共同作業を行うことができます。Source code is hosted on GitHub Enterprise, where developers can collaborate within your organization and the open source communities. GitHub Enterprise は、作成されたコードやオープンソースの依存関係の脆弱性を特定する高度なセキュリティ機能を提供します。GitHub Enterprise offers advanced security features to identify vulnerabilities in the code you write and in open source dependencies.
- Azure Pipelines では、アプリケーションの継続的インテグレーションと継続的デリバリーのジョブを実行し、Terraform との統合によってインフラストラクチャを作成します。Azure Pipelines runs Continuous Integration and Continuous Delivery jobs for your application, as well as the creation of your infrastructure with the integration with Terraform.
- Azure Key Vault を使用して、証明書、接続文字列、トークン、その他のシークレットを格納できます。You can use Azure Key Vault to store certificates, connection strings, tokens, and other secrets. これらは実行時にアプリケーションによって読み取られるので、開発者から抽象化されています。These are read by your application at run-time, so they're abstracted away from your developers
- Terraform は HashiCorp によって開発されたサードパーティ製品であり、Azure、オンプレミス、その他の環境でインフラストラクチャの自動化を可能にします。Terraform is a third-party product developed by HashiCorp that allows infrastructure automation on Azure, on-premises, and other environments
- Azure Monitor を使用すると、アプリケーションやインフラストラクチャの可用性とパフォーマンスに関する分析情報が得られます。Using Azure Monitor lets you get insights on the availability and performance of your application and infrastructure.
- Azure AD は、オンプレミスとクラウドの両方で、アプリケーションの ID およびアクセス管理サービスを提供します。Azure AD provides identity and access management services for your application, both on-premises and on the cloud. Azure AD は、ユーザーがどこでもシームレスに認証できるように、オンプレミスの Active Directory と同期することができます。Azure AD can synchronize with an on-premises Active Directory to seamlessly allow your users to authenticate everywhere.
- Azure Web Apps は、クラウドで Web ベースのアプリケーションをホストするためのマネージド プラットフォームです。Azure Web Apps is a managed platform for hosting web-based applications in the cloud.
- Azure SQL Database は、トランザクション アプリケーションのマネージド データベース サービスです。Azure SQL Database is a managed database service for transactional applications.