当前位置: 首页 > news >正文

EasyStack助力OpenStack实现大规模部署


【51CTO.com原创稿件】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和容器提供从下到上的全方位稳定支撑,实现性能优化和体验的差异化。


本文作者:石奎

来源:51CTO

相关文章:

  • C++ class中写sort二级排序
  • 《深度学习:Java语言实现》一一2.3监督学习和无监督学习
  • 给浮躁的软件业同仁
  • CGI的函数
  • 晦涩难懂的shell命令
  • 虚拟防火墙方案
  • 在Android中自定义IOS风格的按钮
  • mysql批量删除相同前缀的表格
  • C++笔试题
  • 服务器大量的fin_wait1 状态长时间存在原因分析-1
  • java中常见的异常类
  • MS Word 组件Spire.Doc V6.0.5发布 | 修复了rtf 到pdf 的转换问题
  • STM32中断优先级和开关总中断
  • 联想ThinkPad五大系列全介绍(转)
  • 新手学习Python时常见的错误
  • @angular/forms 源码解析之双向绑定
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • CSS居中完全指南——构建CSS居中决策树
  • HashMap剖析之内部结构
  • MD5加密原理解析及OC版原理实现
  • tweak 支持第三方库
  • vue-router的history模式发布配置
  • vue学习系列(二)vue-cli
  • Webpack 4x 之路 ( 四 )
  • 对超线程几个不同角度的解释
  • 技术:超级实用的电脑小技巧
  • 力扣(LeetCode)21
  • 我的zsh配置, 2019最新方案
  • 一道面试题引发的“血案”
  • 仓管云——企业云erp功能有哪些?
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​水经微图Web1.5.0版即将上线
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # 透过事物看本质的能力怎么培养?
  • #预处理和函数的对比以及条件编译
  • (04)odoo视图操作
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (转)winform之ListView
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET 中 GetProcess 相关方法的性能
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net接口调试与案例
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .net中的Queue和Stack
  • 。Net下Windows服务程序开发疑惑
  • :not(:first-child)和:not(:last-child)的用法
  • @Pointcut 使用
  • @test注解_Spring 自定义注解你了解过吗?
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [2016.7 test.5] T1