加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

「云计算架构治理」Azure企业支架:规范的订阅治理

发布时间:2022-10-22 13:03:20 所属栏目:云计算 来源:未知
导读: 企业越来越多地采用公共云来实现其敏捷和灵活性。他们利用云的优势来创造收入并优化业务的资源使用。 Microsoft Azure提供了众多服务和功能,企业可以像构建块一样组装这些服务和功能,以满

企业越来越多地采用公共云来实现其敏捷和灵活性。他们利用云的优势来创造收入并优化业务的资源使用。 Microsoft Azure提供了众多服务和功能,企业可以像构建块一样组装这些服务和功能,以满足各种工作负载和应用程序的需求。

决定使用Microsoft Azure只是实现云优势的第一步。第二步是了解企业如何有效地使用Azure并确定需要采用的基线功能来解决以下问题:

没有护轨的空订阅前景令人生畏。此空白空间可能会妨碍您迁移到Azure。

本文为技术专业人员提供了一个起点,以满足治理需求并使其与敏捷性需求保持平衡。它引入了企业支架的概念云计算架构图,该架构可指导组织以安全的方式实施和管理其Azure环境。它提供了开发有效和高效控制的框架。

需要治理

迁移到Azure时,您必须尽早解决治理主题,以确保在企业内成功使用云。不幸的是,创建综合治理系统的时间和官僚作风意味着一些业务团队直接转向提供商而不涉及企业IT。如果资源未得到妥善管理,这种方法可能会使企业受到损害。公共云的特征 - 敏捷性,灵活性和基于消费的定价 - 对于需要快速满足客户(内部和外部)需求的业务团队而言非常重要。但是,企业IT需要确保数据和系统得到有效保护。

在创建建筑物时,脚手架用于创建结构的基础。脚手架引导大致轮廓并为要安装的更永久的系统提供锚点。企业架构是相同的:一组灵活的控件和Azure功能,为环境提供结构,以及在公共云上构建的服务的锚点。它为构建者(IT和业务组)提供了创建和附加新服务的基础,从而保持了交付速度。

脚手架基于我们从与各种规模的客户的许多交往中收集的实践。这些客户包括从开发云解决方案的小型组织到大型跨国企业以及正在迁移工作负载和开发云原生解决方案的独立软件供应商。企业架构是“专门构建的”,可以灵活地支持传统的IT工作负载和敏捷的工作负载;例如,开发人员基于Azure平台功能创建软件即服务(SaaS)应用程序。

企业支架旨在成为Azure中每个新订阅的基础。它使管理员能够确保工作负载满足组织的最低治理要求,而不会阻止业务组和开发人员快速实现自己的目标。我们的经验表明,这极大地加速了而不是阻碍了公共云的增长。

注意

Microsoft已发布一项名为Azure Blueprints的新功能,该功能使您能够跨订阅和管理组打包,管理和部署常见映像,模板,策略和脚本。此功能是脚手架作为参考模型的目的与将该模型部署到组织之间的桥梁。

下图显示了支架的组件。 该基础依赖于管理层次结构和订阅的可靠计划。 支柱包括资源管理器策略和强大的命名标准。 脚手架的其余部分是核心Azure功能和功能,可以启用和连接安全且可管理的环境。

云计算架构图_云计算应用架构_云计算架构技术与实践

定义层次结构

scaffold的基础是Azure企业注册到订阅和资源组的层次结构和关系。 企业注册从合同的角度定义了公司内Azure服务的形状和用途。 在企业协议中,您可以进一步将环境细分为部门,帐户,最后是订阅和资源组,以匹配组织的结构。

云计算应用架构_云计算架构图_云计算架构技术与实践

Azure订阅是包含所有资源的基本单元。 它还定义了Azure中的若干限制,例如核心数,虚拟网络和其他资源。 Azure资源组用于进一步优化订阅模型并实现更自然的资源分组。

每个企业都是不同的,上图中的层次结构允许在公司内部组织Azure的方式具有很大的灵活性。 建模层次结构以反映公司对计费,资源管理和资源访问的需求是您在公共云中启动时做出的第一个 - 也是最重要的 - 决策。

部门和账户

Azure注册的三种常见模式是:

功能模式

云计算架构技术与实践_云计算架构图_云计算应用架构

业务单元模式

云计算架构技术与实践_云计算架构图_云计算应用架构

地理格局

云计算应用架构_云计算架构技术与实践_云计算架构图

尽管这些模式中的每一种都有其自身的地位,但由于其在组织成本模型建模方面的灵活性以及反映控制范围,因此越来越多地采用业务单元模式。 Microsoft Core Engineering and Operations小组创建了一个非常有效的业务单元模式子集,以联邦,州和本地为模型。 (有关更多信息,请参阅组织企业中的订阅和资源组。)

管理组

Microsoft最近发布了一种新的层次结构建模方法:Azure管理组。管理组比部门和帐户更灵活,可以嵌套多达六个级别。管理组允许您创建与计费层次结构分离的层次结构,仅用于有效管理资源。管理组可以镜像您的结算层次结构,通常企业也会这样开始。但是,管理组的强大功能在于,当您使用它们为组织建模时,相关订阅 - 无论它们在计费层次结构中的哪个位置 - 都组合在一起,需要分配共同角色以及策略和计划。几个例子:

生产/非生产。一些企业创建管理组以识别其生产和非生产订阅。管理组允许这些客户更轻松地管理角色和策略,例如:非生产订阅可能允许开发人员“贡献者”访问,但在生产中,他们只有“读者”访问权限。

内部服务/外部服务。与生产/非生产非常相似,企业通常对内部服务与外部(面向客户)服务有不同的要求,政策和角色。

经过深思熟虑的管理团队以及Azure策略和计划是Azure有效治理的支柱。

订阅

在决定部门和帐户(或管理组)时,您主要关注的是如何划分Azure环境以匹配您的组织。但是,订阅是实际工作发生的地方,您的决策会影响安全性,可扩展性和计费。许多组织将以下模式视为指南:

申请/服务:订阅代表应用程序或服务(应用程序组合)

生命周期:订阅代表服务的生命周期,例如生产或开发。

部门:订阅代表组织中的部门。

前两种模式是最常用的模式,强烈建议使用这两种模式。生命周期方法适用于大多数组织。在这种情况下,一般建议是使用两个基本订阅。 “生产”和“非生产”,然后使用资源组进一步打破环境。

资源组

Azure Resource Manager使您可以将资源放入有意义的组中,以实现管理,计费或自然关联。资源组是具有共同生命周期或共享诸如“所有SQL服务器”或“应用程序A”之类的属性的资源的容器。

资源组不能嵌套,资源只能属于一个资源组。某些操作可以对资源组中的所有资源执行操作。例如,删除资源组会删除资源组中的所有资源。与订阅一样,创建资源组时也存在常见模式,从“传统IT”工作负载到“敏捷IT”工作负载会有所不同:

“传统IT”工作负载通常按同一生命周期内的项目(例如应用程序)进行分组。按应用程序分组允许单独的应用程序管理。

“敏捷IT”工作负载倾向于关注面向外部客户的云应用程序。资源组通常反映部署层(例如Web Tier,App Tier)和管理层。

注意

了解您的工作负载可帮助您制定资源组策略。这些模式可以混合和匹配。例如,与“Agile”资源组在同一订阅中的共享服务资源组。命名标准

支架的第一个支柱是一致的命名标准。精心设计的命名标准使您能够识别门户,账单和脚本中的资源。您可能已经拥有本地基础结构的现有命名标准。将Azure添加到您的环境时,您应该将这些命名标准扩展到Azure资源。

技巧

对于命名约定:

在可能的情况下审查并采用模式和实践指南。本指南可帮助您确定有意义的命名标准并提供大量示例。

使用资源管理器策略来帮助实施命名标准

请记住,以后更改名称很困难,所以现在几分钟就可以为您节省麻烦。

将您的命名标准集中在那些更常用和搜索的资源上。例如,为清晰起见,所有资源组都应遵循强有力的标准。

资源标签

资源标签与命名标准紧密结合。随着资源被添加到订阅中,对它们进行逻辑分类以用于计费,管理和操作目的变得越来越重要。有关更多信息,请参阅使用标记来组织Azure资源。

重要

标签可能包含个人信息,可能属于GDPR的规定。计划仔细管理您的标签。如果您正在寻找有关GDPR的一般信息,请参阅服务信任门户的GDPR部分。

除了计费和管理之外,标签还以多种方式使用。它们通常用作自动化的一部分(参见后面的部分)。如果不事先考虑,这可能会导致冲突。建议的做法是识别企业级别的所有常用标记(例如ApplicationOwner,CostCenter),并在使用自动化部署资源时一致地应用它们。

Azure政策和倡议

脚手架的第二个支柱涉及使用Azure策略和计划通过对订阅中的资源和服务实施规则(带效果)来管理风险。 Azure Initiatives是旨在实现单一目标的策略集合。然后,将Azure策略和计划分配到资源范围,以开始实施特定策略。

与前面提到的管理组一起使用时,Azure策略和计划更加强大。管理组可以将计划或策略分配给整个订阅集。

资源管理器策略的常见用法

Azure策略和计划是Azure工具包中的强大工具。策略允许公司为“传统IT”工作负载提供控制,以实现LOB应用程序所需的稳定性,同时还允许“敏捷”工作负载;例如,开发客户应用程序而不会使企业面临额外风险。我们在政策中看到的最常见模式是:

倡议的共同用途

引入计划为企业提供了一种将逻辑策略组合在一起并整体跟踪的方法。倡议进一步支持企业满足“敏捷”和“传统”工作负载的需求。我们已经看到了非常有创意的举措用途,但我们通常会看到:

在Azure安全中心中启用监视。这是Azure策略中的默认计划,也是计划的一个很好的示例。它支持识别未加密的SQL数据库,VM漏洞和更常见的安全相关需求的策略。

监管具体举措。企业通常将监管要求共同的政策(例如HIPAA)分组,以便有效地跟踪对这些控制的控制和合规性。

资源类型和SKU。创建限制可以部署的资源类型以及可以部署的SKU的计划可以帮助控制成本并确保您的组织仅部署您的团队拥有支持的技能组和过程的资源。

技巧

我们建议您始终使用主动定义而不是策略定义。将主动权分配给范围(例如订阅或管理组)后,您可以轻松地向主动添加另一个策略,而无需更改任何分配。这使得理解应用的内容和跟踪合规性变得更加容易。

政策和倡议任务

创建策略并将其分组为逻辑计划后,必须将策略分配给作用域,无论是管理组,订阅还是资源组。通过分配,您还可以从策略分配中排除子范围。例如,如果您拒绝在订阅中创建公共IP,则可以为连接到受保护DMZ的资源组创建一个排除项。

您将找到几个策略示例,说明如何在此GitHub存储库中将策略和计划应用于Azure中的各种资源。

身份和访问管理

在开始使用公共云时,您首先要问自己的第一个也是最关键的问题之一是“谁应该有权访问资源?” 和“我该如何控制这种访问?” 允许或禁止访问Azure门户以及控制对门户中资源的访问权限对于资产在云中的长期成功和安全至关重要。

要完成保护资源访问的任务,首先要配置身份提供程序,然后配置角色和访问权限。 Azure Active Directory(Azure AD)连接到本地Active Directory,是Azure Identity的基础。 也就是说,Azure AD不是Active Directory,了解Azure AD租户是什么以及它与Azure注册的关系非常重要。 查看可用信息以获得Azure AD和AD的坚实基础。 若要将Active Directory连接并同步到Azure AD,请在本地安装和配置AD Connect工具。

云计算应用架构_云计算架构技术与实践_云计算架构图

最初发布Azure时,对订阅的访问控制是基本的:管理员或共同管理员。访问Classic模型中的订阅意味着可以访问门户中的所有资源。缺乏细粒度控制导致订阅数量激增,为Azure注册提供了一定程度的合理访问控制。不再需要这种订阅的激增。使用基于角色的访问控制(RBAC),您可以将用户分配给提供公共访问的标准角色,例如“所有者”,“贡献者”或“读者”,甚至可以创建自己的角色

在实施基于角色的访问时,强烈建议以下内容:

重要

考虑使用Azure AD特权身份管理,Azure多重身份验证和条件访问功能,以便为Azure订阅中的管理操作提供更好的安全性和更高的可见性。这些功能来自有效的Azure AD Premium许可证(取决于功能),以进一步保护和管理您的身份。 Azure AD PIM通过批准工作流实现“即时”管理访问,并对管理员激活和活动进行全面审核。 Azure MFA是另一项关键功能,可以通过两步验证登录Azure门户。与条件访问控制相结合,您可以有效地管理您的妥协风险。

规划和准备您的身份和访问控制以及遵循Azure身份管理最佳实践(链接)是您可以采用的最佳风险缓解策略之一,并且应该被视为每个部署的强制策略。

安全

云计算采用的最大阻碍之一传统上一直是对安全性的担忧。 IT风险经理和安全部门需要确保默认情况下Azure中的资源受到保护和安全。 Azure提供了许多功能,您可以利用这些功能来保护资源并检测/防止针对这些资源的威胁。

Azure安全中心

除了高级威胁防护之外,Azure安全中心还提供整个环境中资源安全状态的统一视图。 Azure安全中心是一个开放式平台,使Microsoft合作伙伴能够创建插入并增强其功能的软件。 Azure安全中心(免费套餐)的基准功能提供评估和建议,可以增强您的安全状况。其付费层可实现额外且有价值的功能,例如Just In Time管理员访问和自适应应用程序控制(白名单)。

技巧

Azure安全中心是一个非常强大的工具,不断得到增强,并集成了可用于检测威胁和保护企业的新功能。强烈建议始终启用ASC。

Azure资源锁定

随着您的组织向订阅添加核心服务,避免业务中断变得越来越重要。我们经常看到的一种类型的中断是针对Azure订阅的脚本和工具的意外后果,错误地删除了资源。资源锁使您可以限制对高价值资源的操作,而修改或删除它们会产生重大影响。锁定应用于订阅,资源组甚至单个资源。常见用例是将锁应用于基础资源,例如虚拟网络,网关,网络安全组和密钥存储帐户。

安全的DevOps工具包

“Azure的安全DevOps工具包”(AzSK)是最初由Microsoft自己的IT团队创建并通过Github(链接)在OpenSource中发布的脚本,工具,扩展,自动化等的集合。 AzSK迎合了结束Azure订阅和资源安全需求的团队使用广泛的自动化并将安全性平稳地集成到本地开发工作流程中,帮助实现这6个重点领域的安全开发:

云计算架构图_云计算应用架构_云计算架构技术与实践

AzSK是一套丰富的工具,脚本和信息,是完整Azure治理计划的重要组成部分,并将其整合到您的支架中对于支持您的组织风险管理目标至关重要

Azure更新管理

您可以采取的保护环境安全的关键任务之一是确保使用最新更新修补服务器。虽然有许多工具可以实现这一目标,但Azure提供了Azure更新管理解决方案,以解决关键操作系统补丁的识别和部署问题。它使用Azure自动化(本指南后面的“自动化”部分对此进行了介绍。

监控和警报

收集和分析遥测,提供您在所有Azure订阅中使用的服务的活动,性能指标,运行状况和可用性的视线,对于主动管理您的应用程序和基础架构至关重要,并且是每个Azure订阅的基本需求。每个Azure服务都以活动日志,度量标准和诊断日志的形式发出遥测。

可以在多个级别查看和处理此信息,并不断改进。 Azure通过下图中列出的服务提供Azure资源的共享,核心和深层监视功能。

云计算架构技术与实践_云计算架构图_云计算应用架构

共享功能

核心监测

深度应用监控

深基础设施监控

技巧

在创建单个警报之前,请创建并维护一组可在Azure警报中使用的共享操作组。这将使您能够集中维护收件人列表的生命周期,通知传递方法(电子邮件,SMS电话号码)和Webhook到外部操作(Azure自动化Runbook,Azure功能/逻辑应用程序,ITSM)。成本管理

当您从本地云迁移到公共云时,您将面临的主要变化之一是从资本支出(购买硬件)转换为运营支出(在使用时支付服务费用)。从CAPEX到OPEX的这种转换也需要更仔细地管理您的成本。云的好处在于,只需在不需要时将其关闭(或调整大小),就可以从根本上积极地影响您使用的服务的成本。故意在云中管理您的成本是一种推荐的做法,也是成熟客户每天所做的一种做法。

Microsoft提供了多种工具,使您能够可视化,跟踪和管理成本。我们还提供了一整套API,使您能够自定义成本并将成本管理集成到您自己的工具和仪表板中。这些工具大致分为:Azure门户功能和外部功能

Azure门户功能

这些工具可为您提供有关成本的即时信息以及采取措施的能力

外部成本管理工具

当我们查看长期使用云并且在使用中“成熟”的客户时,我们会看到一些强烈推荐的做法

成本管理是一个有效和高效运行公共云的核心学科。取得成功的企业将能够控制成本并将其与实际需求相匹配,而不是过度购买和希望需求。

自动化

使用云提供商区分组织成熟度的众多功能之一是它们所包含的自动化水平。自动化是一个永无止境的过程,随着您的组织迁移到云,您需要投入资源和时间进行构建。自动化有许多用途,包括一致地推出资源(它直接与另一个核心脚手架概念,模板和DevOps相关联)以解决问题。自动化是Azure脚手架的“结缔组织”,将每个区域连接在一起。

在构建此功能时,可以使用许多工具,从第一方工具(如Azure自动化,EventGrid和AzureCLI)到大量第三方工具(如Terraform,Jenkins,Chef和Puppet)(以此命名少数)。您的运营团队自动化能力的核心是Azure自动化,事件网格和Azure云Shell:

自动化是一项全职工作,它将迅速成为云团队中最重要的操作任务之一。采用“自动化第一”方法的组织在使用Azure方面取得了更大的成功:

模板和DevOps

如“自动化”部分所述,您作为组织的目标应该是通过源控制的模板和脚本配置资源,并最大限度地减少环境的交互配置。这种“基础架构作为代码”的方法以及用于持续部署的严格的DevOps流程可以确保一致性并减少整个环境的漂移。几乎所有Azure资源都可以通过Azure资源管理器(ARM)JSON模板与PowerShell或Azure跨平台CLI和工具(如Hashicorp的Terraform(具有一流支持并集成到Azure Cloud Shell))进行部署。

这篇文章对使用Azure DevOps工具链将DevOps方法应用于ARM模板的最佳实践和经验教训进行了很好的讨论。花费时间和精力开发特定于组织要求的核心模板集,并使用DevOps工具链(Azure DevOps,Jenkins,Bamboo,Teamcity,Concourse)开发持续交付管道,尤其适用于您的生产和QA环境。 GitHub上有一个大型的Azure Quick Start模板库,您可以将其用作模板的起点,并且可以使用Azure DevOps快速创建基于云的交付管道。

作为生产订阅或资源组的最佳实践,您的目标应该是利用RBAC安全性默认禁止交互式用户,并利用基于服务主体的自动连续交付管道来配置所有资源并提供所有应用程序代码。任何管理员或开发人员都不应触摸Azure门户以交互式配置资源。这一级别的DevOps需要齐心协力,并利用Azure脚手架的所有概念,并提供一致且更安全的环境,以满足您的组织规模扩大。

技巧

在设计和开发复杂的ARM模板时,使用链接的模板从单个JSON文件组织和重构复杂的资源关系。这将使您能够单独管理资源,使您的模板更具可读性,可测试性和可重用性。

Azure是一个超大规模的云提供商,当您将组织从本地服务器的世界迁移到云时,利用云提供商和SaaS应用程序使用的相同概念将使您的组织能够大大地响应业务需求更有效的方式。

核心网络

Azure scaffold参考模型的最后一个组件是您的组织以安全的方式访问Azure的核心。对资源的访问可以是内部的(在公司的网络内),也可以是外部的(通过互联网)。组织中的用户很容易无意中将资源放在错误的位置,并可能将其打开以进行恶意访问。与内部部署设备一样,企业必须添加适当的控制措施,以确保Azure用户做出正确的决策。对于订阅治理,我们确定了提供访问基本控制的核心资源。核心资源包括:

技巧

在网络安全组中使用服务标签和应用程序组不仅可以增强规则的可读性 - 这对于理解影响至关重要 - 而且还可以在更大的子网内实现有效的微分段,从而减少扩展并提高灵活性。

虚拟数据中心

Azure通过我们广泛的合作伙伴网络为您提供内部功能和第三方功能,使您能够拥有有效的安全立场。更重要的是,Microsoft以Azure虚拟数据中心的形式提供了最佳实践和指导。当您从单个工作负载转移到利用混合功能的多个工作负载时,VDC指南将为您提供“配方”,以实现随着Azure中的工作负载增长而增长的灵活网络。

下一步

治理对Azure的成功至关重要。本文针对企业架构的技术实现,但仅涉及组件之间更广泛的流程和关系。政策治理从上到下流动,取决于企业想要实现的目标。当然,Azure的治理模型的创建包括来自IT的代表,但更重要的是,它应该具有来自业务组领导者以及安全和风险管理的强有力代表。最后,企业支架旨在降低业务风险,以促进组织的使命和目标

现在您已经了解了订阅治理,现在是时候在实践中看到这些建议了。请参阅实施Azure订阅治理的示例。

请关注公众号:【首席架构师智库】

讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】或者QQ群【11107777】

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!