编者的话:邱洋,品高云(BingoCloud)的产品总监,国内首个商用云操作系统 BingoCloudOS 云操作系统由他的团队创建,从 2008 年开始,他见证了品高云从零到现在的过程。现在是品高云的第七个年头,他笔下的“品高云七年”是怎样的?

01 概述

时代已经进入二十一世纪,第四次工业革命已经到来,信息化已经成为企业生存的“必要条件”,而各种支撑业务运行的 IT 系统,就如同企业前进的发动机,必须得到无微不至的、持续的呵护与安全保障。

业务系统的安全保障是个系统工程,它讲究的是木桶原理——短板决定了上限。因此除了机房风火水电等基建设施需要符合相关规范外,包括用于支撑业务运转的硬件系统(如服务器、存储、交换机、负载均衡等)、基础软件系统(如操作系统、中间件、数据库等)、应用系统(如 CRM、ERP、OA)等多方系统都具备更高的能力,方能确保业务的可靠运转。

另一方面,因为云计算技术的引入,上述系统被【虚拟化】(如:硬件设备变成了虚拟资源)和【云化】(如:传统应用架构变成了分布式架构),因此遵从叠加原则,云平台需要在传统的、物理的保障架构上,提供更多的保驾护航能力,才让企业能值回票价。

综合品高云已有大型央企、金融、制造、政府、公安等对生产运行有着高要求的客户需求的总结,发现客户对云平台的需求主要集中在:云平台要经过安全认证、多维度的 HA 保障、扩展性保障、从容面对突发状况、更便捷的备份以及给“云外 ”资源提供保障等 6 个需求。

02 通过验证的安全性

一个人跟你说他会开车(主观),你可能不信,如果碰巧你也不会开,那恐怕他说再多的技术道理你也很难相做出判断;而一堆人都说这个人可以,而且他还亮出驾驶证,甚至开车到你面前(客观),你就不得不信了。

云平台就是这样的东西,需要通过多方面的安全的客观证据来证明他的安全性,它们应该包括:

产品安全方法论(体系靠谱吗?)

产品的安全应该基于某种约定俗成的安全标准,而且不仅要说明清楚自己的安全功能,还应该说明产品的安全边界在哪里,对于边界外的事物给予建议,这样用户才能用着放心。

云安全责任共担模型

产品安全资质(技术靠谱吗?)

现在市面上针对云产品的安全标准化有很多,如针对公有云有国际的 CSA(云安全联盟)的 STAR 测评、国内的可信云测评;针对私有云有国内的等级测评、公安部的信息安全测评、解放军的信息安全测评等,通过测评机构的专业化经验,可以有效帮助企业提前过滤一些安全分风险。

近些年随着云计算的火热,一批云计算的安全测评机构也如雨后春笋般冒出来,建议企业针对自身的业务场景来查看产品的安全资质,如果公有云场景可以参考可信云,如果企业私有云可以参考公安部测评,而政务云可参考等保或解放军的测评。

公安部信息安全产品对云操作系统的检测

公司安全资质(公司靠谱吗?)

有句话说的好“跑的了和尚跑不了庙”,再好的技术产品,如果研发的企业自身存在安全漏洞弊端,也会为客户实施云计算埋下不稳定因素,针对企业的安全认证有 ISO20000、ISO27001 等,下面是摘抄百度百科上对 ISO27001 的介绍:

  • 信息安全管理体系标准(ISO27001) 可有效保护信息资源, 保护信息化进程健康、有序、可持续发展。
  • 通过(ISO27001) 认证能保证和证明组织所有的部门对信息安全的承诺。
  • 通过(ISO27001) 认证可改善全体的业绩、消除不信任感。
  • 获得国际认可的机构的认证(ISO27001) 证书,可得到国际上的承认。

品高软件通过 ISO27001 的资质证明

案例应用场景(客户相信吗?)

俗话说“光说不练假把式”,获得再多的资质仅仅只是底线门槛,云平台只有在安全刚需客户的生产环境中部署,才能够最终证明产品的安全可靠程度,这些客户场景包括:政府政务云、公安警务云、金融云、部队云,甚至企业公有云等。


基于品高云的广州电子政务云的等保测试报告

03 多维度的 HA 保障

世界上有一个广为人知的理论——木桶理论。说的是:木桶是由多块模板组装而成,而最短的那块木板决定了盛水的多少。而对于业务系统的可用性也是同样的道理,无论你的服务器多么强大,如果操作系统蓝屏了,那么服务也将终止。

因此要达到应用系统的高可用(HA)就要从多个层面去考虑,一般包括:硬件层、虚拟化层、基础软件层、应用架构层以及云管理平台层等 5 个层面:

 多维度 HA 的云平台架构

硬件层 HA

一般是指承载业务运行的物理设备,传统上的解决思路一般是冗余,例如:容错内存、磁盘 raid、网络链路聚合等,还有更多这里不一一列举,总之硬件层的 HA 和钱是成正比的,单机越可靠,成本就越多。而云化之后反而对硬件的要求降低了(云计算采用集群可靠性来替代对单机可靠性的依赖),类似 google 这样的极端情况,甚至自己定制标准将不必要的硬件模块裁掉,同时从 ODM 而不是 OEM 厂商采购服务器,可以更进一步降低成本。当然传统企业还可以继续沿用自己信赖的硬件厂商,只不过实施云计算之后,不必被销售绑架买最贵的产品了。

虚拟化层 HA(需要将基础设施云化)

虚拟化相当于运行在物理设备和应用之间的“中间件”,它将底层物理设备的计算(如 cpu)/存储(如磁盘)/网络(如通信)能力,通过“编程方式”重新组合分配给应用,既可以模拟出一台规模更小的虚拟机(VM)也可以组合出一台容量更大的存储设备。而要保证虚拟化层的 HA,主要依靠的是分布式架构。而核心思路是“鸡蛋不要放在一个篮子里”和“蚂蚁雄兵”。在者两个思路下,主要关注点就是“篮子和蚂蚁的多少”,它们越多整个系统就越可靠。

基础软件层 HA(需要将传统软件云化)

在企业中有这么一类软件,对于业务部门,根本没听过它们,也用不上它们,而每年 IT 部门却要付出大量的成本进行维护;一旦它们出了问题,整个业务系统也将灰飞烟灭。它们就是基础软件,在企业内部称之为中间件和数据库,如:websphere、weblogic、tomcat、Oracle、SQLserver、MySQL 等。其实这些软件本身随着业务的进化,已经具备了高可用的集群能力,例如 WAS 集群、Oracle 的 RAC 等技术的部署和调优,云平台要做的就是把这些能力“自动化”,让它们的使用方式“更傻瓜化”。

 oracle 高可用 dataguard 自动化云服务

应用架构层 HA(需要将应用组件云化)

最新的应用系统往往采用了多层架构,如 MVC 架构、微服务架构等,而每个层面也都相应部署了 HA。但是其中涉及的数据库、附件存储、消息队列、甚至负载均衡等,往往还是采用传统技术实现,这在一定程度上需要程序开发人员还要去了解数据库、存储乃至消息队列的 HA 技术,才能让应用 HA。但是正所谓“应该让专业的人干专业的事”,一般云平台自身提供了大量的“云服务技术”如 nosql 服务、弹性伸缩服务、消息队列服务、负载均衡技术、对象存储等技术,而这些技术自身都是“容错”架构的,而针对这些服务所设计出来的云架构模式被成为 CDP(云设计模式),这种模式下可以更好的发挥云计算的 HA 能力,让应用更具可用性。

 一个电子商务支付的 CDP 应用架构设计—以 AWS 服务为例

云管理平台层 HA(需要控制器集群化)

作为负责资源全局调度的“控制器”,云管理平台中分别针对服务器资源的【集群控制】、针对存储资源的【存储控制器】、针对网络资源的【SDN 控制器】乃至上层的 UI 控制台和负责应用调用的 API 服务都需要具备 HA 的能力,并且最好具备“集群”能力,因为只有这样才能同时解决性能瓶颈和单点故障问题,因此考量云管理平台的可靠性重点应该放这些方面。企业用户可以在实际项目中,采用类似整个机柜掉电的方式,来检查云平台整体的可靠性。


机柜掉电控制器迁移示意图

04 更大的单集群规模

当我们去购买笔记本电脑的时候,销售人员总会推荐我们买有更多内存插槽的产品(这样的电脑往往价格更高),理由是:当你未来想玩大型游戏的时候,小内存是很苦恼的,再花钱买一台新电脑成本更高。这里面说的就是产品的扩展性。

在这里,我们不敢苟同销售人员的趋利目的,但是扩展性,的确是企业在采购云平台需要注意的问题。试想下未来生产上了云后,发现很快到达了平台的某个瓶颈,到时候想换产品或技术路线也为时已晚。而对于云平台来讲,扩展性意味着:更大的单集群规模、更快的第三方技术整合。

更大的单集群规模

单集群规模指的是在一个 HA 集群中,物理服务器的数量。因为在 HA 集群中任意物理机宕机,其中的服务会自动迁移到另外的物理机,因此集群规模越大,说明可靠性越高(想象下冷兵器时代,因为兵器都差不多,因此军团数量越大说明战斗力越强)。同时更高的集群上限,也意味着未来的扩展性更高,否则就需要部署多个小的独立集群,可能存在:服务宕机后没有可用资源给到它,或者另外的集群有空闲但用不上的窘迫局面。

品高云在某客户的单集群 1K 台物理服务器

更快的整合第三方技术(开放架构)

现代技术正在飞速发展中,客户的需求永远不可能被一家厂商满足,因此不同领域有不同的专家存在,这就需要云平台可以融合更多第三方技术。这就需要云平台提供一个开放的架构,在计算、存储、网络、服务等多个层面提供能力的开放。例如:通过网络能力的开放融合第三方安全产品(如防火墙、WAF、IPS、防毒墙等)增强客户的安全防火能力;通过存储能力开放允许第三方应用(如网盘、视频转码、大数据处理等)增强客户业务的吞吐量等;通过编排能力的开放允许用户定制自己的个性化云服务(如银行的 WAS 集群服务、高校的 HPC 服务、动漫业的 3D 渲染服务等等)。

通过 SDN 能力扩展云平台的安全能力

05 从容面对突发状况

现如今企业面临着内部创新需求、外部互联网倒逼的双重压力,使得以往被封锁和保护的内部 IT 系统,开始突破防火墙的束缚,越来越多的业务系统需要跟 internet 打交道,这种情况下互联网客户访问的不确定性、周期性问题就凸显出来。例如:一个医疗行业的 ERP 系统,过去都是企业内部在使用,人员和访问时间都比较固定,而随着产业链上下游(如物流、电商、医院等)加入到这个系统,那么它的访问将变得更加需要弹性能力;另一个例子是公安的互联网系统,随着服务型政府被提出,公安的报警、查询、办事等业务也可能被搬上 app store,被广大市民使用,也会造成访问的不确定性。

云平台在应对来自互联网访问压力时,一般需要三个应对策略组件,分别是:SDN 负载均衡、弹性伸缩、云监控。

 云平台弹性伸缩功能原理

SDN 负载均衡

通过将负载均衡软件固化在云中,提供类似硬件 F5 的能力,将云中的 vm 组成集群,抵抗并发压力。而传统的软件负载均衡软件主要有【反向代理模式】和【DR 模式】两个类型,反向代理模式的负载均衡存在单点问题(因为所有流量都要经过负载均衡服务器);而 DR 模式(下行流量由后端 vm 直接发向客户端)由于需要所有 VM 和负载均衡都需要额外配置 VIP,从而对运维管理和自动化造成了挑战。

如果云平台可以提供 DR 模式的负载均衡,同时又避免运维操作,将是一个十分优化的方案。这种架构下就需要 SDN 能力的引入,通过将负载均衡作为一个 NFV 组件进行管理,而 VIP 的事情交给流表处理,而用户则无需关系这一细节。未来还可以按需加入 WAF 等功能,进一步增强用户应用的可靠性。

 SDN 负载均衡的架构示意图

弹性伸缩

云平台必须具备的能力,它通过模板定义应用的部署案,并配置了当负载上升、下降时的应对策略。好一些的云平台还允许设定弹性的周期性有效性,例如:12306 系统只在春运期间有突发流量时做出响应,而平时则作为事件上报监控系统,通知管理员。

云监控

传统 IT 中,监控可能只作为一个报表系统,而在云中云监控的地位至关重要。一方面,它需要时刻搜集资源的各种数据如 cpu 变化、I/O 读写、网络吞吐等,并同时进行汇总生成 top10、折线图、导出 excel 等;另一方面,在设定的阈值到达时需要触发后续操作,如发送邮件给管理员、上报企业的 CMDB 变更、触发弹性等。同时对于应用层面的变化量还需要允许用户自定义监控指标,如客户注册数、数据库进程内存等,从更精确的触发后续动作。

 云监控系统示意图

06 更便捷的备份

如果说企业里面什么是最重要的,那么备份恐怕要排到前三,备份技术的发展,也从早期的磁带的定时备份向 raid 技术的实时备份发展、从 SAN 存储的双机镜像备份向分布式的多副本冗余发展。如果说传统模式下的备份还局限在单数据中心内,那么随着业务可靠性需求的提高,越来越多的企业尤其是金融和重点政府单位开始考虑多数据中心间的备份。

而对于云平台来讲,除了支持传统的物理设备双机的模式外,还应该提供异构存储设备(如 SAN 到分布式),异地数据中心间的数据备份,而支持备份的对象应该包括虚拟机、虚拟硬盘和网络架构等。在这种架构能力下:A 数据中心的资源被异步或同步的备份到灾备中心,在灾备中心可以随时发起演练操作(由于云采用 SDN 架构,因此除了虚拟机和虚拟硬盘被快速模拟之外,网络配置和 IP 等也可如此,真正模拟全生产环境)从而做到有备无患。

 跨数据中心云资源灾备

07 提升“云外资产”可靠性

正如 gartner 所说:“云计算将成为未来业务的基础平台”,而如果企业建设好的基础平台,只能服务云内的虚拟化资源,那只能说它只发挥了一半功效。

众所周知,传统企业长期的 IT 建设道路中有大量的遗留应用,而这些应用有些不得不、有些则必须运行在物理设备中;前者可能是年代太久,开发商已经不提供支持,而企业自己不敢轻举妄动;后者则对硬件有特殊要求,如加密卡、行业软件的硬件绑定等。

而实际上云平台的一个重要作用,是能力的开放。如果可以将云平台中可靠的计算、存储、网络能力通过 API 或其他方式直接提供给物理机设备中的应用直接使用,那么将进一步提升应用的健壮性。而这里面存储能力的开放往往是首当其冲的,因为分布式存储池的建设,第一次使得企业有了更大的存储容量和更低的成本(以前的 SAN 更贵、维护成本更高),正好可以建设企业的【综合云存储服务中心】。

与以往仅保存数据库和文档等两类数据的存储定位不同,随着业务应用系统的丰富,而产生了更多诸如 NoSQL 数据库、内存数据库、影音、图片、文档等结构/非结构化数据。因为对存储性能、业务的需求各不相同,如果能针对不同应用提供更加符合业务化的存储服务,势必能够进一步加速业务应用的处理效力。

同时通过在云平台自身提供,或通过 IaaS+(自动化软件交付)模式整合客户所熟知的第三方提软件,提供针对物理设备的备份、CDP、磁带库等服务内容,也可以进一步充分使用存储能力,释放。

关于【综合云存储服务中心】的建议服务如下:

对象云存储服务(少许改造应用)

传统应用可以通过 API 将附件数据(如文档、视频、图片等)保存在云存储中,并且是高可用、可加密以及支持热扩容。而付出的成本仅仅是改造附件上传和下载处的 UI 控件逻辑。

关系数据库服务 RDS(不改造应用)

传统应用直接通过数据库的 API 链接到云中创建好的数据库实例(虚拟机)。常见的 RDS 服务包括 mysql、sqlserver、oracle 等。

NoSQL 服务(需要大改应用)

传统应用通过改造,将分析性(如 BI、数据挖掘)和事务性(如交易类)的存储分离后,将事务性数据继续保留在 RDS 中,而将非结构化数据保存在云中的 NoSQL 数据库中,而云平台负责 NoSQL 数据库的安装、扩容和后续备份维护。常见的 NoSQL 包括 Hive、Hbase 等。

内存数据库服务(需要中量改造应用)

传统应用通过改造,将关系数据库常见的查询数据放入内存中,实现快速检索。而应用需要引入内存数据库驱动程序来实现这一效果。常见的内存数据库包括 Redis、memcache 等。

流媒体存储服务(需要少量改造应用)

传统媒体类应用将转码和保存的工作剥离出来,通过 API 使用云中的这一服务,专注上层的媒资管理、媒资处理、易用性等工作。而云平台负责底层的转码、流媒体服务器、视频存储等能力,且支持弹性资源配置和容量扩展。

虚拟带库服务(无需改造应用)

传统备份软件可以直接使用虚拟带库协议,将应用或服务器的数据备份到云存储中,并且无需承担昂贵的额外硬件成本。

存储网关(无需改造应用)

传统软件可以直接使用传统协议,如 NFS、iscis、samba 等协议链接到存储网关,并且通过异步定时或实时的方式将数据放入其中。本质是将分布式存储之上叠加通用访问协议,其定位是一般是通用备份存储。

CDP 服务(无需改造应用)

传统各个厂商的 CDP 软件可以通过 IaaS+(应用自动化交付)的方式在云中部署,而这些软件后台可以直接使用云存储的大容量服务。企业用户无需改变自己的备份习惯。常见的 CDP 厂商如:赛门铁克、爱数、英方、数腾等。

网盘服务(无需改造应用)

员工的工作数据可以统一被企业管理,并且按需备份和授权。避免使用公共网盘带来的数据泄露和运营商关停的尴尬。

企业综合云存储服务中心模式

08 收益总结

通过上述需求分析可以看到,生产运行场景相对于开发测试场景,更注重安全、可用、可靠和扩展性。而云平台正是需要在这些方面尽其所能做到更好,才能满足企业近乎苛刻的要求,而这一切在得到实施之后,对于企业来讲不仅仅获得了提升业务 99.999999%的可用性这个看得见的回报。更重要的是,随着各种云服务需求被不断被提出和实施,企业在使用云计算的思路已经从 IT 运维向 IT 运营——这个终极目标迈进。而实际上对于 IT 运营层面的需求 KPI 和云需求,却又是另外一番光景了。


-第三部(下)完-