什么是 Azure Stack 及其设计模式?
Azure 提供了一些不同的选择来管理云作业。我通常考虑的主要选择是灵活的计算和存储 - 动态的处理和容量资源。此选择通常称为 Azure Stack,对于需要迁移到 Azure 的组织来说,这是明智的第一步。
如果您正在构建一个普通的 Azure Web 应用程序 - 例如,CRM 应用程序、网站或电子商务网站 - 无需进行任何设计或管理。您只需配置要与 Azure Stack 一起使用的处理和存储。您可以通过在您的硬件上(在 Azure 或 Azure Stack 上)创建高可用性和托管的容器来执行此操作。
什么是 Azure Stack?
Stack 是一种真正的混合云计算解决方案,它是 Azure 的扩展,允许组织利用其内部服务器场提供 Azure 服务。
服务器场转换为运行 Microsoft Azure 云平台的公有云。
Azure Stack 的基本原则是使组织能够在其服务器场中保留敏感数据和信息,同时提供访问 Azure 公有云的功能。
Azure Stack 服务在 Windows 上的 Microsoft Hyper-V 之上运行,并始终使用 Microsoft 的网络和存储解决方案来实现功能。
Azure Stack 的目的
大多数现代组织对云的强制性需求是提供 IT 能力、服务、灵活的、高度可扩展的资源,同时也要非常经济。
实施这样的云就绪环境需要高昂的初始成本,这也带来了许多挑战。
另一方面,采用公有云(如 Azure 或 AWS)来克服这些问题的组织也面临着在内部环境和云之间无缝迁移责任的难题。
以前,组织通过创建连接到公有云的私有云来克服这种情况;但是,这些私有云需要本地开发、设置和维护复杂的多样化的软件堆栈。
它使本地服务器场更加复杂,不能保证框架的本地软件堆栈与公有云和私有云兼容,以及访问和管理数据。
可以实施 Microsoft Azure Stack 来克服这些挑战。Azure Stack 平台将 Azure 环境无缝集成到本地服务器场中。
它为开发人员提供了构建和部署适用于公有云和私有云的单个应用程序所需的统一性,而无需为每个平台构建单独的应用程序。
Microsoft Azure Stack 结合了可以在本地服务器场中托管的各种 Azure 服务,例如 Azure 应用服务、Azure 虚拟机、Azure 功能,以及提供诸如 Azure 动态索引之类的服务来管理 Azure Stack 标识。
设计模式
大使模式
创建代理服务,代表客户端服务或应用程序发送网络请求。大使服务可以被认为是与客户端同驻的进程外中介。
此模式可以帮助以语言不可知的方式卸载常见的客户端网络任务,如监控、日志记录、路由、安全(如 TLS)和弹性模式。它通常与遗留应用程序或其他难以修改的应用程序一起使用,以扩展其网络功能。它还可以使特定团队能够实施这些功能。
反腐败层模式
在不共享相同语义的不同子系统之间实现适配器层。此层将一个子系统发出的请求转换为另一个子系统。使用此模式可确保对外部子系统的依赖关系不会限制应用程序的设计。Eric Evans 首次在领域驱动设计中描述了此模式。
异步请求-回复模式
将后端处理与前端主机分离,其中后端处理需要异步,但前端仍然需要清晰的响应。
面向前端的后端模式
分别创建后端服务,这些服务可供特定前端接口或应用程序使用。当您不想为多个接口定制单个后端时,此设计很有用。Sam Newman 首次描述了此模式。
舱壁模式
它以船体的一部分(舱壁)命名。在舱壁设计中,应用程序组件被隔离到池中,以便如果一个组件发生故障,其他组件将继续运行。如果船体受到损害,受损部分会充满水,以防止船沉没。
旁路缓存模式
根据需要从数据存储中加载数据到缓存中。它提高了性能,还有助于维护底层数据存储中的数据与缓存中的数据之间的一致性。
编排模式
让框架的每个部分都参与交易工作流的动态循环,而不是依赖于一个集中的控制点。
结论
AWS 一直在努力为 Azure Stack 添加支持一年多,并且现在宣布他们正在准备为 Azure Stack 客户发送一个“网关”,该网关允许其现有的 AWS 服务与 Azure Stack 一起使用。因此,即使您尚未准备好将 Azure Stack 运行在 AWS 上,您也可以将其用作一种方法来创建您可以突然增加对 AWS 需求的情况。