优质博文:IT-BLOG-CN
上云的挑战
在全球化背景下,除了要考虑全球的平滑部署来满足应用可用性和用户访问性能要求外,还需要考虑数据出海的安全性、法律合规和数据隔离等严格要求。通过以下几个角度举例:
全球部署
改造前,业务应用和数据都部署在原机房的同城:存在IDC A+B
两中心的(同一个逻辑机房)同城双活。
与改造前架构特点相对比,如表格所示:
容灾级别 | 同一逻辑分区 | 用户分区 | 就近访问 | 数据多活 | 公共访问 | |
---|---|---|---|---|---|---|
改造前(同城双活) | 跨机房级别 | 是 | 否 | 否 | 否 | 支持完善,成熟 |
全球多中心 | region 级别 | 否 | 是,单元化分区 | 是 | 需严格遵守数据跨境政策 | 需支持多IDC场景 |
由此得知,多IDC场景下不可避免地需要去面临数据分片、单元化、数据冲突和业务幂等问题。相比传统分布式架构,不止是业务应用项目,还有PaaS
平台基础设施在应对全球化技术体系都遇到了全新的挑战,需要有巨大的调整。
性能问题
面对全球范围内的用户的业务请求响应,难免会有用户因为网络跨洋传输、链路传输距离过长等问题造成的业务访问质量差。如何保证用户的请求访问链路最优,减少网络延迟,提供更快服务响应。
数据合规和监管
如何严格遵守不同地区针对数据跨境流动、数据泄露等数据安全问题颁布的相关法律法规。
数据出海问题
【1】数据一致性: 多IDC
读写场景下,全球范围内用户在多个数据中心创建和操作订单,多个数据中心之间相互同步和操作订单业务时,应该如何保证数据一致性的问题。
【2】同步合规: 因数据跨境政策影响,一般不进行异地多活,需要如何避免数据跨境流动所带来的违规。
全球扩展性
以轻松地扩大业务覆盖范围为目标,新业务扩展时,如何通过对业务和数据进行改造操作,达到便捷动态调整数据存储策略,来应对动态多变的的数据合规政策。
通常一个大型项目会依赖/牵扯到成百上千个应用。如果将所有的应用都迁移到云上,从开发成本和硬件成本考量都不太合理。所以需要先部署依赖最少的服务,比如某个活动服务【只包含一个
API
】等。
实现成本优化
主要从三个方向实现成本优化:数据洞察(了解钱花在了哪里,应用多少钱,每一条消息/日志多少钱,并查看是否合理。Cost/Efficiency/Usage/Capacity/Budget)、成本节省(通过“混合云弹性调度平台”在保证可靠性的前提下自动优化成本)、成本运营(由各BU研发统筹成本相关问题,是否需要重构项目,缩容等操作)。主要是培养成本意识,追求成本、效率、质量的动态平衡
Cluster Autoscaler
【1】复杂动态的机型&价格: OnDemand
按需实例,即用即扩。Spot
竞价实例,可被AWS
主动回收。Saving Plan(SP)
预付费折扣包。下面是各机型组合单价比例:
Intel架构 | Amd架构 | Arm架构 | |
---|---|---|---|
OnDemand | 1 | 0.9 | 0.8 |
OnDemand+SP | 0.6 | 0.5 | 0.4 |
SpotInstance | 0.4 | 0.35 | 0.3 |
【2】挑战: 不同机型扩容成功率随时间动态变化。扩容请求需要在2min左右完成。
【3】方案: 监测数据,周期性更新高优机型列表,剔除失败率高的机型。扩容失败时,Autoscaler
自动切换机型。Spot
扩容失败时,调度器自动切换到OnDemand
。
【4】方向: Autopilot
纳管Autoscaler
,自动优化参数及机型列表,实现成本扩容成功率最优。下面是不同机型组合随时间动态变化监控图
SmartVPA
【1】海外AWS
应用特征:利用率低(Avg Cpu 8%)长尾明显,实例数少,SmartHPA
无法充分发挥作用。
【2】方案:数据监测,动态超卖,降低实际资源占用。实时监测超卖热点,驱逐与再平衡。
【3】效果:海外超卖比34倍,等价于降低34倍的资源使用。超卖比随切流及负载情况动态调整。
FRA-AWS
切流导致利率上升,超卖比自动降低。
方案
【1】公有云上缓存使用ROR
(冷热分离,减少内存使用),已替换Redis
,。
【2】公有云上的ROR
,采用AMD
芯片,价格一致下,性能提升10%~15%左右。
【3】迁移期间还未接入流量的实例,不需要高可用,进行单实例部署,云上的DB
都是4C16G
比较弱,私有云的都是40C256G
,如果流量切过去之后,会升配置。
【4】RDS
最小化部署,流量上升才进行提配。