应用系统的高可用依旧可以采用原来的LB + HA实现,
更进一步的,云平台(基于虚拟化、容器)提供的HA、FT、快速复制、热迁移等可以很方便的支撑应用系统构建高可用架构。
此外,云的弹性伸缩能力也是对于应用系统高可用的强有力保障。
主要是架构设计和管理流程两方面。
架构设计上,硬件层面,根据可用性需求分配不同的硬件资源;系统层面,对于不能分布式部署的部分,采用成熟的高可用软件,保证快速、准确的切换;应用层面,尽可能实现分布式部署,利用应用交付设备实现负载均衡和应用服务的健康检查。条件具备的,可以尝试多活数据库方案,不过维护难度会更大些。
管理上,要通过合理的流程设计,严格把控各类变更。在运行过程中,人永远是最大的风险,而云环境下误操作的影响又远远高于传统环境。
1,这个问题本质其实是在问云平台纳管下的资源池,是否支持业务应用的高可用性。本质是资源池的设计,设计需求来之业务应用系统。
2,云平台只是纳管了资源池,云平台是 provision 平台,本质上自动化部署业务引用系统,是个旁侧系统,云平台自身的高可用需要考虑,但是理论上云平台不工作,也不影响资源池上的高可用服务;
3,关于业务应用系统的高可用性,区分是传统的系统高可用还是业务应用服务高可用?
3.1),若是传统系统高可用服务,诸如数据库 HA/HADR 服务,基本上是系统层高可用,这个没什么好说的,跟云平台没有关系,
3.2),若是业务应用服务高可用,则可以将业务应用架构进行改造,有 cluster/集群是服务,改为分布式服务,如此高可用服务可以保证。