微信号:dellemc_tech

介绍:为戴尔易安信客户提供技术支持服务,为广大IT行业用户分享技术文章与行业信息。

初探第三平台软件开发需求变化、开源社区兴起之因以及Dell EMC的开源项目

2016-12-09 17:44 EMC中文技术社区

 

      随着第三平台技术的持续发展,开源技术正在变得越来越重要。Openstack、KVM和Hadoop等技术已经在许多生产环境中实现部署,Mesos、Kubernetes和Docker等开源项目也开始获得越来越多的支持,Dell EMC也开始跟上IT不断变化的需求越来越多的加入开源社区。本文将从第三平台软件开发需求变化聊起,结合新一代开源社区的商业模式来浅析开源软件再次兴起的原因,并介绍Dell EMC参与开发的一些开源项目。

 

     开源软件运动兴起于上世纪80年代中期,其倡导透明、开放、协作参与和快速原型设计的全新理念。总体来说,开源软件具有以下优点:

 

  • 自由:软件可以用于任何目的,并且能够很轻松的进行二次开发。

  • 革新:开源软件背后拥有强大的社区力量,因此更新速度通常较快。

  • 灵活:根据不同组织要求可以实现灵活部署。

  • 兼容性:可以轻松在现有基础架构上部署开源软件。

 

     很多人可能会问:“开源软件的最大优势不是便宜吗?”对于企业级用户使用开源解决方案的费用并不便宜。因为开源解决方案虽然提供源代码,但是极少数项目提供部署文档和排错文档,这将导致企业级用户在使用开源软件时,需要付出一笔不菲的顾问和售后服务费用,提供顾问和售后服务也正是Cloudera和Redhat这些开源巨头的主要业务之一。

 

     近些年开源之风再次兴起,我们能够看到上百家开源公司,很多开源软件的开发已经从“边缘”地带进入到“主流”平台。开源社区之所以能够发展如此之快,一部分由于开源公司新的商业模式,一部分由于开源软件能够更好的迎合第3平台技术公司的开发需求。十几年前的开源软件公司大多通过服务和技术支持的额外收费来存活,这导致他们只能获取到很低的利润,从而限制创新,进而获取更少的利润,形成恶性循环。而现在新的开源公司(比如Cloudera、mongoDB)并不采用“纯开源”的指导思想,他们通过开发开源项目,然后打造自己的成熟版本,最后销售给自己的核心用户赚取可观的利润,并且以此构建起自己的业务模式。正是这种新的开源模式帮助许多开源软件公司快速发展,进而再推动开源技术的发展形成良性循环。

 

     开源软件能够更好的迎合第3平台技术公司的开发需求。我们知道大多数传统公司都喜欢采用瀑布式开发流程,也就是从需求到设计,从设计到编码,从编码到测试,从测试到发布产品这样一套大致的流程。这种开发模式存在迭代和反馈速度慢的致命弱点,已经很难满足像Google和Facebook这样的大型互联网公司。由于业务需求的不同,互联网公司比较喜欢迭代开发,DevOps全栈工程师,喜欢快速部署和快速响应,他们希望利用开源解决方案以令人满意的敏捷性搞定业务推进中面临的种种挑战。通常他们利用开源软件解决以下问题:

 

  • 通过数据分析快速响应市场的变化。

  • 快速实验、交付和修改平台。

  • 选择性的使用技术,快速捕获商机。

  • 迅速的向上或者向下扩展技术。

 

DevOps开发模式图

 

 

     此外,云计算技术的兴起也从侧面推动了OpenStack、KVM和Docker这些开源技术的发展。因为大部分技术公司都不具备独立开发出一个云计算平台或者一款虚拟机的实力,那么共同开发在云计算时代就成为一种需要。通过共同开发的成果,企业可以用于搭建云计算平台,还可以将自己的产品兼容到云计算平台中,因此开放在未来十年将成为决定市场赢家和输家的关键指标之一。

 

     在许多的会议或者公开场合,Dell EMC领导层都强调将更加关注“开源”技术的发展,并且于2014年新建了EMC{code}团队,即EMC的Community Onramp for Developer Enablement(开发者社区激励计划)计划。EMC{code}团队的使命是通过实施关键开源计划、积极参与并提供领先技术解决方案,为第三平台开发和开源社区提供支持。自该计划设立至今,EMC{code} 团队已经宣布了超过50项计划。仅2015年一年,EMC{code}社区就为开源社区贡献了逾35万行代码。通过这项工作,EMC技术与Docker、Mesos等开源基础架构社区的相关性日益提高了。对容器中的持久性应用而言,这些新技术代表着一种新兴的病毒式营销方式,EMC{code}计划专注于确保EMC软件和基础架构硬件产品顺应这种发展趋势,并与其保持持续相关性。

 

EMC{code}团队主页截图

 

 

下面介绍一些EMC{code}团队负责的几个重要项目:


libStorage

 

libStorage是由曾主持过苹果Siri系统架构开发的Josh Bernstein负责。它一种平台感知型框架,在一个快速变化的、开源和容器技术驱动的生态系统中,实现存储的部署、编排和控制。现在,容器生态系统中,不同玩家的能力和优势各不相同。用户环境中,可能是Cloud Foundry、Docker、Mesos和Kubernetes的任意组合,不同平台上可能运行不同类型的应用。libStorage确立了一种通用框架和存储模型,向容器和容器消费者交付资源。最终,跨所有容器平台,展示并支持一种通用水平的功能。

 

通过创造一种理想的体系结构——嵌入libStorage客户端和服务器组件,让容器运行时能够与存储平台直接通信。这种设计的操作依赖程度最低,为容器运行时提供卷管理,将一项过去复杂且耗时的任务简化、自动化。这种全新架构将让所有存储供应商即刻就能融入容器世界。通过在存储平台的控制平面采用libStorage,试图在容器和存储平台之间形成无形的通道。更多信息请访问:https://github.com/codedellemc/libstorage

 

 

 

RackHD

 

RackHD是一个平台无关的技术堆栈旨在解决超大规模环境下管理和组织协调服务器与网络资源这一行业性挑战。现代化的数据中心是一个多供应商的存储、网络和服务器的混合体,种类不断增加的商品化硬件被用到各种超大规模场景。对数据中心工程师来说,在大量设备上安装低层级的操作系统、更新固件和 BIOS,已经成为一项复杂低效的人工任务,在超大规模环境下,难度和成本以数量级增加。RackHD 的创建旨在囊括各种数据中心硬件的自动化,简化这些基础任务。

 

开发人员可使用 RackHDAPI 作为更大的组织协调系统的一个组件,或者创建一个用户界面管理硬件服务,无需考虑底层硬件是否就绪。其目标是帮助各个组织机构加速现代化应用的部署。而这些应用依赖于大量的商品化服务器和异构基础设施。更多信息请访问:https://github.com/rackhd/rackhd

 

 

 

RexRay

 

REX-Ray是一种为Docker、Mesos及其他容器运行环境提供持续存储访问的插件,其设计旨在囊括通用存储、虚拟化和云平台,提供高级的存储功能。更多信息请访问:https://github.com/codedellemc/rexray

 

 

 

Polly

 

Polly是一种面向Cloud Foundry、Docker、Kubernetes、Mesos以及其他调度环境的开源框架。Polly可用来实现与容器调度器相连的集中式存储调度服务。Polly还将进一步发展,其目的是,为横跨新兴的容器与存储平台生态系统实现供需(offer-acceptance)式容量消费模式提供一个框架。能够与其他计算资源一起提供存储资源是一个革命性的飞跃,这超越了其他容器计划,而且提升了存储的地位,使其能够像其他资源一样使用。

 

对于生产环境中的应用开发、部署及管理而言,基于容器的基础架构代表着巨大的进步。增强持久性有助于增加可以容器化的应用类型,为数据库、关键值存储、DNS基础架构服务以及更多类型应用创造了新的机会。至于效率,调度器需要了解底层存储基础架构,以大规模地在协调引擎内恰当地分配存储资源。

 

以前,就容器部署而言,容器调度器仅关注计算、内存和网络资源。随着容器内的应用开始需要持久的后端存储,将其作为可调度的资源使用的需求出现了。Polly充当了这样的角色:将存储作为一种开放框架集成到多种容器调度解决方案中。

 

 

 

CorpHD

 

CorpHD是ViPR的开源项目,它旨在将物理阵列中的存储(无论是基于文件、块还是对象)抽象为虚拟共享存储资源池,从而跨物理阵列实现灵活的存储使用模型,并提供应用程序和创新型数据服务。





更多精彩内容,请点击阅读原文”进行查看!

如何每天都能收到如此精彩的文章?

①点击右上角点击查看官方账号”→点击关注

②长按并识别下图中的二维码,直接访问EMC中文支持论坛


 
戴尔易安信技术支持 更多文章 VNX单块硬盘更换演示 VNX 25-Drive(磁盘驱动器)更换演示 VNX 15-Drive(磁盘驱动器)更换演示 Unity 2.5英寸磁盘驱动器更换演示 关于本公众号迁移的公告!
猜您喜欢 SDCC·北京站年终百位专家齐聚,全日程大公开(八折最后一周) System.out.println("恭喜马老师,教师节快乐 !"); Hadoop YARN新特性—label based scheduling 干货 | 图形验证码在携程的实践之路 OpenStack Swift 存储策略