OpenStack作为当下事实上的开源云标准,已成功被多个行业领域的用户大规模部署。很多人都知道,OpenStack诞生的初衷就是为了优化云环境,包括公有云、私有云、混合云的所有玩家都希望能同OpenStack建立某种形式的关联,这也让OpenStack开源社区获得大量追随者,建立了完整的企业生态。
在中国,电信、金融、政府、能源、交通、制造、医疗、教育等各大行业的领军公司都已经拥抱OpenStack开源云平台。这说明,从前存在的部署难度高、未能满足行业用户定制化需求等问题已被逐步解决,而这归功于一大批开源创新公司的不断努力,EasyStack便是其中之一。
那么EasyStack都做了些什么呢?
从降低部署难度入手
在EasyStack 看来,数字化转型大潮下的任何企业,无论大小,都是科技型企业。
所以,中小企业在数字化转型过程中,不单是IT管理平台,更需要能够满足创新业务的支撑和满足混合场景的支持,也需要能够支撑软件定义的多样化。为了帮助中小企业用户解决上云问题,EasyStack推出了ESCloud Express易捷云。这个产品有如下三大特点:
第一个特点是全云化的软件设计。既有一体机的统一管理,也有超融合的计算存储的整合,当然还有云需要的存储虚拟化、网络虚拟化。云管理平台甚至是包括IaaS和PaaS的功能,同时也面向运维开发者、管理员、业务人员提供极简化的界面,实现分钟级部署一个私有云,秒级获取一个虚拟机。
第二个特点是采用可塑合的运行架构。可塑合性就是可重塑、可自由组合,满足多种业务场景。
第三个特点是一键式部署业务应用。不单是面向资源的IaaS平台,也有面向业务和应用的SaaS甚至是PaaS平台。
EasyStack产品线
当然,中国还存在很多超大型的企业,他们拥有海量的数据,也拥有大规模的服务器和大量的数据中心,对数据安全也有一定的考量。对于这些处在金字塔尖上的企业,行业云更符合他们的需求。
行业云具备云的弹性,面对专门领域行业的公有云,它可以凝聚行业的生态。同时,行业云也可以为行业内部那些对安全更敏感、数据更敏感的客户提供托管服务。
EasyStack为行业云提供了ESCaaS解决方案。ESCaaS是基于OpenStack的开源架构,在私有云的基础上增加了诸多行业云功能,比如灵活计费策略支撑行业云复杂计费场景、多级权限管理方便管理复杂的组织关系、裸机资源管理实现虚实资源混合使用,实现统一的监管控平台。
2017年,云计算正式进入下半场,大数据和人工智能将成为新时代云计算格局巨变的诱因之一。EasyStack为此推出了全球首个同时支持GPU和FPGA异构计算的人工智能开源云平台ESCould AI,以满足行业企业用户日益增长的大数据和人工智能业务的需求。
作为开源云计算平台,ESCould AI在底层支持GPU和FPGA两种最常用的异构计算架构,从而在芯片核心底层即可释放人工智能潜力。上层则整合Caffe、TensorFlow等多种流行的深度学习开源框架,从而可以快速建模卷积神经网络(CNN)和递归神经网络(RNN),广泛覆盖图像识别、语音语义识别、时间序列预测等多种人工智能应用。该平台同时还提供针对大数据应用的Hadoop、Spark等开源框架,以满足行业企业对于分布式数据计算、分析、预测等需求。
EasyStack由中国最早从事OpenStack研发的团队所创建。早在2014年,EasyStack推出了中国第一款面向企业级客户的OpenStack发行版ESCloud。
ESCloud专为建设企业级私有云平台而生,具有高度开放性,屏蔽底层不同资源带来的管理复杂度,兼容各种品牌的商业存储设备及分布式存储系统。
2017年6月,EasyStack发布了开源PaaS平台ESCloud+,ESCloud+面向应用开发与应用部署场景,帮助已经部署了ESCloud云平台的企业用户快速扩展PaaS层能力。它通过基础架构层和平台服务层的融合,打破传统的管理边界,实现资源与服务的统一编排、统一权限以及统一管理,能够支撑传统应用架构或新一代微服务应用架构,加速企业的创新与成长。
以集群管理形态塑造新型分布式系统
IT技术发展多年,分布式技术也在演化,很少有人能预测分布式系统技术的演化方向。但非常巧合的是,当有新需出现求的时候,总会有一项新技术来填补。
在EasyStack看来,Kubernetes实际上就是一个分布式系统,其所代表的集群管理技术方案是一个比较理想的形态。
为什么?其实和AI一样,还是为了解决无论是从运维还是开发等方面,人的效率低下问题。当软件吞食世界时,显然需要大量分布式系统来承载各行各业的大规模应用,需要更高效的开发、运行和运维方案。但遗憾的是,很长时间业内并没有达成共识,直到类似Kubernetes这样的集群管理技术方案的出现。
集群管理将会成为大多数分布式系统未来的主流形态,因为基于完全手工打造的分布式系统会越来越少见,反而基于可靠性、可用性、易于管理和高效运维的集群管理分布式系统将被更多构建。
另外,Kubernetes能够降低分布式系统的复杂度。作为一个优秀的分布式系统,它能够让开发者、运维者,或者其他参与者都能面向业务做更多思考,而不是做更多机器可以做的事情。并且,Kubernetes很应景,能够实现高可用架构、实施弹性和对Container运行时的管理等。
计算机工业过去发展的五十年里,一直践行这四个字——抽象封装,即把复杂度抽象,封装起来让上层更高效地去做它该做的事情。而OpenStack,最擅长的就是抽象封装资源。眼前的问题是怎样让OpenStack和Kubernetes实现优势互补,发挥1+1大于2的价值。
所以,EasyStack设计Kubernetes产品时提出的核心理念是提倡深度融合,而不是整合。因为整合是生硬的、片面的,融合是全面的、无缝的。
OpenStack与Kubernetes融合的实现过程
如下图,是OpenStack+Kubernetes云平台架构:
首先,最底层是OpenStack企业级云平台,用来管理计算资源、网络资源、存储资源等,使资源池化。在OpenStack管理的虚拟机和物理机上,就能创建容器集群。
OpenStack和容器集群在这个环境中,都需要实现统一网络和统一的存储。
实现统一网络的原因在于避免网络损失。OpenStack网络组件是Neutron,Kubernetes里面对应的网络组件也有很多的解决方案,kuryr方案能够有效的减少因为多层overlay网络带来的性能损失,因此成为首选方案。EasyStack选择Neutron作为统一网络管理组件,把企业级网络硬件的能力通过neutron、kuryr无损地传递给容器。
对于存储,很少有存储厂商再为Kubernetes对应一个存储,而企业已有存储又很难提供给容器使用,此时可以把Cinder作为统一的存储管控中心,既能给虚拟化应用,又能给容器应用,这是OpenStack跟Kubernetes平台结合的一个最大的特色。
此外,EasyStack的企业级容器云平台也包括镜像管理、持续集成、持续部署、应用管理、容器集群管理等管理功能,可以让云平台的租户管理、监控告警、日志管理都达到较高要求。
鉴于Kubernetes里应用管理的功能相对较弱,EasyStack封装了一层简单的应用。后续,也会支持以应用市场(App Marketplace)的方式来交付云应用。
OpenStack跟Kubernetes的融合非常适合电商大促等大峰值波动的应用场景,通过融合架构可以带来异构平台统一管理、资源统一调度、提升安全性,这些都是EasyStack构建的OpenStack+Kubernetes云平台的重要优势。
如何从软件的角度优化OpenStack系统体验
谈到Openstack部署时的难点,可以聊聊如何从软件的角度优化OpenStack系统体验。
OpenStack最基本的就是计算、网络和存储,但实际上从系统工程的角度看,OpenStack还会涉及到更多的东西,这也是绝大多数情况下,部署和运营OpenStack的过程中都需要相关咨询服务的原因。
比如,云计算平台需要有一个稳定的底层系统支持,然而底层系统是人们经常忽略的一环,所以存在着很多可以改善的空间。EasyStack Container Linux和Cloud Linux就是为容器和云平台提供的定制操作系统,从安全、性能、可靠等诸多方面进行加固,承载云平台的各项服务,以及承载容器的构建。另外,许多软件平台甚至是核心平台都是由C/C++写成的,EasyStack系统工程团队基于对编译器的深入理解和运用,充分发挥编译器的优化能力,梳理并重新编译操作系统中的软件包,为OpenStack和容器提供从下到上的全方位稳定支撑,实现性能优化和体验的差异化。
【作者简介】
石奎, EasyStack架构总监,曾任职WindRiver/EMC/华为等知名企业,十余年Linux操作系统定制开发及Kernel开发经验,2012年开始贡献OpenStack社区,曾参与设计并实施国内多个支撑核心生产系统高可靠、高可用OpenStack云平台,具有丰富的超大规模OpenStack云平台的设计与实施经验,2015年开始深入研究NFV领域技术及项目设计实施。
本文作者:石奎
来源:51CTO