新闻中心
香港云服务器应选择哪些开源项目?
2018-04-11
阅读()
来源:互联数据

由于香港云服务器资源池的基础是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、云操作系统

在云计算发展初期,有关云操作系统的市场争夺从未停歇过。除了VMware、Citrix、微软推出的商业云管理平台软件外,开源项目也是遍地开花,包括CloudStack、OpenStack、Eucalyptus、OpenNebula等多个平台。从现阶段的发展形势来看,OpenStack基本已成为云操作系统的不二选择。师承亚马逊AWS的OpenStack自2010年10月第一版(Austin)到最新版(Pike),已历经16个版本,从最初的Nova、Swift两大模块到如今大大小小上百个模块,被认为是仅次于Linux的第二大开源社区项目。近两年,各行各业基于OpenStack的云平台方案如雨后春笋般出现,而真正能给OpenStack一个准确定义的人却很少。有人认为它是云管理平台,有人认为它是云计算平台,还有人把它与VMware虚拟化相对应,正所谓“一千个人眼里有一千个哈姆雷特”,你把它看作什么只能表示你关注它哪方面,并不表示它就是什么。笔者倾向于将其看作是“现行最通用的云计算标准体系架构”,它的日益成熟规范了以往云计算领域各类错综复杂的技术概念,实现了各厂家云解决方案的和谐统一。可别小看这一点,毕竟能让全世界不同语言(各类IT产品接口)的国家(各IT厂家)搁置争议、沟通合作(统一适配)的组织也就联合国了。从这点来看,OpenStack就是云计算世界的“联合国”角色。


5、自动化运维工具

严格意义上说,自动化运维工具不能算是云计算特有的,在传统IT架构下也有自动化运维的需求与实现。只不过近些年业界兴起的DevOps与云计算相结合,重新赋予了自动化运维新的理念,在此背景下,也出现了不少优秀的开源自动化运维工具,Ansible就是目前业界最为热门的一个。Ansible是一种模型驱动型配置管理工具,充分利用SSH技术,改善安全、简化管理。除了配置管理外,它还能够实现应用程序部署(甚至多层部署)、工作流程编排和云配置自动化等功能。Ansible基于五大设计原则,包括易于使用(不需要编写脚本或自定义代码)、易于掌握(对管理员和开发者来说都是如此)、全面的自动化(让你可以做到你环境中的几乎一切都实现自动化)、高效率(因为它在OpenSSH上运行,因而不依赖内存或处理器资源),以及安全性(它天生来得更安全,因为不需要代理、额外端口或根级守护程序)。与其他许多开源项目一样,Ansible也有一款收费产品,使用一种名为Ansible Tower的Web用户界面。

相关阅读