Microsoft Azure 架构良好的框架

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Microsoft Azure网络

小提示:您能找到这篇{Microsoft Azure 架构良好的框架}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Microsoft Azure 架构良好的框架内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">Azure架构良好的框架是一组指导原则,可用于提高工作负荷的质量。该框架包含卓越体系结构的五个要素:成本优化、卓越运营、性能效率、可靠性和安全性。

< ">若要使用在Microsoft Azure架构良好的框架中找到的原则来评估工作负载,请参阅Microsoft Azure架构良好的框架回顾。

< ">成本优化

< ">设计云解决方案时,请重点关注如何及早产生增值。运用生成-度量-学习的原则,在加快上市时间的同时避免资本密集型解决方案。将即用即付策略用于你的体系结构,并且投资于横向扩展,而不是交付大型投资第一版。考虑你的体系结构中的机会成本,以及在先发优势与“快速跟进”之间的平衡。使用成本计算器来估计初始成本和运营成本。最后,建立策略、预算和控制,以便为解决方案设置成本限制。

< ">成本指南

< ">查看成本原则

< ">开发成本模型

< ">创建预算和警报

< ">查看成本优化清单

< ">卓越运营

< ">此构成要素涵盖让应用程序在生产环境中持续运行的操作过程。部署必须可靠且可预测。它们应实现自动化,以减少人为失误的可能性。它们应当是一个快速、例行的过程,这样就不会拖慢新功能或bug修复的发布。如果更新出现问题,你必须能够快速回滚或前滚,这一点也同样重要。

< ">监视和诊断至关重要。云应用程序在远程数据中心内运行,你在此中心内无法完全控制基础结构,或者在某些情况下无法控制操作系统。在大型应用程序中,不可能登录到VM来解决问题或仔细查看日志文件。使用PaaS服务时,可能根本就没有可登录的专用VM。通过监视和诊断,你可以深入了解系统,以便知道故障在何时及何处出现。所有系统都必须可观测。可使用常见的一致日志记录架构,以便跨系统关联事件。

< ">监视和诊断过程包含多个不同的阶段:

< ">检测。根据应用程序日志、Web服务器日志、Azure平台内置的诊断以及其他来源生成原始数据。

< ">收集和存储。将数据整合到一个位置。

< ">分析和诊断。用于解决问题,查看总体运行状况。

< ">可视化和警报。使用遥测数据发现趋势或向运营团队发出警报。

< ">使用DevOps清单从管理和DevOps角度审查你的设计。

< ">卓越运营指南

< ">管理和监视的设计模式

< ">最佳做法:监视和诊断

< ">性能效率



< ">性能效率是指工作负载能够以高效的方式扩展以满足用户对它的需求。实现这一点的主要方法是适当地使用可伸缩性并实现内置可伸缩性的PaaS产品/服务。

< ">应用程序可通过两种主要方式进行扩展。垂直扩展(纵向扩展)指增加资源的容量,例如通过使用更大的VM。水平扩展(横向扩展)指添加资源的新实例,比如VM或数据库副本。

< ">水平扩展相较垂直扩展具有明显优势:

< ">真正的云规模。可将应用程序设计为在数百个甚至数千个节点上运行,其规模是在单个节点上无法达到的。

< ">水平扩展具有弹性。如果负载增加,可以添加更多实例;在较安静的时间段,则可以删除实例。

< ">可以按计划或为响应负载变化,自动触发横向扩展。

< ">横向扩展可能比纵向扩展更便宜。运行多个小型VM比运行单个大型VM的成本更低。

< ">水平扩展还可通过添加冗余提高复原能力。如果某个实例出现故障,应用程序将继续运行。

< ">垂直扩展的一个优点是,扩展时不必对应用程序进行任何更改。但会在某个时候达到极限,即,再也无法纵向扩展。这时,任何进一步的扩展都只能是水平扩展。

< ">必须将水平扩展设计到系统中。例如,可通过将VM放在负载均衡器后面来横向扩展VM。但池中的每个VM都必须能够处理任何客户端请求,因此应用程序必须无状态或将状态存储在外部(例如,在分布式缓存中)。托管PaaS服务通常内置水平扩展和自动扩展。能轻松扩展这些服务是使用PaaS服务的主要优点。

< ">不过,只添加更多实例并不意味着就扩展了应用程序。它可能只是将瓶颈推到了其他地方。例如,如果扩展Web前端以处理更多客户端请求,则可能在数据库中触发锁争用。然后,你就得考虑其他对策,比如乐观并发或数据分区,以提高数据库的吞吐量。

< ">始终执行性能和负载测试以发现这些潜在瓶颈。系统的有状态部分(如数据库)是导致瓶颈最常见的原因,因此在设计水平扩展时需谨慎。解决一个瓶颈可能会暴露其他位置的其他瓶颈。

< ">使用性能效率检查表从可伸缩性的角度审查你的设计。

< ">性能效率指南



< ">可伸缩性和性能的设计模式

< ">最佳做法:自动缩放、后台作业、缓存、CDN、数据分区

< ">可靠性

< ">可靠的工作负载是可复原且可用的工作负载。复原能力是指系统从故障中恢复并继续正常运行的能力。复原能力的目标是在故障发生后将应用程序恢复到可完全正常运行的状态。可用性是指用户在需要时能否访问你的工作负载。

< ">传统应用程序开发一直将焦点放在如何延长平均故障间隔时间(MTBF)上,并尝试各种办法防止系统出现故障。在云计算中,必须采用不同的思维方式,原因如下:

< ">分布式系统很复杂,一个点的故障可能在整个系统中级联。

< ">云环境通过使用商用硬件保持低成本,因此必须预料到偶尔的硬件故障。

< ">应用程序通常依赖于外部服务,这些服务可能会变得暂时不可用或限制大量用户。

< ">现在的用户都希望应用程序能够全天候可用,永不下线。

< ">所有这些因素都意味着设计云应用程序时必须预料到偶发故障并从中恢复。Azure已向平台内置许多复原功能。例如:

< ">Azure存储、SQL数据库和Cosmos DB都在区域内以及跨区域提供内置数据复制。

< ">Azure托管磁盘自动放置在不同的存储缩放单元,以限制硬件故障的影响。

< ">可用性集中的VM分布在多个容错域。容错域是指一组共享公共电源和网络交换机的VM。跨容错域分布VM可限制物公关专业理硬件故障、网络中断或断电的影响。

< ">话虽如此,你仍需构建应用程序的复原能力。复原策略可应用于体系结构的所有级别。有些缓解措施本质上更具战术意义—例如短视频投放广告公司,在暂时性网络故障后重试远程调用。其他缓解措施则更具战略意义,比如将整个应用程序故障转移到次要区域。战术性缓解措施可以带来很大变化。整个区域都发生中断的情况很少见,像网络拥塞这样的暂时性问题则更常见—因此先锁定这些问题。正确的监视和诊断也很重要,它们都能检测到正在发生的故障并找到根本原因。

< ">设计可复原的应用程序时,必须了解可用性要求。可以接受多长的故障时间?这在一定程度上取决于成本。潜在的停机会给业务造成多大的损失?使应用程序保持高可用性需要投入多少资金?

< ">可靠性指南

< ">设计可靠的Azure应用程序

< ">复原能力的设计模式

< ">最佳做法:暂时性错误处理、特定服务重试指南

< ">安全性

< ">考虑从设计和实现到部署和运行的整个应用程序生命周期的安全性。Azure平台会提供保护以应对各种威胁,如网络入侵和DDoS攻击。但你仍需在应用程序和DevOps过程中构建安全性。

< ">下面是一些需要考虑的较广泛的安全领域。

< ">身份管理

< ">请考虑使用Azure Active Directory(Azure AD)对用户进行身份验证和授权。Azure AD是一项完全托管的标识和访问管理服务。该服务可用于创建仅存在于Azure的域,或与本地Active Directory标识集成。Azure AD还与Office365、Dynamics CRM Online和许多第三方SaaS应用程序集成。对于面向使用者的应用程序,Azure Active Directory B2C允许用户使用其现有社交帐户(如Facebook、Google或LinkedIn)进行身份验证,或者创建由Azure AD管理的新用户帐户。

< ">若要将本地Active Directory环境与Azure网络集成,可通过多种方法实现,具体视你的要求而定。有关详细信息,请参阅我们的标识管理参考体系结构。

< ">保护基础结构

< ">控制对已部署的Azure资源的访问。每个Azure订阅都与某个Azure AD租户存在信任关系。可使用基于角色的访问控制(RBAC)向组织内的用户授予对Azure资源的正确权限。通过向用户或组分配RBAC角色,授予对特定范围的访问权限。该范围可以是订阅、资源组或单个资源。审核对基础结构的所有更改。

< ">应用程序安全性



< ">一般来说,应用程序开发营销活动平台的安全性最佳做法在云端仍然适用。其中包括随处使用SSL、防止CSRF和XSS攻击、阻止SQL注入攻击等等。

< ">云应用程序通常使用具有访问密钥的托管服务。绝不要将这些服务签入源控件中。请考虑将应用程序密码存储到Azure Key Vault中。

< ">数据自主性和加密

< ">使用Azure的高可用性时,确保数据一直位于正确的地缘政治区域中。Azure的异地复制存储采用了同一地缘政治区域中的配对区域这一概念。

< ">使用Key Vault保护加密密钥和密码。通过使用Key Vault,可以利用受硬件安全模块(HSM)保护的密钥来加密密钥和密码。许多Azure存储和DB服务支持静态数据加密,包括Azure存储、Azure SQL数据库、Azure Synapse Analytics和Cosmos DB。

Microsoft Azure 架构良好的框架

上一篇:Youtube运营条要点20条
下一篇:什么是 Azure 虚拟网络?


版权声明:以上主题为“Microsoft Azure 架构良好的框架"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    Microsoft Azure 架构良好的框架
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“Microsoft Azure 架构良好的框架”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Microsoft Azure 架构良好的框架的相关事宜。

关键词:Microsoft,Azure,架构良好的框

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号