Google Cloud 架构完善框架:金融服务行业视角中的本文档概述了在 Google Cloud中构建、部署和运行稳健的金融服务行业 (FSI) 工作负载的原则和建议。这些建议可帮助您设置可观测性、自动化和可伸缩性等基本元素。本文档中的建议符合架构完善框架的卓越运营支柱。
对于 Google Cloud 中的 FSI 工作负载,卓越的运营至关重要,因为此类工作负载受到严格监管,且非常敏感。卓越运营可确保云解决方案能够适应不断变化的需求,并满足您在价值、性能、安全性及可靠性方面的要求。这些方面的失败可能会导致严重的财务损失、监管处罚和声誉损害。
卓越运营可为 FSI 工作负载带来以下优势:
- 维护信任和声誉:金融机构非常依赖客户的信任。运营中断或安全违规行为会严重损害这种信任,并导致客户流失。卓越的运营有助于最大限度地降低这些风险。
满足严格的法规遵从性要求:FSI 需遵守众多复杂的法规,例如:
完善的运营流程、监控和突发事件管理对于证明符合法规要求和避免处罚至关重要。
确保业务连续性和弹性:金融市场和服务通常持续运营。因此,高可用性和有效的灾难恢复至关重要。卓越运营原则可指导弹性系统的设计和实现。可靠性支柱可提供这方面的更多指导。
保护敏感数据:金融机构会处理大量高度敏感的客户和财务数据。为了防止数据泄露并维护隐私权,必须采取严格的运营控制措施、安全监控措施和快速的突发事件响应措施。安全性支柱可在此方面提供更多指导。
针对关键应用优化性能:许多金融应用(例如交易平台和实时分析)需要高性能和低延迟。为了满足这些性能要求,您需要高度优化的计算、网络和存储设计。性能优化支柱可在此方面提供更多指导。
有效管理成本:除了安全性和可靠性之外,金融机构还非常关注成本效益。卓越运营包括优化资源利用率和管理云支出的实践。成本优化支柱可在此方面提供更多指导。
本文档中的卓越运营建议与以下核心原则相对应:
定义 SLA 以及相应的 SLO 和 SLI
在许多 FSI 组织中,应用的可用性通常根据恢复时间目标 (RTO) 和恢复点目标 (RPO) 指标进行分类。对于面向外部客户的关键业务应用,可能还需要定义服务等级协议 (SLA)。
SLA 需要一个指标框架,从用户满意度的角度来表示系统的行为。 站点可靠性工程 (SRE) 实践提供了一种实现所需系统可靠性水平的方法。 创建指标框架需要定义和监控关键的数值指标,以便从用户角度了解系统健康状况。例如,延迟时间和错误率等指标可量化服务的性能。这些指标称为服务等级指标 (SLI)。制定有效的 SLI 至关重要,因为它们可提供客观评估可靠性所需的原始数据。
如需定义有意义的 SLA、SLI 和 SLO,请考虑以下建议:
- 为每项关键服务开发和定义 SLI。设置用于定义可接受的性能水平的目标值。
- 制定并定义与 SLI 对应的服务等级目标 (SLO)。例如,SLO 可以规定 99.9% 的请求的延迟时间必须小于 200 毫秒。
- 确定如果服务未达到 SLO,必须采取哪些内部补救措施。例如,为了提高平台的恢复能力,您可能需要将开发资源集中用于修复问题。
- 验证每项服务的 SLA 要求,并将 SLA 视为与服务用户的正式合同。
服务等级示例
下表提供了支付平台的 SLI、SLO 和 SLA 示例:
业务指标 | SLI | SLO | 服务等级协议 (SLA) |
---|---|---|---|
付款交易成功 | 一种定量指标,用于衡量成功处理并确认的所有已发起付款交易的百分比。 示例:(成功交易次数 ÷ 有效交易总次数)× 100,在滚动 5 分钟窗口内进行衡量。 |
一个内部目标,旨在在特定时间段内保持较高的支付交易成功率。 示例:在滚动 30 天的时间窗口内,将付款交易成功率保持在 99.98%,不包括无效请求和计划内维护。 |
对付款交易处理的成功率和速度的合同保证。 示例:服务提供商保证,客户发起的 99.0% 的付款交易将在 1 秒内成功处理并确认。 |
付款处理延迟时间 | 从客户发起付款交易到最终确认付款交易的平均处理时间。 示例:交易确认的平均响应时间(以毫秒为单位),在 5 分钟的滚动窗口内进行衡量。 |
支付交易处理速度的内部目标值。 示例:确保在滚动 30 天的时间窗口内,99.5% 的付款交易在 400 毫秒内完成处理。 |
一项合同承诺,即在指定的时间范围内解决严重的付款处理问题。 示例:对于严重的付款处理问题(定义为影响超过 1% 交易的中断),服务提供商承诺在问题报告或检测到后的两小时内解决。 |
平台可用性 | 核心支付处理 API 和用户界面可供客户正常运行和访问的时间百分比。 示例:(总运行时间 - 停机时间)/ 总运行时间 × 100,按分钟计算。 |
核心支付平台的正常运行时间内部目标。 示例:实现每个日历月 99.995% 的平台可用性,不包括计划内维护窗口。 |
就支付平台的最低正常运行时间向客户做出的正式的、具有法律约束力的承诺,包括未达到该承诺的后果。 示例:平台在每个日历月内将保持至少 99.9% 的可用性,但计划维护窗口除外。如果可用性低于最低水平,客户将获得服务费抵扣,每下降 0.1% 即可抵扣每月服务费的 5%。 |
使用 SLI 数据监控系统是否在定义的 SLO 范围内,并确保达到 SLA。通过使用一组明确定义的 SLI,工程师和开发者可以监控以下级别的 FSI 应用:
- 直接在部署应用的 GKE 或 Cloud Run 等服务中。
- 使用基础架构组件(例如负载均衡器)提供的日志。
OpenTelemetry 提供了一个开源标准和一组技术,用于捕获所有类型的遥测数据,包括指标、跟踪记录和日志。Google Cloud Managed Service for Prometheus 为大规模 Prometheus 指标和操作提供全托管式、高度可伸缩的后端。
如需详细了解 SLI、SLO 和错误预算,请参阅 SRE 手册。
如需开发有效的提醒和监控信息中心及机制,请将 Google Cloud Observability 工具与 Google Cloud 监控搭配使用。如需了解安全专用监控和检测功能,请参阅安全支柱。
定义和测试突发事件管理流程
定义明确且定期测试的突发事件管理流程可直接提升 Google Cloud中 FSI 工作负载的价值、性能、安全性和可靠性。这些流程有助于金融机构满足严格的监管要求、保护敏感数据、维持业务连续性并赢得客户信任。
定期测试事件管理流程可带来以下好处:
- 在高峰负载下保持性能:定期进行性能和负载测试有助于金融机构确保其基于云的应用和基础设施能够应对交易量高峰、市场波动和其他高需求场景,而不会出现性能下降。此功能对于保持顺畅的用户体验和满足金融市场的需求至关重要。
- 找出潜在的瓶颈和限制:压力测试可将系统推向极限,使金融机构能够在潜在的瓶颈和性能限制影响关键运营之前发现它们。这种主动式方法使金融机构能够调整其基础设施和应用,以实现最佳性能和可伸缩性。
- 验证可靠性和恢复能力:定期测试(包括混沌工程或模拟故障)有助于验证金融系统的可靠性和恢复能力。此测试可确保系统能够从故障中顺利恢复并保持高可用性,这对于业务连续性至关重要。
- 进行有效的容量规划:性能测试可提供有关不同负载条件下的资源利用率的宝贵数据,这对于准确的容量规划至关重要。金融机构可以利用这些数据主动预测未来的容量需求,并避免因资源限制而导致性能问题。
- 成功部署新功能和代码变更:将自动化测试集成到 CI/CD 流水线中,有助于确保变更和新部署在发布到生产环境之前经过全面验证。这种方法可显著降低可能导致运营中断的错误和回归风险。
- 满足系统稳定性方面的监管要求:金融法规通常要求机构采取可靠的测试实践,以确保其关键系统的稳定性和可靠性。定期测试有助于证明符合这些要求。
如需定义和测试突发事件管理流程,请考虑以下建议。
制定明确的突发事件响应流程
一套完善的突发事件响应程序包含以下要素:
- 为突发事件指挥官、调查员、沟通员和技术专家定义的角色和职责,以确保有效且协调的响应。
- 已定义的通信协议和升级途径,以确保在突发事件期间及时有效地共享信息。
- 在 Runbook 或 Playbook 中记录的程序,其中概述了通信、分诊、调查和解决步骤。
- 定期开展培训和准备工作,让团队掌握有效应对所需的知识和技能。
定期实施性能和负载测试
定期进行性能和负载测试有助于确保基于云的应用和基础架构能够应对峰值负载并保持最佳性能。负载测试可模拟真实的流量模式。压力测试会使系统达到极限,以找出潜在的瓶颈和性能限制。您可以使用 Cloud Load Balancing 等产品和负载测试服务来模拟实际流量。根据测试结果,您可以调整云基础架构和应用,以实现最佳性能和可伸缩性。例如,您可以调整资源分配或调整应用配置。
在 CI/CD 流水线中自动执行测试
将自动化测试纳入 CI/CD 流水线有助于在部署之前验证更改,从而确保云应用的质量和可靠性。这种方法可显著降低出错和回归的风险,并有助于您构建更稳定、更强大的软件系统。您可以在 CI/CD 流水线中纳入不同类型的测试,包括单元测试、集成测试和端到端测试。使用 Cloud Build 和 Cloud Deploy 等产品来创建和管理 CI/CD 流水线。
不断改进和创新
对于云中的金融服务工作负载,迁移到云只是第一步。持续改进和创新至关重要,原因如下:
- 加快创新速度:利用 AI 等新技术来改进您的服务。
- 降低成本:消除低效情况并优化资源使用。
- 提高敏捷性:快速适应市场和监管变化。
- 改进决策流程:使用 BigQuery 和 Looker 等数据分析产品做出明智的选择。
为确保持续改进和创新,请考虑以下建议。
定期开展回顾会议
回顾分析对于持续改进突发事件响应程序至关重要,并且有助于根据常规性能和负载测试的结果优化测试策略。为确保回顾会议有效,请执行以下操作:
- 让团队有机会反思自己的体验,找出哪些方面做得好,并确定需要改进的方面。
- 在项目里程碑、重大突发事件或重要测试周期结束后,举行回顾会议。团队可以从成功和失败中吸取经验教训,并不断改进流程和实践。
- 使用结构化方法(例如开始-停止-继续模型)可确保回顾会议富有成效,并促成可行的措施。
- 通过回顾性分析,找出可以进一步增强变更管理自动化程度的方面,以提高可靠性并降低风险。
培养学习文化
学习文化有助于在Google Cloud中安全探索新技术,例如利用 AI 和机器学习功能来增强欺诈检测和个性化理财建议等服务。如需营造学习文化,请执行以下操作:
- 鼓励团队进行实验、分享知识并不断学习。
- 采用不追究责任的文化,将失败视为成长和改进的机会。
- 营造心理安全的环境,让团队敢于冒险并考虑创新解决方案。团队会从成功和失败中学习,从而打造更具韧性和适应性的组织。
- 培养一种有助于分享从突发事件管理流程和测试练习中获得的知识的文化。
及时了解云技术的最新动态
持续学习对于了解和实施新的安全措施、利用高级数据分析获得更深入的洞见,以及采用与金融行业相关的创新解决方案至关重要。
- 及时了解最新进展、功能和最佳实践,充分发挥 Google Cloud 服务的潜力。
- 当有新的 Google Cloud 功能和服务推出时,请确定可进一步实现流程自动化、增强安全性以及提升应用性能和可伸缩性的机会。
- 参加相关会议、网络研讨会和培训课程,以扩展知识并了解新功能。
- 鼓励团队成员获得Google Cloud 认证,以帮助确保组织具备在云端取得成功所需的技能。