【应用架构】在云上构建弹性应用程序
人们希望他们所依赖的应用程序在他们想要使用它们时可用。 为实现这一目标,企业开发团队必须从一开始就为其应用程序构建弹性。
弹性实践可确保您的应用程序在用户需要时可用。 实施弹性实践的一个好处是使您能够满足为企业应用程序建立的服务级别协议(SLA)。 要满足您的SLA,您必须确保您的应用程序具有高可用性,您已制定计划以应对灾难,并且您已为所需的所有关键基础架构,服务和数据建立了备份和恢复流程 运行你的应用程序。
弹性不能成为事后的想法。 尽管平台即服务具有编排功能,但仍需要考虑高可用性,灾难恢复和备份来设计和开发应用程序。
---Eduardo Patrocinio,杰出工程师,IBM云解决方案
在决定投入多少资金以使应用程序具有弹性时,需要考虑许多事项。要问的一些问题是:
- 该应用程序的SLA要求是什么?某些应用程序需要24/7/365可用性,而其他应用程序则要求不太严格。
- 您的灾难恢复要求是什么?
- 你的备份策略是什么?是否有审计所需的关键数据?
- 您的应用程序及其操作的数据是否需要考虑安全性,隐私和合规性规定?
- 是否存在行业特定要求,这些要求决定了您的应用程序必须具有多大的弹性?
- 您的应用程序处理什么类型的工作负载(认知,传统,高容量事务或其他)?
- 您的应用程序部署基础架构(网络,内部部署,云)如何影响您的弹性要求?
- 您的应用程序的性能要求是什么?它们如何影响弹性?
- 定义SLA时,请考虑预算和时间限制。有什么权衡,他们可以接受吗?
以下部分说明了构建弹性应用程序时必须考虑的三个方面:高可用性,灾难恢复和备份。
高可用性的架构师
开发高可用性应用程序可确保您满足SLA的运营可用性。启用高可用性需要:
- 立即检测和解决故障。
- 一种应用程序体系结构,可确保不存在单点故障。
- 内置故障转移功能可确保在数据中心停机时提供可用性。
智能集成全局负载平衡技术可跨多个地理位置的服务器资源分配应用程序流量。当单个地理位置发生故障时,您的应用程序仍然可用,因为流量被重定向到其他地理位置。
您可以看到一个示例,说明Garage Method for Cloud团队在实施高可用性架构中如何实现99.999%的可用性。
做好准备 - 制定灾难恢复程序
灾难恢复要求企业积极主动并提前考虑确定灾难发生时需要恢复的内容。灾害可以采取多种形式,从地震和洪水等自然灾害到纵火等人为灾害和其他恶意行为。
必须在灾难发生之前编写策略和程序,以帮助团队安全有效地恢复。在编写策略和过程时,请考虑以下事项:
- 您是否拥有联系灾难地点团队成员所需的所有信息?
- 您是否清楚地了解了灾难发生时可能受影响的物理资产,包括从建筑物到硬件的所有内容?
- 是否有文档化的程序来确保关键任务应用程序可以在不同的位置运行它们?
- 您是否已将关键数据的备份存储在第二个安全位置,以确保您不会丢失运行业务所需的数据?
建立备份和恢复计划
备份的概念涉及保证在数据损坏或意外或故意删除数据等事件发生时不会中断您的业务。
大多数企业还要求保留其数据的子集,以确保遵守治理策略。例如,IT公司可能要求团队在产品发布后保留与发布相关的法律文档5到10年。备份用于保护您的数据并保持您的应用程序正常运行。
我该备份什么?
在为云应用程序实施备份时,必须备份应用程序本身,运行应用程序的基础架构(如VM)以及应用程序所需的数据。
云原生应用程序备份
编写云原生应用程序时,必须设计失败并确保能够恢复应用程序正常运行所需的所有服务和数据。
除了备份正在运行的应用程序之外,还必须考虑备份源代码存储库,以确保在存储库损坏或不可用时可以进行恢复。
数据库备份
确保备份数据库,并且可以在硬件,软件,网络或组合故障(可能导致一个或多个数据库不可用)的情况下切换到备份。为了确保可以进行恢复,您必须备份操作状态和数据库中存储的数据。
VMware备份
如果您将VM用作物理基础架构的一部分,请考虑以下问题:
您是否希望能够执行机器映像还原?
您是否需要保护虚拟,物理或两者兼有的基础架构?
您更喜欢代理,无代理或SAN级数据副本吗? (各有利弊。)
您有多个需要数据保护的站点吗?
什么类型的许可模式适合您?
可以使用工具备份和还原虚拟环境。这些工具允许您决定是备份还原还原完整的VM,卷还是文件。
备份并还原到云
云备份(也称为在线备份)是一种备份数据的策略,涉及通过专有或公共网络将数据副本发送到场外服务器。这可用于活动数据和存档数据。存档是指单个记录或专门为长期保留和将来参考而选择的历史记录集合。通常不会每天访问存档数据。
在考虑了需要备份的内容以确保应用程序及其运行环境的弹性之后,还需要考虑必须从备份还原应用程序和基础结构时会发生什么。您必须构建备份和还原过程以考虑以下因素:
- 备份需要多长时间?
- 从备份恢复需要多长时间?
- 您的备份需要多少空间?
- 您多久进行一次备份?
每个问题的答案可能因云应用程序的每个部分而异。每个答案取决于您的应用程序的特定特征,您愿意承担的风险,以及备份和恢复过程的成本。
下一步是什么?
IBM认为,在云应用程序中构建弹性是在云上开发和部署应用程序的关键成功因素。既然您已了解构建弹性应用程序的概念和价值,那么请立即开始实施弹性参考架构。
每个企业都必须仔细考虑您开发的应用程序的弹性要求。 IBM可以帮助您深入了解对我们的客户有用的解决方案,并提供愿意帮助您发现最适合您的企业的专家。
讨论:请加入知识星球【首席架构师圈】
- 31 次浏览