注:文中的很多思想来自于Alan Huang,特此鸣谢。
Why Cloud?
传统
在刚工作那会,无论是自己所在公司还是国内的企业都还是在上各种业务系统阶段,从最基础的数据库,中间件,活动目录,邮件系统到大一些公司上的SAP,CRM系统,可以说10-20年前中国的企业对于IT就是在补课,就是一个从无到有的过程。那个时候的建设跟国家做基础建设一样,一般是缺什么补什么,还谈不上什么系统化。
但是这样的大上、特上其实也留下了那个时代的特征,就是系统种类五花八门,从服务器小机(一般企业是不会有大机这种东西的),Sun,Unix到各种硬件规格,回头来看那真是一地鸡毛。关键是留下了一个个的业务子系统,俗称:囱井式系统,或者叫IT信息孤岛。
所以从IT厂商到用户端都在反思,是否有一个平台能整合各个业务系统。随着以X86为代表的软、硬件厂商的雄起,可以说过去10年我们进入了虚拟化的时代。
虚拟化时代
相对应传统时代,大概10年前兴起的虚拟化技术以及过去5年逐步被用户认可的桌面虚拟化技术,大家会发现其对于企业业务系统的提供了超强的性能以及业务使用的便利性。
利用虚拟化的技术,大量过去分散的业务系统被逐步的集中化和标准化,无论是最开始的服务器+虚拟化品牌+共享存储,还是最近几年兴起的X86服务器+服务器虚拟化+分布式存储的方式,都为所有的业务系统的大集中打开了坚实的基础。
在虚拟化时代,在帮助用户的业务系统进行大集中的同时,还帮助用户解决了另外的一个问题,内部业务系统跨互联网的访问。
在过去10年,互联网切实的改变了我们每个人,人们的工作、生活甚至于社交都发生了急剧的变化。大家所使用的电脑也就从最初的台式PC延伸出笔记本,乔帮主发明的iPad,创造的iPhone引领了一个时代,Android则为移动设备进入千家万户做出了巨大的贡献。
而设备的多样性对于业务端的冲击是巨大的,10年前的IT应用软件都明显的C/S化,5年前的B/S化,而如今都直接移动化,SAAS化。但对于一家企业来说,所有的管理者都希望自己的业务系统能真正B/S化,能像SAAS一样在自己规定的边界中自由的不受约束的使用。但是现实是企业很多仍然存在并大量使用的C/S,B/S并不能一蹴而就的把所有的业务软件SAAS化或者移动化,那么产生的问题就在于如何兼容并蓄,即对于如雨后春笋版出现的新型应用进行支持,又能对于现有的架构在不进行伤筋动骨的改变的情况下,就能有一个极佳的支持,适应新时代的发展。
通过在业务系统构建一个应用边界,部署一个应用客户端的中间层,而不再将这些客户端部署在用户的客户端上,让用户通过一个Agent作为代理访问这个中间层,进而通过中间层访问各个应用系统。
虽然看起来我们增加了一个中间层,但是由于应用软件的客户端更靠近应用系统,同时利用高效的传输协议以及Agent匹配任意客户端的特点,让那些原本只能在企业内部流转的业务系统可以快速的交付至互联网,不受时间、空间的限制。这个体验可比传统的VPN拨号进入要好的多太多。
除此之外保证了用户体验的一致性,想想看很多传统的应用,由于本身不是为互联网设计,即使B/S由于历史原因会有插件要求或者浏览器版本要求,在如此多样性的网络和终端设备条件下,要进行适配是极为困难的一条道路。而使用这种应用虚拟化或者说统一的应用交付平台,用户完全可以无缝的使用现有的应用客户端,无论C/S,B/S架构都是后台的统一架构来保证,解决后台平台变化影响用户使用的风险。毕竟相对于业务系统来说,IT系统的灵活性要高于业务系统的变化。IT服务于业务可不是随便说说的哦。
但是随着企业业务的更快速发展,对于IT系统的灵活适配要求越来越高,虚拟化技术也开始来到了自己的瓶颈期遇到了新的挑战,那就是企业对于IT的基础架构建设要求出现在不增加人员的情况下要迎合甚至推进业务快速迭代的变化。这就对于IT部门提出了更高的要求,需要更关注业务而减少对于IT基础架构的关注。
即要实现IT基础架构的进一步增强,又要维持甚至减少对于IT基础架构运维人员,所以虚拟化这种以完全自建数据中心的,各个组件分门别类进行支持的方式将不再适应时代的需求。
所以对于企业来说,需要一种更强大、而灵活的平台来为企业提供更加强壮、即弹性又标准化的IT基础架构平台。云计算则进入了大家的眼帘,其被奉为未来IT基础建设的基石。
云时代
到了今时今日,无论从IT各大厂商还是最终用户,大家都认可了云计算这个概念,都会认为未来的IT是构建在以云计算为基础的这种新的IT架构之下。但是云计算只是一个统称,其形态上被分为:
· 公有云
· 私有云
· 混合云
从业态上来说会分出:
· IAAS
· PAAS
· SAAS
其中IAAS层面,在公有云层面国外品牌有AWS,Azure,国内的阿里云、腾讯云,青云、有云等。私有IAAS供应商就更多了,从华为、华三、青云、思科、电信云等等不一而足。
而SAAS相对来说就明显的带有行业特征,比如最知名的当属Salesforce,以及最近几年在外企中开始流行的workday,Concur等等,这些都是把传统的CRM,HR系统等等直接SAAS化。
PAAS可以简单来说是在IAAS的基建到SAAS的中间层,在一套构建好的平台上快速的帮助新型业务系统直接在云平台上进行构建,进而快速帮助业务系统上线。
其实从传统企业来说,几乎所有的企业主都希望自己的IT系统能够云化,业务软件能够SAAS化。为什么呢?
首先得从云的优势说起,相对于虚拟化时代,用户自行建立数据中心为主,通过以虚拟化平台为中心,服务器、存储、网络交换为外延的这种模式不同,在云时代这些在虚拟化时代都需要IT人员投入大量精力的“底层”技术都已经完成了标准化的建设,今天无论是公有云、私有云厂商在交付时都会将所有这些单元都底层化、标准化,意即让IT人员无需再关注这些内容,更多的精力关注上层的应用和业务单元。
同时云时代,特别是公有云带来的一些技术延展可以说是虚拟化时代无法比拟的,比如超大的带宽保证以及按需使用、按量计费、版本永远最新、超简易的DR方案(相比现在的企业如果想给数据中心做一个DR方案,成本、技术实现都是超级痛苦的一件事情)而私有云又以自身超强的定制,可控性强受到大量用户特别是国内中、大型用户的青睐。
所以大家都有一个共识,未来的云一定会逐步过渡到混合云这种可以上接公有云充分利用公有云这种超强扩张性、弹性使用、服务演化快,下接私有云,平台、核心、数据自主可控的这样一种模式。
那么在公有云和私有云直接就需要一个管道来平衡企业的这部分需求。就如同在IAAS和SAAS之间,需要一个PAAS来做这种管道一样。
除此之外,我们还需要看到,相比过去,现在的企业其业务拓展速度会更加快速,新开门店、新建厂房等等无不从过去按年,现在开始按月甚至天来跟进。同时各家企业充分利用目前国内各种完备的基础设置实现快速的业务拓展,而同时却对于数据集中和实时性提出了更高的要求。相比过去很多业务端允许数据隔夜甚至晚一两天上传、同步的情形不同,今天的业务单元都需要实时的把数据通过应用系统能够第一时间的上传到总部数据中心,而且可能是唯一的数据中心,因为海量的数据分散在不同数据中心那么数据同步就需要解决的一个大问题。(0库存、大数据分析、精准投递都需要依赖最及时、最准确的业务数据的支撑,最近火爆的盒马生鲜就是最好这种业态的展现)
所以未来的企业业态会出现数据中心大集中而数量缩减、但规模日趋大型化集中化的趋势,而用户即最终端(物联网的终端也将是未来重要的一类端)将更为分散的情况出现。因为数据只有集中了才对于后续的大数据分析有帮助,而业务单元只有更靠近用户端才能获取最精准的数据。这集中与分散之间的平衡是所有现在企业都在思考和必须需要去考虑的问题。
Why Citrix
那么从细分化的IT业务单元角度来看,很多企业都希望自己的应用能够云化,但是就如紫禁城不是一天就能建立起来的一样,很多工作都需要一点一滴的去完成与实现。
第一阶段:应用架构的改造
很多企业主希望自己的业务系统能够上云,或者通俗点说,能够脱离应用系统对于时间、空间的限制,让业务人员能够利用现有的各种设备、网络、办公点及时访问业务系统还是得从现存的各种应用系统特性说起。
在企业中目前一般存在如下几种应用类型:
· C/S:Client to Server
· B/S:Browser to Server
· Mobile App
相对而言,传统企业中前两者相对来说是保留量最大,使用人数、频次最高的应用类型,简单来说我们平时用的各种Office、SAP等软件基本都是C/S类型应用,而像是OA、CRM这类型应用一般以B/S架构多。
但是这两种类型的应用上云都有自身上云极大的限制,以C/S为例,如果到今天还没有云化,多半是因为:
1. 应用组件复杂,例如:SAP,MES这类软件,本身就是各种模块,组件及其复杂,而且多年下来不断的定制开发,其本身已经从一个应用程序演化为了一个应用系统。以SAP为例,里面的MM/FI各种模块之庞大与复杂,没有企业能够直接把其云化。
2. 应用太重,例如:设计类应用,这类型的应用本身不仅需要CPU/RAM等资源之外,还需要GPU资源进行,所以可以看到当今世界,以NV等为代表显卡厂商和以AutoDesk、Dassault为代表的厂商在尝试实现各种公有云的应用服务,但受到各种客观技术的限制导致能接受度不高。
3. 网络限制,上云固然带来移动化、不受终端的限制等诸多,但是如果网络条件不好,或者分支链路的不稳定无法实现应用永远实时在线,那么上云还不如本地来的稳定可靠,这也是很多用户的一大顾虑
4. 中国特色,一些仍然在使用的应用程序的开发商都已经不知所踪,业务部门缺仍然在使用,是动也动不得,移也移不走,只能继续将就着使用。
另外不少用户也会说我的OA已经都B/S化了,这个上云应该很简单吧。其实也没那么容易,君不见很多企业内的OA都会要求固定的浏览器型号和版本,你要真想弄个手机或者别浏览器去访问,会发现要么格式不对导致很多表单无法交互。其实这都是因为很多B/S类型应用都是基于特定版本的浏览器来定制的,比如:IE8,而不是按照现在新的HTTP/2.0这种规范来设计,所以我称这类型的B/S是披着B/S外衣的C/S应用J。
除此之外,随着企业对于信息安全越来越看重视,这些传统应用如何能纳入企业统一的安全管理框架就变成了一个现实性的问题。
所以我们提出是否可以进行一个简单的架构改造,在不对现有系统进行伤筋动骨的改动的情况下,将这样一些应用进行上收到数据中心,带来应用、数据的大集中。
除此之外,考虑到对分支机构这种远端业务单元的支持,我们可以通过多链路的聚合的方式,把多条链路捆绑、打包成一条更为宽广而且能够保证应用流在其中不会受到链路故障导致的业务中断。
当完成了这些业务系统的初步改造之后我们会看到:
1. 由于业务端都大规模的集中化,首先保证了数据的实时性,不用再担心这些交互是有延迟。
2. 通过多链路的融合,在不过多增加当前费用的情况下,提升了总体传输带宽,保证了分支局点和企业数据中心的数据互通互访,更重要的是保证两地之间业务传输的不中断。
第二阶段:内外网的互联互通
随着移动互联的兴起,企业内部的应用也需要面向互联网用户,普通做法不外乎:
1. 通过VPN方式,让外网用户拨号进入公司内网进行访问进而访问相关应用。
2. 如果是一些B/S类型应用,要么就继续使用VPN,要么就将站点直接发布,使得用户进行访问。
其实相对来说这两种方式都会有那么些不尽如人意:
1. 使用VPN方式,首先需要进行一次拨号操作,然后让客户端访问到企业私有网内部,在对所需要的应用进行访问。那么这个过程中,客户端完整的获取到了一个企业内网IP地址,除此之外,由于是整个系统进行企业系统内部,其网络传输需求量也会非常高。即使其实有两个数据中心入口,但是通常情况下也只能通过指定的入口进行访问,很难动态选择最优的链路,所以经常会遇到关键时刻,应用打不开、打开慢等情况。(月末、季度末财务人员报账时候的痛苦,谁用谁知道)
2. 对于普通的B/S类应用来说,作为企业业务系统还是尽可能放在内网访问较好,因为很多传统B/S应用都是没有使用最新的HTTP/2的标准进行开发,而使用老旧的规范,对于新型浏览器无法支持,也没有对网页进行SSL加密处理,几乎所有的传输都是明文处理,数据传输安全令人担忧。而如果对网站进行加密则会大幅度增加web服务器的CPU压力,导致用户体验下降。所以少有企业内部业务系统系统直接发布在公网上。
所以利用已经完成了改造的应用交付架构,只需要在网络的边界上增加一个统一接入层,则可以让用户非常容易的在不需要VPN拨号的情况下直接完成一个、甚至多个应用的访问,而且同时终端仍然静静的跑在企业外部的互联网上,其只有所需要应用而不是整个系统与后端的信息交互,对于网络压力将会大幅度的降低。
如果用户本身会有多个数据中心或者多链路的情况,通过多链路的自主选择,用户终端会自动选择一个最近的一个或者最佳的链路进行访问,提升用户的使用感受。
与此同时,基于互联网传输的安全性,防止有心之人做不义之事,则对所有的传输进行一层SSL加密,保证数据在互联网上都能安全的传输在用户端和数据中心。并且由于数据都是在数据中心内交换,在用户端其实没有真实数据的交换,其安全保障性值得期待。(没有数据落在终端)
经此一役,我们会发现无论是那些适合上云的B/S应用,还是不那么适合上云的C/S应用都已经被我们改造的适合在云上跑来跑去。当然这还不是终点,如果2~3年前做成这样应该是没问题的,但是今时今日,无论是用户还是各大云计算供应商对于云都进入了更深刻的理解阶段。
第三阶段:私有云
进入云时代,用户对于IT系统的要求越来越高,除了常见的C/S,B/S应用程序上云,那些重载的、高负载的业务软件,如设计部门或研究院的BIM这种协同设计开发平台,工业企业生产单位的PLM这种产品生命周期管理平台,都期望能够上云。这些业务系统无一不是企业中业务端最为核心的部分,同时对于各种资源的需求相比一般的C/S,B/S应用成几何倍数的增加。所以只要通过大集中,资源充足的云平台这种方式,我们才能将这些重载应用能够支撑的起来这样的重载业务系统。
除此之外,作为重载的核心业务系统,在企业类别是有着极强的业务属性,从表象来说就是有极强的业务流程化要求,所以在私有云的建设在进行构建时,除了构建一套标准的平台的时候,还要做以下内容的考量:
1. 整个平台需要对于3D有很强的兼容和支持能力,包括NVIDIA, AMD等主流显卡要有很强的支持能力,
2. 平台有丰富的API接口,要能下接服务器、存储、网络,上接各种应用服务,同时对于无论是OpenStack还是青云等云平台都能无缝对接或者对接不那么负责,
3. 需要有很强定制化能力,能够基于用户的需求,整合包括云计算、大数据、应用系统、流程在内的各种层级业务面整合。
所以到了私有云阶段,即需要对于平台技术有很强的整合要求,还有就是通过ISV或者开发部门,充分利用云技术将原先基于人治的流程体系,变成了按照企业业务逻辑来定制的各种业务流程。所以说真正的私有云其实是每个客户自己的业务云,可能是研发云、设计云、财务云、办公云等等不一而足。
第四阶段:混合云
相对于部分企业核心业务系统的只能服务于企业内部,随着互联网和新的经济形态的出现,很多原来只能给予企业内部使用的业务系统开始要对外开始服务,这种服务却不仅限于一些通过互联网接入即可,而且要符合整个业务单元的快速扩展以及严重的不确定性。而这个时候公有云这种已经把大量基础设置都已经构建好的平台,无论是在计算资源还是在网络吞吐弹性上,都拥有传统IDC,企业自建数据中心甚至于私有云不能够比拟的优势。
所以对于那些业务单元需要无限延伸至用户最终端而且无法确认最终终端使用地点,后端业务系统仍然只能运行在自有数据中心的系统,混合云则是其最佳的方案。
小结:
可以看到在云时代,随着新业务快速发展,大量传统的业务系统、应用需要拥有新时代的特征,所以云转型将是一个重要的话题存在,而要能实现如上这种快速的业务上云,其整体上需要拥有如下一些特点:
简化交付:能够快速的将现有业务系统交付在云平台直至互联网终端。(大道至简)
安全控制:业务系统从数据中心延展到企业边界甚至于互联网,信息安全、数据安全、访问控制是不能规避的问题,整个平台需要有极强的端到端的控制和数据传输保护的能力,而且对于用户的最终体验几乎没有影响。(一点点的隔阂,给你极致的体验与保护)
灵活易维护:对于云平台、网络、应用都有能极强的兼容性,方便整合,方便在业务系统底层发生变化时灵活到在不同的云平台、网络体系中无缝的切换。(做云就是合作,做生态)
传输效率高:随着业务系统传输到互联网上,无论在任何网络条件下,不论在任何地点,都能给予用户能按需使用到其的应用系统,最终用户的体验就靠他来保证。(天下武功唯快不破)