IT界每天都可以说是日新月异,不胜枚举的新技术和新概念如狂风暴雨般被推出,可以说是势不可挡。在大环境的影响下,新型的IT创业公司如雨后春笋般的涌现,各种新技术也在逐渐被市场接纳,如大数据、云计算、人工智能、深度学习等等。
其中云计算可谓是众多新技术和新概念的集合或者说是一种服务。它灵活的扩展性、强大的计算能力以及架构的稳定性促使很多企业改变了自身IT的发展策略,大规模的部署和使用云计算提供业务支持,降低IT整体建设成本。当然企业从传统IT模式转变为云计算模式也是IT业务需要所决定的。因为随着信息化的普及,业务形态的变化,越来越多的IT系统变得错综复杂,运维难度提高不少,亟待选择一种新型的技术或者模式进行整合再利用,既能解决资源浪费问题,又可以简化管理,实现按需供给。云计算就是这样一种技术或者说是集合,它让资源变得可控、按需分配及灵活自主,帮助企业更好的整合资源,极高的增加IT资源的利用率,整合多种系统,释放运维人员的工作量。
云计算是一股新兴的IT势力,将会随着时间的推移和技术的演变被越来越多的企业所接受,企业也会根据业务的需要将系统逐渐迁移到云平台中,从实现IT成本的降低和减少运营风险。本文主要将主要介绍一下云计算的发展史和浅谈一下流行的OpenStack云管理平台的架构设计思路。
说起云计算想必大家都很熟悉,它被视为科技界的革命性产物,极大可能的改变人们的工作方式和商业模式的运作。但是它并不是从石头缝中突然蹦出来的,而是经过了诸多技术的成熟和演变诞生的。云计算吸收了之前并行计算、分布式计算和网格计算的优势,借助虚拟化、效用计算等技术混合而成。按照资源形态来分,主要经历了以下不同的发展阶段:
云计算的概念已经由来很久了,各种版本不一。从物理上讲,就是将所有的计算资源、网络资源、存储资源及应用等资源从本地挪到互联网的一个集中区域去计算。之后通过网络进行互联,获得相关的结果。从逻辑上讲,就是改变了传统IT的服务模式,从大锅饭到按需分配的进化。就像我们用水用电一样,你不需要自己购买发电机,购买水泵,只需要通过电卡或者水卡充值购买即可,根据自己的使用需求。
简单地说云计算是一种未来引领技术发展的主要架构之一,很多的应用都基于云计算。云提供商通过云端应用提供各种多元化的服务到用户端,用户只需要使用即可,不需要额外的运维和维护成本。
总之云的最大特点就是按需汲取、随时扩展和按量计费。
云计算是个很大的概念,不同的业务场景会需要不同的云计算框架和应用。为此从业务的应用场景可分为公有云、私有云和混合云。
公有云从文字上就可以看出,云被建立在第三方的区域,而不是自己建立的。一般是由第三方机构进行建立并通过互联网提供各种各样的应用给用最终使用者。公有云厂商按照用户的需求,进行资源的分配,提供各种不同层级的服务给用户。国内类似阿里云、华为云、京东云,国外类似AWS和微软的Azure等。
私有云顾名思义,就是云平台由自己企业内部建立,不对外提供服务。所有资源自给自足,按照企业的实际情况进行弹性伸缩。私有云的初期构建成本较高,长期看是比传统IT的投资要低。从控制权上来讲,私有云较公有云具备更好的控制权。
混合云是指将公有云和私有云通过专线进行互联互通,既可以享受公有云的速度与强大的计算能力,又可以保证数据存储在企业在私有云中保证数据的安全可控。因此,混合云也是未来企业主要的服务模式和发展方向。
目前云平台主要分为两大阵营,开源系和商业系,其主要目的是管理云资源和提供云服务。两大阵营的代表产品有开源的云管平台OpenStack和商业平台领导者VMware。
VMware与OpenStack相比,是两种截然不同的设计架构和理念。无论是从设计、安装部署、功能和维护方面都有较大的差异。虚拟化领域的领导者VMware套件是以虚拟化技术为核心,通过其强悍的虚拟化能力,虚拟计算资源、网络资源和存储等资源提供灵活的资源分配能力。其ESXi是当前最流行、最稳定的虚拟机管理系统。其提供优秀的部署架构和稳定的运行平台。做为商业软件,VMware自然经过了全面的测试,并且具有单一的部署架构,简单明了。由于VMware具有健壮的架构和稳定的部署机制,成为很多高规格用户在数据中心级环境中的首选。
而OpenStack作为一个开源系统,没有任何一家单独的公司控制OpenStack的发展路线。OpenStack本身是年轻的,但是却具有巨大的市场动力,与此同时,很多大公司都在支持OpenStack的发展,例如IBM、Dell、HP等。有了如此多公司的资源投入,OpenStack的发展将是多元化的。
作为企业IT决策者,可以根据自身的实际需求和技术考量来决定使用哪一种云平台,提供适合业务发展的计算基础。
云服务的类型主要分为三种,基础设计即服务(IAAS)、平台即服务(PAAS)和软件即服务(SAAS)。为了理解,以前将使用各种服务的简称。
基础设施即服务算是整个云平台中最基础也是最重要的一块,处于PAAS层以下。用于提供各种资源给应用,比如计算资源、网络资源、存储资源和其他优化性资源,如vCDN加速、云防护等。
国内外提供这种层面的服务商很多,比如AWS、阿里等等。用户只需要安装自己的操作系统和应用即可,底层硬件无需知晓。
平台即服务包括IAAS层和基础开发环境。位于IAAS层的上方,用户无需自己安装各种软件开发环境,只需要申请相关的环境后,进行开发即可。开发环境以下的部分均由云提供商负责。使开发人员仅仅关注自己的开发上,提高了开发的效率和质量。
算是更为灵活的一种服务交付模式,用户无需投入任何的资源进行软件的开发和运营。只需要通过互联网连接到自己需要的软件即可工作。SAAS改变了很多企业的服务模式,实现了应用的灵活扩展和安全提供服务。类似Google的Gmail、微信、钉钉等,数不胜数。
由上文可知,OpenStack是开源云管平台之一,可以通过其对虚拟化资源进行调度管理,帮助企业快速实现云的建设与业务价值释放。
学习OpenStack之前大家一定要先知道什么是OpenStack。OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
OpenStack本身是一个属于IAAS层的服务,用于对基础设施的管理,如计算资源、存储资源和网络资源等。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。
OpenStack是由多个关键的组件组成,相互之间通过消息队列进行通信,当然只是其中一种,还有API等方式。多种组件相互配合,最终完成用户在OpenStack平台上的各种动作。随着时间的推移,越来越多的组件被开发用于优化OpenStack平台,完善平台功能。以下简单介绍一下几个主要的核心组件,每个组件都有个好记的代号,比如Nova、Glance、Keystone、Ceilometer、Horizon、Cinder、Swift、Heat等等,其余的组件,大家可以访问OpenStack官方进行学习。
控制节点和它的名字一样,是对其余各个类型节点的管理。主要包括管理支持服务、基础管理服务和扩展管理服务。如MySQL、消息队列,其它支持组件等。
代号为Nova,主要用于虚拟化资源的载体,提供各种虚拟机的建立。分配各种计算资源到虚拟机,如CPU、内存等。此节点相对于其他节点来说,需要更多的CPU和内存资源。
代号为Glance,主要用于提供OpenStack平台的镜像服务。负责磁盘和服务器虚拟镜像的查询、注册和传输的功能。 Glance本身其实并不存储镜像,它只是一个代理,充当镜像存储服务和其他Openstack组件之间的纽带。所有的磁盘和镜像存储在OpenStack的后端服务上,比如对象存储系统或者本地存储系统中。
代号为Cinder,主要提供OpenStack的块存储服务,为云环境提供块设备的创建、添加和卸载。Cinder目前支持多种主流的存储平台(Linux server storage ,Ceph,CloudByte,Coraid,EMC(VMAX and VNX),GlusterFS,IBM Storage(Storwize family,SAN Volume Controller,and XIV Storage System),Linux LIO,NetApp,Nexenta,Scality,SolidFire and HP(Store Virtual and StoreServ 3Par falilies)。块设备适用于对应性能要求较高的应用场景,比如数据库。 块设备的快照功能可以实现基于块存储卷的数据备份,而且也可以利用快照进行数据恢复。
代号为Neutron,主要提供OpenStack的网络服务,之前的代码为Quantum,后改名为Neutron。Neutron提供云计算环境下的虚拟网络功能,目的是为OpenStack云更灵活地划分物理网络,在多租户环境下提供给每个租户独立的网络环境。该模块最开始是 Nova 的一部分,叫 nova-network,后来从 Nova 中分离出来。该模块之所以重要是因为如果没有虚拟网络服务,OpenStack 就变为单纯提供虚拟机实例和虚拟存储服务的平台,这就违背了提供分布式虚拟服务的云计算核心价值。
代号为KeyStone,主要提供了用户目录的集中式存储,以及相关的授权服务,便于其他OpenStack服务的访问。提供创建用户和租户,并且以基于角色的方式限制用户租户访问云计算中的计算、网络、存储等资源。
代号为Swift,是OpenStack所有组件中最早的之一,还有一个是Nova组件。主要提供对象存储,存储的是一些资源文件,如图片、代码等文件。在OpenStack平台中,任何的数据都是一个对象。是一个可扩展并且提供了冗余的存储系统。
OpenStack经过9年多的演进,版本也从最早的Austin版本发展到了现在最新的Queens版本。功能上不断的完善,组件兼容性越发稳定。以下是出自官方的OpenStack版本Release时间表。
通过众多企业及社区专业人士的代码贡献,OpenStack平台将会越来越稳定,承载越来越多的关键服务。
OpenStack是一个灵活性非常强的云管理平台,各种组件灵活搭配,实现单一或者冗余的不同架构。所有的架构都应按照不同的业务场景进行设计,没有任何的架构是万年不变的,所以要求云平台架构师要深入的理解业务需求,从而设计一个符合需求的好架构。一个楼能盖多高就要看它的地基好不好,骨架合不合理。
下文将主要讲两个典型的OpenStack架构,单一架构不在这次的讨论范围内,因其主要是用于测试和学习环境,不具备生产环境的要求。
业务场景:
公司IT主要要求搭建一套基于OpenStack的私有云平台系统。主要承载公司内部的非核心系统及一些轻应用。要求IT可用率必须满足两个9,业务对实时在线要求不高。
架构设计:
经分析,架构设计不需要过于复杂。在TCO控制得当的情况下,只需要满足基本的功能即可,无需投入更多的高可靠功能。
业务场景:
同样的场景,不同的是老板要求业务的实效性和平台的高可靠性。主要承载公司的核心系统,比如邮件系统、OA系统、SRM等关键系统。
架构设计:
经分析,这样的架构要求要比第一个场景复杂很多。架构师要考虑平台的高可靠,同时也要确保问题发生后,对业务应用没有影响,或者说影响到最低。
云计算是个未来技术发展的趋势,会随着业务的不同,发展出不同的云架构。OpenStack做为开源云管理平台之一,在众多热心技术人员和多家公司的鼎力支持下,已经越来越稳定,成为众多企业的私有云甚至公有云的首选平台。但是对于未来的发展,OpenStack依然面临很多的挑战。
1) 技术方面:
OpenStack属于开源软件,很多组件是由不同的个体或者机构自行开发的。组件过多,导致整体OpenStack的安装部署相对于成型的商业软件较为复杂。由于没有专业的测试团队在社区,所以拍错和升级较苦难。
2) 投资方面:
OpenStack的发展离不开资金的支持。在9年多的发展过程中,得到了多家国际IT巨头的支持与代码奉献。各家公司在这方面投入的资金也相对较大。由于是开源环境,运维难度高,所以人力成本和研发成本也是很高的。
3) 市场方面:
现在商业成熟的产品很多,比如VMware、Hyper-V cloud等。所以OpenStack要与这些厂商争夺地盘,必须想办法突出自身的技术优势,优化自己的技术劣势。从现在趋势来看,还是任重而道远。
不管在今天还是未来,在社区和热心贡献者的共同努力下,OpenStack在发展上将得到更多的支持,技术上变得越发成熟稳定,市场占有率也会大幅提升。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞6
添加新评论1 条评论
2018-08-11 19:43