您现在所在的位置:博域科技>首页 > 新闻资讯

云计算下半场,运营商如何拥抱开源?

2018-04-11 12:17:45 5 Views

摘要: 云计算下半场,运营商如何拥抱开源?

  近年来,伴随云计算、SDN、NFV等技术兴起,国内外运营商都相继提出中远期网络重构的战略目标。本文的主题是对云计算资源池中相关开源技术的研究,重点围绕为什么要选择开源技术、应选择哪些开源项目、开源可能带来哪些问题这三个关键议题展开论述。

问题一:为什么要选择开源技术?

  当前,开源趋势在全球兴起,大批贡献者持续不断地对项目源码进行完善,使得很多优秀的开源项目完全可以满足电信级要求,这是运营商拥抱开源技术的必要条件。另一方面,究竟为什么要选择开源技术则是我们运营商人必须想明白的问题,以下从九个方面对这一问题进行了阐述。

  1、标准:开源基金会扮演着与传统CT领域通信标准化组织(ITU、3GPP等)类似的角色,弥补了运营商在IT领域因缺乏标准化体系造成相关系统在全局性、兼容性、开放性方面的不足。

  2、降本:开源软件应用达到一定规模后,可以大幅节约成本,成本的节约有利于利润的增长。

  3、增效:开源社区有丰富的自动化运维工具,这些工具有利于运营商向DevOps转型,显著提升运维人员的工作效率。

  4、功能:依托开源体系架构,运营商可对定制化、个性化需求进行二次开发,而封闭、商业化的产品通常只会为通用可抽象化的功能进行设计开发,且无法实现二次开发。

  5、安全:源代码开放有利于自主可控,让“黑匣子”变成“白匣子”,使用者了解内在组成,大幅提升系统安全性。

  6、创新:开源项目是创新的土壤,新特性、新功能可以快速实现,不受限于商用产品的发布周期。社区某个贡献者的好想法也有助于激活其他参与者的灵感。

  7、竞争力:有利于运营商掌握核心技术,提升企业的核心竞争力。

  8、话语权:不会被某个厂家的“一揽子”解决方案绑定,使得系统优化演进更加灵活。

  9、生态圈:开源项目有利于企业借势借力,伴随开源社区的不断发展,企业的系统也会持续优化。

问题二:应选择哪些开源项目?

  由于云计算资源池的基础是IaaS层,因此本文提及的开源项目主要以IaaS层视角展开分析。同时考虑到DevOps的重要性,会辅以部分优秀的PaaS层开源项目进行介绍。下面将分别从计算、网络、存储、云操作系统、自动化运维工具等五大维度探究运营商对云计算相关开源项目的选型问题。

1、计算:硬件、虚拟化、容器

  (1)硬件:按照人们通常的理解,开源项目都是软件相关的,然而硬件领域也不乏优秀的开源项目,例如OCP。该项目由FaceBook于2011年发起,旨在通过开源硬件驱动IT基础设施架构不断发展。历经6年多时间,OCP已有近200多家企业会员。由于构筑成本较低,去掉了很多繁琐的无用功能,OCP可以有效地提升企业数据中心的迭代速度,使软件升级更加简单,一改早期数据中心尾大不掉的形象。在国内也有个类似OCP的开源硬件项目,即天蝎计划。天蝎计划于2011年问世,百度是主要发起方之一,阿里、腾讯、联想、中国移动、中国电信等巨头陆续参与。目前已从1.0发展至3.0版本。据了解,天蝎计划已经达到OCP中关于整机柜部分的国际水准,甚至在部分设计上超越OCP相关规范。

  (2)虚拟化:这里提到的虚拟化特指X86服务器虚拟化技术。在云计算发展初期,该技术主要由VMware、Citrix等IT巨头垄断,相关产品虽然功能全面、性能不俗,但价格也十分昂贵。现如今随着开源KVM技术日趋成熟,越来越多的企业开始构建基于开源KVM技术的云资源池,以期大幅缩减虚拟化软件购置成本。KVM的全称为Kernel Virtual Machine,翻译为中文就是内核虚拟机。KVM是典型的二类虚拟机架构(从VMM所处层次可将虚拟化软件划分为一类虚拟机架构和二类虚拟机架构,一类的VMM处于硬件层之上,自身就是一个操作系统。二类的VMM处于宿主机操作系统层之上,自身可看作一个应用程序),它的宿主机操作系统涵盖CentOS、Ubuntu、Debian等多个Linux发行版。

  (3)容器:容器是轻量级的操作系统级虚拟化,可以让我们在一个资源隔离的进程中运行应用及其依赖包。在众多容器引擎技术中,Docker无疑是明星级解决方案。Docker是PAAS提供商dotCloud开源的一个基于LXC的高级容器引擎,基于go语言开发并遵从Apache2.0协议开源。

2、网络:虚拟交换机

  虚拟交换机:大部分商业虚拟化软件中都自带虚拟交换机的组件,例如VMware的vDS、vSS。但对于开源的虚拟化软件而言,其自带的网络功能通常比较简单,这就需要额外的虚拟交换机弥补这一短板问题,OVS(Open vSwitch)则是该领域最热门的开源项目。OVS是由Nicira公司使用C和Python语言开发,并遵循开源Apache2.0许可的多层虚拟交换机,其初衷是让大规模网络通过可编程实现自动化扩展。它既可以作为一个软件交换机运行在虚拟化层,也可以作为交换芯片的控制栈实现,支持多种标准管理接口和协议(NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)。它也支持多种虚拟化技术,包括KVM、Xen和VirtualBox。

3、存储:分布式存储

  云计算发展至今,可以说是一部软件定义一切(SDX)的技术发展史。从早期的X86服务器虚拟化(可以理解为软件定义计算),到软件定义网络(SDN)、软件定义存储(SDS),再到大一统的软件定义数据中心(SDDC),每种技术都曾在业界倍受关注。在这些SDX技术中,软件定义存储可以算是继软件定义计算后,最为实用的一类。

  首先,SDS与以往的存储技术相比,是一种全新的分布式架构,因此也有“分布式存储”的提法。这种“去集中化”的思想源自于谷歌等大型互联网企业,它不仅降低了IT系统的存储故障风险,同时可以大幅提升存储IOPS性能,甚至让存储容量在线扩展成为现实,以上三点都是长久以来困扰IT系统存储管理员的难题。其次,SDS完美地实现了软、硬件解耦,这点与X86服务器虚拟化类似。二者不同之处在于X86服务器虚拟化的松耦合架构带来了在线热迁移、计划内零宕机等特性,SDS的松耦合架构则使专用存储硬件演变为通用X86服务器,这大幅降低了IT系统存储设备的投资开销。目前业界最热门的开源分布式存储项目非Ceph莫属,作为一款同时支持对象、块、文件的统一存储系统,Ceph也是当前OpenStack生态系统中呼声最高的开源存储解决方案。

4、云操作系统

  近两年,各行各业基于OpenStack的云平台方案如雨后春笋般出现。OpenStack可以看作是“现行最通用的云计算标准体系架构”,它的日益成熟规范了以往云计算领域各类错综复杂的技术概念,实现了各厂家云解决方案的和谐统一。

5、自动化运维工具

  近些年业界兴起的DevOps与云计算相结合,赋予了自动化运维新的理念,出现了不少优秀的开源自动化运维工具,Ansible就是目前业界最为热门的一个。Ansible是一种模型驱动型配置管理工具,充分利用SSH技术,改善安全、简化管理。除了配置管理外,它还能够实现应用程序部署、工作流程编排和云配置自动化等功能。

问题三:开源可能带来哪些问题?

1、开源不等于免费

  开源软件为用户提供了一个免费的社区版软件,但通常情况下,它只能算是一个“半成品”,仅能满足用户最基本、最通用的功能需求,一些定制化的功能需要用户在社区版基础上二次开发。另一方面,对于软件前期的部署、中后期的运维也缺乏专业的团队支持。

2、开源阻碍技术发展

  同类型的开源软件在发展初期会充分竞争,但随着时间推移,基于“丛林法则”最终形成一家独大的格局。如果胜出的项目被少数商业公司掌控,这些企业就可以控制某一行业、某一领域的技术趋势,这与完全垄断某个市场的商业软件几乎毫无差别。

3、开源并不安全

  开源软件代码中的漏洞是开放给所有人查看的,攻击者也在其中,而大部分漏洞从发现到完全修复的耗时明显要大于恶意代码产生耗时,这就给了攻击者可乘之机。

  云计算目前仍是一种新兴的技术领域,而与此相关的开源项目也在不断成熟发展中,因此对于云计算资源池中相关开源技术的研究仍需要我们共同努力。



博域科技订阅号

博域科技服务号

上一篇: 支付宝小程序刷脸可领用营业执照

下一篇: 腾讯发布互联网+指数:全国数字经济总量已达26.7万亿元 增速超GDP