如今,越来越多企业在云中运行应用,其中不乏任务关键型的Tier 1应用。无论IT架构还是管理人员,都不得不面临这样的灵魂拷问:如何确保业务技术在云中运行时具备高可用性,并按要求执行,满足业务目标预期?
要回答这个问题,企业IT首先必须明确:确保云中应用程序在线并正常工作,责任主体是自己而不是云供应商。初始默认状态下,应用程序在云中运行时并不会具备高可用性、扩展性和弹性,IT需要自己构建并实现相关功能。
云中的共担责任
云供应商有几种方法,可为其提供的服务构建容错能力。企业要想确保任务关键型应用在云中高可用,就必须了解云供应商是如何管理容错的,并且清楚云服务在什么情形下可能失效。以下是云责任共担模型中关于此部分内容的概要:
云中共担责任 |
云供应商 |
企业自己 |
负责提供集成弹性和容错能力的服务以防止故障 |
负责管理应用程序,确保其具有高可用性并防止故障 |
在云中,无论基础架构(硬件、网络、设施),还是软件(管理和数据平面),任何类型的故障都可能导致应用程序不可用,对业务产生重大影响。这种情况下,企业将不得不实施故障转移,或寻求其他解决方法。谨记:企业在云中运行的应用程序发生停机或性能下降的状况时,并不一定是因云服务商发生故障或服务中断导致,二者并没有必然的联系。
大多数云供应商的IaaS产品都提供可选项,帮助用户将一定程度的弹性嵌入到云环境中:
♚ 在可用区或区域模型中可部署基础架构,有助于保护其免受局部故障的影响。
♚ 监控服务,这些服务可以提醒用户故障,并帮助了解系统和服务何时可能降级。
但无论如何,云中应用程序的可用性和弹性如何构建、水平如何.......这一系列问题仍完全取决于最终用户。
云应用高可用和弹性设计
关于如何为云应用设计高可用和弹性,以下是需要重点考虑的几个关键事项:
1,清楚地了解可以承受的停机时间。
2,聚焦应用程序所支持的业务服务,设计可满足最低业务需求的高可用方案,以便在主(活动)应用程序发生故障时及时接管。
3,寻找具备可见性和修复功能的解决方案,适用于故障概率最高的云服务(如网络或计算实例故障)。
4,在辅助环境(第二站点)中定期测试应用程序和系统,验证弹性策略的有效性。
5,自动化的高可用和灾难恢复操作可以显著提高应用程序正常运行时间,提升整体运营效率。
最后,上一张方案架构图,归纳云中高可用和应用弹性应覆盖的关键应用场景。
组件支持管理各种存储,包括SAN、本地闪存、SSD、DAS和S3。代理为与云中应用程序关联的网络、存储和复制资源提供监视和故障转移功能。
♚ 从本地迁移到云或从云迁移到云。
♚ 云中高可用或灾难恢复。
♚ 从本地到云或跨云的灾难恢复。
此外,应用程序迁移向导支持用户自动将工作负载跨操作系统平台迁移到公有云。
跨多云环境,将经济高效的平台独立性与一致的应用程序高性能与可用性相结合✔ 美哉,妙哉。