プラットフォームの自動化と DevOpsPlatform automation and DevOps

プラットフォームの自動化と DevOps の図。

"図 1:プラットフォームの自動化と DevOps。Figure 1: Platform automation and DevOps.

DevOps アプローチの計画Planning for a DevOps approach

従来の IT 運用モデルの多くはクラウドと互換性がなく、組織はエンタープライズ移行ターゲットに対して提供するために運用と組織の変革を実現する必要があります。Many traditional IT operating models aren't compatible with the cloud, and organizations must undergo operational and organizational transformation to deliver against enterprise migration targets. アプリケーション チームと中央チームの両方に DevOps アプローチを使用する必要があります。You should use a DevOps approach for both application and central teams.

設計上の考慮事項Design considerations

  • 中央チームに関しては、継続的インテグレーションと継続的配置のためにパイプラインを使用する必要があります。Where central teams are concerned, you should use pipelines for continuous integration and continuous deployment. パイプラインを使用して、ポリシー定義、ロール定義、ポリシー割り当て、管理グループ階層、およびサブスクリプションを管理します。Use the pipelines to manage policy definitions, role definitions, policy assignments, management group hierarchies, and subscriptions. これらのパイプラインは、必要な状態に準拠しながら、複数のサブスクリプションを運用管理できるようにするのに役立ちます。These pipelines help ensure that you can operationally manage multiple subscriptions while still conforming to a desired state.

  • DevOps モデルの包括的アプリケーションでは、機能する DevOps チームはすぐには確立されません。The blanket application of a DevOps model won't instantly establish capable DevOps teams.

  • エンジニアリング機能とリソースへの投資が不可欠です。Investing in engineering capabilities and resources is critical.

  • 組織の戦略に合ったさまざまなソースから内部および外部の DevOps の役割と機能をアレンジできます。You can arrange internal and external DevOps roles and functions from a variety of sources that align with your organization's strategy.

  • 一部のレガシ アプリでは、関連付けられているアプリ チームに、DevOps 戦略と一致させるために必要なエンジニアリング リソースがない場合があります。For some legacy apps, the associated app team might not have engineering resources required to align with a DevOps strategy.

設計の推奨事項Design recommendations

エンタープライズ規模のアーキテクチャを構築、管理、維持するために、クロス機能の DevOps プラットフォーム チームを設けます。Establish a cross-functional DevOps platform team to build, manage, and maintain your enterprise-scale architecture. このチームには、企業のあらゆる部分が代表されるように、中央 IT チーム、セキュリティ、コンプライアンス、部署のメンバーが含まれている必要があります。This team should include members from your central IT team, security, compliance, and business units to ensure that a wide spectrum of your enterprise is represented. 次の一覧では、中央プラットフォーム チームに推奨される DevOps ロールのセットを示します。The following list presents a recommended set of DevOps roles for a central platform team:

  • PlatformOps (プラットフォーム運用):PlatformOps (platform operations) for:

    • 必要なネットワーク、ID とアクセスの管理、ポリシーのサブスクリプションのプロビジョニングと委任。Subscription provisioning and delegation of required network, identity and access management, and policies.

    • プラットフォームの管理と監視 (包括的)。Platform management and monitoring (holistic).

    • コスト管理 (包括的)。Cost management (holistic).

    • コードとしてのプラットフォーム (テンプレート、スクリプト、その他の資産の管理)。Platform-as-code (managing templates, scripts, and other assets).

    • Azure Active Directory テナント内の Microsoft Azure の全体的な運用を担当 (サービス プリンシパルの管理、Graph API の登録、ロールの定義)。Responsible for overall operations on Microsoft Azure within the Azure Active Directory tenant (managing service principals, Graph API registration, and defining roles).

  • SecOps (セキュリティ運用)SecOps (security operations)

    • ロールベースのアクセス制御 (RBAC) (包括的)。Role-based access control (RBAC) (holistic).

    • キー管理 (中央サービスの場合、簡易メール転送プロトコルとドメイン コントローラー)。Key management (for central services, simple mail-transfer protocol, and domain controller).

    • ポリシーの管理と適用 (包括的)。Policy management and enforcement (holistic).

    • セキュリティの監視と監査 (包括的)。Security monitoring and audit (holistic).

  • NetOps (ネットワーク運用)NetOps (network operations)

    • ネットワーク管理 (包括的)。Network management (holistic).
  • AppDevOpsAppDevOps. アプリ所有者が DevOps モデルを使用してアプリ リソースを作成および管理できるようにします。Allow app owners to create and manage app resources through a DevOps model. 次の一覧では、アプリケーション チームに推奨される DevOps のロールを示します。The following list presents a recommended DevOps role for application teams:

    • アプリの移行または変換。App migration or transformation.

    • アプリの管理と監視。App management and monitoring.

    • RBAC (アプリ リソース)。RBAC (app resources).

    • セキュリティの監視と監査 (アプリ リソース)。Security monitoring and audit (app resources).

    • コスト管理 (アプリ リソース)。Cost management (app resources).

    • ネットワーク管理 (アプリ リソース)。Network management (app resources).

    • 場合によっては、AppDevOps を、データベース管理のための AppDataOps や、セキュリティをより重視するアプリのための AppSecOps など、さらに詳細なロールに分割することをお勧めします。In some instances, you might want to break AppDevOps into more granular roles such as AppDataOps for database management or AppSecOps for more security-sensitive apps.

    • それを確立するための既存の DevOps 機能やビジネス ケースを持たないアプリ (たとえば、最小限の開発機能を備えたレガシ アプリ) をサポートするには、中央アプリ DevOps 機能を提供します。Provide a central app DevOps function to support apps that don't have existing DevOps capabilities or a business case to establish one (for example, legacy apps with minimal development capabilities).

    • 明確な RBAC 境界を持つポリシー主導型のアプローチを使用して、アプリケーション チーム全体で一貫性とセキュリティを一元的に適用します。Use a policy-driven approach with clear RBAC boundaries to centrally enforce consistency and security across application teams. これにより、RBAC の割り当てと Azure Policy の組み合わせを使用することで、最小限の特権アプローチが実現されます。また、ワークロードは常に Azure Policy の割り当てに準拠しています。This ensures a least privilege approach is taken by using a combination of RBAC assignments and Azure Policy, and that workloads are compliant with Azure Policy assignments at all times.

    • Azure の導入を促進するために、中心プラットフォーム チームは、アプリケーション チームが利用するテンプレートとライブラリの共通セットを確立する必要があります。To accelerate Azure adoption, the central platform team should establish a common set of templates and libraries for application teams to draw upon. たとえば、水平 (機能横断的) ガイダンスは、分野の専門知識によって移行をサポートし、対象となるエンタープライズ規模のアーキテクチャ全体との整合性を確保するのに役立ちます。For example, horizontal (cross-function) guidance can help to support migrations through subject matter expertise and to ensure alignment with the overall target enterprise-scale architecture.

    • アプリケーション チームに中央の成果物やアプローチを使用するよう制限すると、機敏性が妨げられるため、制限しないようにします。Don't restrict application teams to use central artifacts or approaches because it hinders their agility. ポリシー主導型のインフラストラクチャ アプローチと RBAC の割り当てを使用して、一貫したベースライン構成を適用できます。You can enforce consistent baseline configurations through a policy-driven infrastructure approach and RBAC assignments. これにより、アプリ (部署) チームは、事前に定義されたテンプレートのセットを利用しながら、十分柔軟にイノベーションできます。This ensures that app (business unit) teams are flexible enough to innovate while still able to draw from a predefined set of templates.

    • アプリケーション チームに対し、アプリ リソースのインスタンス化や管理のために、中央プロセスまたはプロビジョニング パイプラインの使用を強制しないでください。Don't force application teams to use a central process or provisioning pipeline for the instantiation or management of app resources. アプリの配信に既に DevOps パイプラインを使用している既存のチームは、これまでと同じツールを使用できるはずです。Existing teams that already rely on a DevOps pipeline for app delivery should still be able to use the same tools they have been using. Azure でのリソースのデプロイ方法に関係なく、Azure Policy を使用してガードレールを維持できることに注意してください。Remember that you can still use Azure Policy to maintain guard rails, independent of how resources are deployed in Azure.

中央の責任とフェデレーションの責任を定義するDefine central and federated responsibilities

中央 IT チームとアプリ チームの間での役割、責任、信頼の分散は、組織が大規模なクラウドを導入するときに必要となる運用の変革にとって非常に重要です。The distribution of roles, responsibilities, and trust between central IT teams and apps teams is paramount to the operational transformation your organization must undergo when adopting the cloud at scale.

設計上の考慮事項Design considerations

中央チームは完全な制御を維持することを目指し、アプリの所有者は機敏性が最大になるようにします。Central teams strive to maintain full control while app owners seek to maximize agility. これらの目標の間のバランスは、移行の成功に大きく影響する可能性があります。The balance between these goals can greatly influence the success of the migration.

設計の推奨事項Design recommendations

次の一覧に、中央 IT チームとアプリケーション チームの間での責任の推奨される分担を示します。The following list presents a recommended distribution of responsibilities between the central IT team and application teams. 中央への依存を最小限に抑えて、移行と変換のアクティビティを強化することに努めています。You're striving to empower migration and transformation activities with minimal central dependencies. 同時に、資産全体のセキュリティと運用性の集中的ガバナンスをサポートする必要があります。At the same time, you want to support the centralized governance of security and operability across the entire estate.

  • アプリの機能App functions

    • アプリの移行と変換。App migration and transformation.

    • アプリの管理と監視 (アプリ リソース)。App management and monitoring (app resources).

    • キー管理 (アプリ キー)。Key management (app keys).

    • RBAC (アプリ リソース)。RBAC (app resources).

    • セキュリティの監視と監査 (アプリ リソース)。Security monitoring and audit (app resources).

    • コスト管理 (アプリ リソース)。Cost management (app resources).

    • ネットワーク管理 (アプリ リソース)。Network management (app resources).

  • 中央の機能Central functions

    • アーキテクチャのガバナンス。Architecture governance.

    • サブスクリプション管理。Subscription management.

    • コードとしてのプラットフォーム (テンプレート、スクリプト、その他の資産の管理)。Platform as code (management of templates, scripts, and other assets).

    • ポリシーの管理と適用 (包括的)。Policy management and enforcement (holistic).

    • プラットフォームの管理と監視 (包括的)。Platform management and monitoring (holistic).

    • RBAC (包括的)。RBAC (holistic).

    • キー管理 (中央サービス)。Key management (central services).

    • ネットワーク管理 (ネットワーク、ネットワーク仮想アプライアンスを含む)。Network management (including networks and network virtual appliances).

    • セキュリティの監視と監査 (包括的)。Security monitoring and audit (holistic).

    • コスト管理 (包括的)。Cost management (holistic).

これらの推奨事項に基づく Azure DevOps モデルでは、中央チームに必要な制御と、アプリケーション チームが必要とする移行の機敏性が提供されます。An Azure DevOps model that's based on these recommendations provides the desired control for central teams and the migration agility required by application teams.