点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文干货|云中漫步-浅谈云计算

本文包括以下六个部分,对几个问题将逐一解答:

1、云化和虚拟化是一回事吗?

2、虚拟化是OpenStack实现的?

3、NFV/SDN在5G中水火不容?

4、CDN的云化之路在何方?

5、结束语:云计算的本质;

6、题外话:IT的四大方向;

 

 开篇引题

从9月份测试CDN的Cache云化版本开始,逐步接触到TECS/MANO等公司云化的产品,进而了解到虚拟化/云计算等像浩瀚的海洋似的博大精深,而现在的我只不过是刚刚走到海滩边上的探索者,对云的理解似懂非懂;现在让我这个菜鸟来写云化的文章,实属赶鸭子上架,只好勉为其难,把我学习过程中遇到的理解误区及一些积累等班门弄斧一下,期望能够起到抛砖引玉的作用。

 

 首先,聊聊云化和虚拟化

我想很多人应该和我刚开始学习时有一样的误区,把两者理解成“孪生兄弟”,难以辨别;其实不然,两个虽有“血缘”,但是却类似“子集”的关系(关于他们的定义,度娘里有很多介绍,这里就不再赘述了)。

      虚拟化是一种技术,它用来把硬件设备中的计算、存储、网络等虚拟化,目的是使软件和硬件解耦;常用的技术比如KVM、XEN和VMware等等。

      而云计算是种服务模式,可以从虚拟化的资源池中给用户提供各种网络访问的服务,服务有三种模式,分别是IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)。

      这样解释仍然比较拗口,有个比喻能够方便理解虚拟化和云计算的三类服务模式:古代人造房子,可能很大的建筑物里面只有一个房间,当把很大的空间隔成一个个小房间的时候,这时,虚拟化便出现了,虚拟化的技术就是把大房间隔成很多小房间的技术;此时,如果把这些房间用来提供服务的话,那么云计算就随之露面了,具体是以什么面目示人,就看接下来是拿什么来给“租户”服务了;如果拿这个虚拟好的房间直接出租给别人使用,那么提供的是基础硬件设施的服务,我们称之为IaaS;如果把这些房间装修一番,然后再出租给别人,则提供的是装修后的类似于“带平台”的服务了,就晋升为PaaS;进一步的,如果把这些房间改造成酒店,提供的是现成的“带应用”的服务,客户不需要任何操作就可以直接享受服务,这就是服务模式的最高境界SaaS了!

      这个比方虽不是特别贴切,但是大致上反应了虚拟化和云计算的三种服务模式以及它们之间的关系;从这里也可以看出,虚拟化是实现云计算的一种技术手段,是云计算的基础。非严谨的说法也可以把云计算理解成对海量虚拟化设备的自动化管理,包括自愈和自动的弹性扩缩容等。这正所谓是“借助虚拟为基础,除却服务不是云”!

      理论需要联系实际,回到现在公司云化主要推广的TECS平台,封装了OpenStack和KVM(含QEMU,后面不再提及)的TECS平台实现了虚拟化,再加之上层MANO的管理和编排,可以实现对VNF/NS实例化的编排,对虚拟机的自愈、迁移及弹性扩缩容等等操作,合在一起就构成了云化的主体框架。


 其次,谈谈OpenStack和虚拟化

      刚刚提到了OpenStack,谈到云化或虚拟化,总是离不开OpenStack;很多人会误以为是OpenStack实现了虚拟化,其实你误会它了,它只是一个由很多组件组成的框架,来对虚拟化进行管理,真正实现虚拟化的是KVM(当然也有其他虚拟化技术,这里TECS平台使用的是这种技术),OpenStack和KVM的关系就像是前者搭了一个戏台,后者才是唱戏的角,或者两者的关系也类似于我们用于自动化测试的RF和Python的关系。

      OpenStack是一套开源组件,KVM是linux自带的内核模块,两者有机的结合在一起,组成了TECS虚拟化平台的基础,TECS是对OpenStack的二次开发,是组成云计算的虚拟化平台,是NFV架构中的底层部分。

 

 再则,侃侃NFV和SDN

      说到云化不讲NFV或SDN,就像到北京不去长城一样说不过去;其实NFV和SDN都是未来5G中的重要技术,针对两者的理解也是容易混淆的,这里重点说一下他们的区别。

      OpenStack的众多组件中有一个最复杂的组件,叫做Neutron,它是实现网络的相关功能,重点是软件交换中的二层交换,但是在未来运营商级别的5G网络中,Neutron的功能相对没有那么强大,就需要借助于SDN了。

      SDN提出的相对比较早,重点是网络设备的转发和控制分离,使控制可以自动化,并且提供了开放的接口;我们目前的数据设备都是既在上面进行命令配置,又负责数据转发和路由;说白了就是数据设备之间的信令交互和媒体流的转发都在数据设备本身上面完成。SDN的目的是把分散在各个地域的数据设备只负责数据流的处理,有一个集中的数据设备负责各种控制命令的下发;比如有边缘的数据设备E意识到它附近网络的拓扑有改动,它会通过OpenFlow协议向控制节点的数据设备C上报这一改动,控制节点C会把这个拓扑改动以流表的形式下发给相关的边缘数据设备,而不再需要各个边缘数据设备之间通过各种协议来交换传递这个改动的拓扑关系,通过这样实现了集中控制和分散转发的目的。

      NFV是运营商为了抗衡SDN提出来的,重点是软件和硬件解耦,使用通用化的硬件设备实现网络等相关功能,并能够根据实际的需要做出动态的调整。

      NFV和SDN的目的都是实现网络功能的虚拟化,但是偏重点不同,他们不是严格对立的关系,在5G中是可以有机结合在一起的;NFV偏重于对网元的虚拟化,在物理设备内部通过Open vSwitch等实现软件交换的功能;在中心机房(接入网RAN)和中心节点(核心网CN)中分别通过把专用设备通用化来改造成边缘云和核心云,NFV通过把网元设备虚拟化,形成了整个云化中的“点”;SDN则是偏重于对网络设备(数据设备)的改造,通过Overlay技术把核心云和边缘云之间进行链接起来,形成了云化中的“线”,进而组成了云计算的整个面;在NFV/SDN的基础上,还会根据对实时性、带宽和可靠性等要求的不同分割成不同的网络平面,美其名曰“网络切片”。

 

 随后,讲讲CDN的云化之路

      说了一大通,到现在还没有涉及到开头提及的CDN,那么在整个5G的大环境下,作为增值业务的CDN是要随着每个基站去部署的,这个也叫CDN下沉;在5G的高清视频等业务的触发下,需要部署很多的CDN设备来作为缓存服务器,那么就要求CDN在虚拟化的基础上轻便灵巧方便部署,自然很多人就会想到了容器化,可以借助这种微服务架构的Docker容器,后续CDN计划使用K8S来Docker化代替TECS平台,当然这是以后的事情了。


结束语,云计算的本质

      概括起来说,云计算的本质是通过网络访问以自助的方式来获取用户所需要的IT相关资源的模式,它的三个显著特征就是通过网络、自助获取和IT资源;云计算是未来5G发展中的非常重要的一环,和大数据、物联网等相辅相成;NFV/SDN是实现云计算的两大支撑技术,而云计算的基础是虚拟化,OpenStack则是实现虚拟化的开源框架。

      云计算已经参透到各种IT领域,阿里即将到来的双11、运营商很快要上马的5G以及我们常用的打车软件滴滴出行等无不有云计算来支撑,它是推动IT持续发展的幕后英雄,虽然不像苹果手机等那样为人们所直接可见,但却是润“物”细无声。所以针对我们的产品,也是需要我们主动地去拥抱云化,积极地来探索适合我们自己的云化之路。

 

 题外话,IT的四大方向

根据以上的介绍,从一个侧面可以看出未来IT发展的方向主要体现在虚拟化、开源化、自动化和微服务这四个方面:虚拟化就不用再解释了;像OpenStack、Docker和KVM等都是开源的套件或工具,现在是开源化大行其道的时代;云化中的编排、自愈和自动扩缩容等都无不体现着自动化的思想,甚至是包括现在流行的人工智能等都可以看成是自动化的广义表现形式;Docker的主要思想是把大的应用程序拆分成小的应用,5G的网络切片把整个的网络虚拟出不同的网络平面传递不同的流量,这些都是微服务架构的体现,把一个系统拆分成多个服务就好比敏捷开发中把一个需求开发切分成多个特性及用户故事,通过多个Sprint迭代来逐步实现一样,方便灵活易于测试,从这一点来看,IT中各个领域内的概念或技术的总体方向都是相通的。

      以上的点点滴滴都是汇聚了以前的理论知识和实际的测试操作,并结合自己的理解,用自己的想法和语言来表达出来的,并不是“人云亦云”;絮絮叨叨了不少,最后都“不知所云”了。由于对云计算的了解还非常浅薄,其中肯定会有偏差之处,还请各位大咖不吝指正!

干货|云中漫步-浅谈云计算

相关文章: