12月10日下午,2015中国存储峰会在北京举行。在“云计算与业务连续性分论坛”,Veritas 资深首席架构师黄昆发表了“打造面向服务连续性的混合云平台”的主题演讲。
以下是演讲实录。
黄昆:大家好,我是来自Veritas的黄昆。
Veritas一直关注企业市场,在企业市场,大家最关注的就是说私有云以及如何把私有云和公有云搭在一起的混合云。
企业市场IT规模并不小,如果算整个计算能力,或者一些处理能力,包括数据容量的话,四大行,比如说金融企业,或者电信企业,每年的服务器以及存储的采购量,可能是BAT的好几倍。企业把IT系统作为支撑工具。企业市场跟互联网市场最大的不同,互联网通过IT能力挣钱,而企业有自己挣钱的业务,不是用IT能力挣钱,对企业来说,更多的是支撑,企业最关注的就是业务的连续性。一旦丧失了支撑的能力,业务就不能正常开展了,损失是巨大的。
我的议题分4个部分:企业数据中心在私有云和混合云的情况下发展趋势到底是什么样的?国资委旗下前300个企业,是怎么建数据中心的,他们怎么考虑容灾的,在这种情况下,业务连续性需要什么样的技术来满足。对企业来说,最大的挑战就是业务连续性要求更高了。
Veritas 资深首席架构师黄昆。
其实2010年之前,大量的企业有它的核心业务,并不完全由IT支撑,比如说据我所知保险就不是由IT支撑的,是靠保单做的。随着IT和信息的进步,很多东西都往上走,需要IT支撑。企业已经有offline做的很好,缺的是online。不管是电信还是金融。
举一个例子,移动的一个中等规模或者中等偏下省,一个月需要处理接近500亿笔交易,事实上就是这样的。
比如说像流量计费4G的业务,大家使用手机的时候,移动每隔一分钟或者隔30秒计一次费,发一条微信或者聊天的话可能产生五六笔交易。看一篇长微博需要17笔交易。
现在大银行是每天计息的,因为资金流转速度快,每天计息,精度高,银行后台系统的处理能力要提高20多倍。
传统企业对IT的需求能力,有的时候超过人的想象。IT系统的连续性要求。要求更高,但问题是企业还面临着一个冲突,企业架构在发生剧烈的变化,要求性能高,大规模,连续性还在提升。任何一个小BUG导致停机后,所有人都在指责。
IT规模不够大的时候,大部分企业一个数据中心就够了,如果为这一个数据中心提高可靠性的话,异地再建一个,两地三中心,在同城建一个接近1:1的。从2005年开始,各个大型企业都在这么干,完全是1:1的,或者1:3的去建,两地三中心就是1:3。
由于规模越来越大,一个数据中心扛不住企业的业务量,就像我说的,如果你算一个月几百亿笔交易,一个数据中心扛不住,楼都塞满了,没有地方放机器了,就需要多个数据中心。
数据中心面临分散,浙江移动有6个数据中心,广东移动有3个省的数据中心,然后再加每3个省的数据中心挂6-7个分数据中心,加起来一个省可能是二三十个数据中心,企业的业务横跨所有的数据中心,每个数据中心都要承担企业一部分的业务,这是企业面临的挑战。
企业的IT不能很自主设计IT架构的原因在于,传统企业有自己的一套业务流程,这个业务流程最大的问题都涉及到闭环,甚至没有一个人搞IT的,产生的问题是依赖。
互联网企业,一个高并发,几万个应用,彼此之间没有太强的依赖性。企业的数据中心里面的各个模块之间,依赖性是非常强的,典型的是三层的,蜘蛛网式的,把蜘蛛网撑到多个数据中心,就有点麻烦了。容灾或者业务持续性,或者故障发生的时候,要想到这个站点和业务其他业务系统的联系。
企业建了大量的私有云,中国移动建十几个基地,中国电信业建十几个基地,原来在各个分省之间的业务系统,改用一个有规模效益的巨大的数据中心,将企业原来各个部门的IT资源和交易记录全部搬过来,这时候就变成一个资源池了,承载的是各种各样的业务系统,比如说IAAS,跟自己企业内部的数据中心又存在依赖的关系。
很多现在大型企业,受政策的影响,很多东西要往云上放,很多轻量级的应用,或者类似发布这样的东西都往阿里云签,阿里云还要和各个政府谈,要把政务系统或者各种各样的系统往阿里云上迁,企业要把其他的东西迁到阿里云上。而原有的数据中心,跟他们自己资源池的关系和公共云的关系,是很复杂的。
复杂的情况有几点。
一是当业务出了问题以后,怎么检查?你的选择很多。我的模块可能放在A数据中心,B数据中心,资源池还有一块,它们三个组成一个业务组,业务出现问题了,检查起来就很复杂了。现在一个业务底下支撑可能有不同的支撑组管理,这个时候我要恢复它的时候就要靠流程驱动了,有的时候会造成很多麻烦,服务的检查是很麻烦的。
第二个是风险。原来企业做容灾或者考虑业务一致性的时候,首先有一个BCP的东西,这个跟IT没有任何关系,是讲企业依赖的东西受到危险的时候,哪些业务有风险,然后怎么满足。考虑最大的问题就是地震,数据没了,怎么检查它。现在全部分散的话,有可能资源池出问题,业务受影响,公有云出问题受影响,自己的系统出问题业务受影响。这时候很难分析出来。
一个大型能源企业做了私有云以后,是两地三中心加一个私有云的系统,会涉及到很多网络或者什么样的东西,大家仔细想一下,把迁到云以后会有什么样的风险很难说,也不可能用以前很简单的思路,觉得有风险就再建一套备用。
要分析私有云和公有云内部有什么风险,这个难度就太大了,因为这是分散的主体。
最大的问题是业务的可视性以及风险的分析和服务的检查。
云计算和业务连续性,我个人认为有以下几点值得注意。
一是基础架构和数据。只要是支撑系统,数据远比其他的东西更重要。数据是和消费对象发生交易,交易是唯一记录,这就是数据如此之重要的也原因,因为它记录着跟用户发生的事情。
原来数据很简单,存储阵列维持业务的高可用,机器都宕了无所谓,因为有备份,有容灾,数据复制了三份(同城复制一份,异地复制一份),通过种种方式集中起来,用比较简单的方式做加工。但是现在虚拟化了,软件定义了。
有用户说,数据正在像癌症一样在整个数据中心扩散,原来是一个点,现在是无数个点,而且原来访问数据是比较简单的,就是读盘。现在访问数据的方式不再是读盘。企业在采购设备的时候,厂商把可靠性的故事说圆了就认为是可靠的。但是如果不可靠,该会怎么办呢?不知道怎么办。
在应用和业务的方面,面对开源和新型的应用,突然冒出上百种选择,各种选择有它的好处和缺点。
以前企业招标的时候,对需要采购的技术需要对应有一个标的,产品有很多功能,在市场上可以找到三四个差不多的供应商。现在做高可用,或者做各种分析,对底层依赖不一样,这最麻烦的事。
还有分布式的设计,分布式自称是可以高可用的,但企业不是这么想这个事情的。如果系统不可用了怎么办。企业想为什么要做容灾,哪一天你这个东西不能用的时候怎么办?容灾本质上就是干这件事的。
分布式架构1200个节点,构成一个Hadoop的系统。分布式有分布式的好处,但是分布式其实是可靠性架构设计的灾难。如果有一天不能用怎么办?这是很严重的问题。
第三方面就是企业自己内部做Iaas,会发现Iaas本身没有容灾架构。原来做Oracle的时候可以做容灾架构。IaaS各个模块有容灾能力,我选择不同的IaaS来做的话,容灾方案就不一样了,模块选择不一样,容灾方案也不一样。
另外,外部云,云的灾备怎么办?阿里云是国内做的最好的了,阿里云宕机怎么办?相当于整个系统包给别人以后,变成一个黑盒子了,怎么把数据接回来?
我个人认为,技术的进步虽然带来了挑战,但是事实上也是一种提升,或者是一种机会。
原来的企业架构多么成熟,或者原来的容灾架构多么简单,多好设计,简单带来的问题是成本,的确有一个很成熟的可以遵循,但是如果全部做完以后,你发现你赚的钱全部给Oracle了,或者全部给IBM、EMC了。
最早的时候,江苏移动做容灾,容灾最后总的数据量,印象中是实际生产数据量的7倍,这就是做传统做法需要面临的代价。很多企业做容灾,针对薄弱环节做补充。有了云计算、有了IaaS这样的东西,干的就是不停的封装。原来的业务系统,可能完全是在磁盘阵列这块,但是当有各种各样的技术以后,可以在不同的层面进行封装。建一个容灾系统成本可能比以前更低,因为IT资源的成本,封装的调度更加容易。所以只要能够弄清楚商务和IT映射承载之间的关系弄清楚,的成本是很低的。
以前做容灾,关注的都是各种各样的复制、冗余,关注的是产品点的层面,在新的形式下做容灾,要重新改变一下视角。从管理、协调,然后强调保护。最早的时候做容灾,强调的就是保护。因为数据就放在那一个点上,所以只需要做好保护就可以了。现在我们做容灾还要做协调。
什么是业务连续性?业务连续性在传统的形式下很简单,将承载平台再复制一遍,成本高。但很难把一个平台再复制一遍。
第一保护层次,APP可能有多的级别,发生在不同的站点很复杂,基础平台保护也很很难,原来只是一台主机,保护很简单,最原始的保护是做一个冷备,这个机器出问题了就把那个机器提起来,也可以热备也可以远程的。
现在虚拟化的平台,因为封装层面不一样,把它保护起来就用别的方法。但是可以看到原来的保护手段成本很高,新的保护手段,成本是原来的几分之一,甚至十分之一。
传统容灾关注哪几件事?第一,系统是不是可靠,以及构成它的基本元素,第二,跟系统相关的业务数据有没有两份或者多份。第三是我的性能怎么样。
为了保证系统的可靠性,我们备份做数据,为了保证性能,我们预留50%的处理能力。
企业里大部分的主机运行超过60%就要报警,互联网企业说超过90%不可能,一般就是30%,超过30%的压力,系统管理员就坐不住了。
混合的情况下应该关注什么?面对传统的要求,要有一个可预测的SLA,所谓的SLA无外乎就是接管以后的时间,数据丢失点以及性能,要靠自动化的机制,靠接口。原来没有接口可言,靠工作流,对接是人对人的,有一套规范。混合情况下,数据中心有同城和异地。这时候需要的无外乎就是几件事,一是IT能力或者IT基础,将它封装以后,需要有一个可预测,可以自动进行调动,最好简单一点。
坦率来说,在混合云情况下保持业务连续性,还处在摸着石头过河的阶段。怎么做呢?面向服务。原来面向基础架构自底向上。现在的时代再想把它做的很可靠这件事不靠谱。事实上应用高可用的需求,或者实现高可用的功能,可以包装成一种服务。在逻辑上对它进行封装,强调虚拟化和云,是在物理上进行封装,把其中的高可用或者高可靠抽出来,在逻辑上进行包装。
第一用虚拟化的技术,虚拟化有一个资源调度的接口,可以封装成回滚等,可以自动化的去做网络。原来调度的时候是一个虚拟机,如果是一个业务的话,可以把它整个包起来,然后调度成一组虚拟机,底层数据上可以用阵列或者其他的复制手段,保证数据可用就行了,技术上是可以实现的。
企业还有自己的物理环境,传统的是用cluster,cluster已经很成熟了,做一个封装,把cluster封装起来。cluster本身也有,可切回,cluster保证对应用的调度。在跨平台的时候,你就要用service做成一个组,它的高可用涉及这个组里面的每个组建。通过调度的形式进行封装,实现容灾的基本功能。
接下来简单介绍一下在这个思路下Veritas怎么做这件事。无外乎是虚拟化,跟cluster、磁盘阵列,做成组件进行封装然后内部形成service,然后对它进行调度,做discover的发现。
针对虚拟机,我们有VBS的软件,可以对多个层次的模块合在一起进行切换。我们可以把云上承载的业务系统进行细分,在这个基础上,可靠性就变成一种服务了。已有的基于地域和远程异地各种各样的复制。只要改变了这个思路,从业务的角度,或者从顶层的角度上,对它用封装的形式来做,问题其实是可以解决的,至少是可以想明白的。
我们提出了VRA,这就是在混合环境下风险的分析问题,这是我们目前具备的能力,我们可以做数据的的验证,做主机配置的验证,做cluster的验证等,几乎所有业务涵盖的IT环境。VRP可以通过API驱动,高函数可组合,是我们的系统架构。虚拟用可以用Hypervisor,也可以用物理阵列,两边有数据就可以了,上面进行封装,保留内部高能耗,基本逻辑就在于封装。
介绍一个成功案例。HP有公有云,我们跟HP合作,用户有数据中心,我们在私有云上为用户提供容灾。
如果想在新的混合环境下建立一个面向业务连续性的云,一定要有面向服务的理念,建设高可用的系统。以前希望用简单的模式来把IT系统做容灾,在新的技术冲击下,已经越来越难了,还是得通过面向业务、依赖服务的方式,通过服务的封装,把高可用作为单独的实现层次抽离出来。
这个过程是比较漫长的,但是前途还是比较光明的。谢谢大家!
(根据现场速记整理,未经本人审定)