首先适应云计算带来的思想转变。当明确将云计算作为公司战略进行推广时,就意味着在建设采购、运维、业务服务等多方面进行改变。企业/公司也要意识到云计算带来的改变与传统方式存在差异,不能用传统的建设管理思维去构建云计算,概括来讲这种转变包括建设模式、管理模式、业务模式的变革。
1、建设模式
由一个企业从战略上统一规划,而不是由单一部门/项目组去建设,这一点至关重要,只有从高层上重视,才有可能在建设过程中少走弯路,当然具体落地时可以以单一项目或部门作为试点。在国内能够做到这一点的企业都是非常优秀的,这个过程需要避免“山头主义”,云计算就是要打破各自山头主义,实现统一规划、统一建设、统一管理。
2、管理模式
标准化意味着对原有的管理流程,特别是一些个性化需求进行规范和规划,这就需要IT支撑部门和业务部门达成统一认识。以往业务系统对操作系统要求千差万别,Windows和Linux都有不同的版本,甚至同一系列还有不同的小版本,采用云计算后,标准化意味着用户不能随意根据自行喜好提出需求,没有标准化就没有自动化,管理效率提升更无从谈起,这与工厂流水线标准化大生产思想是一致的。用传统的思维去建设和应用云计算是不可行的,云计算的魅力会大打折扣。
3、高可用模式
高可用性问题是涵盖建设、管理及业务系统等多方面的问题。传统的整个IT支撑系统的高可用性是通过昂贵的高端硬件设备,包括主机、存储、网络来保障其IT在硬件环境下的稳定性和可靠性的,所以多年以来,高端的小型机、FC-SAN存储及高端FC交换机还是非常有市场的,相应的传统硬件厂商会打击x86体系架构下的稳定性问题。云计算理念恰好相反,承认x86服务器本身就是不可靠的,宕机是正常的,这些都是事实,没有必要去避讳,整体IT支撑系统的高可用性是一体化的过程。计算资源池解决资源问题,高可用性和稳定性通过软件的方式解决,包括但不限于以下方式。
- 基于共享存储的迁移,当虚拟机所在的计算节点宿主物理机宕机后,通过迁移的方式在其他的计算节点上启动虚拟机,OpenStack提供了migration机制实现迁移。虚拟机迁移仅能解决计算节点宕机的问题,如果存储节点宕机,那么使用其存储的虚拟机会受到影响。这时候的整体业务稳定性需要通过业务系统的其他手段和方式来解决。
- 应用软件解决高可用性问题。诸如上面提到的x86服务器宕机的问题,可以通过软件解决。软件方面还包括多个层面,如操作系统的双机热备、软硬件的负载均衡机制。
- 业务系统解决高可用性问题。业务系统也要在高可用性方面进行改造,用软件的改进去弥补硬件的不足,而不能将高可用性完全依赖于昂贵的硬件设备。如将系统进行分布式改造,支撑多节点部署计算,部分节点宕机不影响整体业务运行。再通过主—从(master-slave)、主-主(master-Master)等方式实现整体控制机制的优化。
- 传统业务系统对于高端存储非常依赖,特别是关系型数据库特别依赖高端存储。随着新技术的演进,已找到两个非常优秀的软件解决方案来解决高端存储的依赖性问题。第一个是对象存储,如亚马逊的S3、OpenStack的,Swift它们从理论上来说基于普通x86服务器构建的对象存储池,稳定性和可靠性达到10个9的SLA,没有单点故障。这是传统昂贵的高端存储也不能保障达到的。业务系统的关键业务数据可以直接存储至对象存储资源池里面,从而实现整体的高可用性。第二个是数据库方面,海量非结构化数据的NoSQL数据库逐渐成熟,在一定程度上能够解决大多业务系统的数据存储问题,这已经在国内外知名的大型互联网得到验证,而NoSQL基本都是运行在x86服务器集群里的,而非昂贵的高端存储,这样也能够解决稳定性问题。如果用户还是担心数据库的稳定性问题,那么建议将数据库等核心应用慎重迁移至云平台。
- 容灾和备份管理将成为常态。在管理模式上,对核心的数据库进行定期数据维护和备份是非常必要和可行的,用基于OpenStack的Volume快照方式实现容灾恢复管理。最终通过管理的方式实现整体系统可用性和稳定性。
在建设之初需要有统一的改造建设思路,业务系统改造和私有云平台建设是相辅相成的,在管理模式方面,也应考虑在构建私有云的过程中不必将原有的高端小型机、高端存储统一管理。