阅读更多

2顶
0踩

互联网
Google的技术是云计算开源化的主要推动力之一,Hadoop、NoSQL类数据库等开源软件都源于Google的技术。但搜索巨头本身对于自身技术的开源态度却有点纠结。这种纠结主要源于不想放弃自身的这一竞争优势,但是在微软、VMware、EMC等纷纷拥抱开源的大趋势 下,Google终于意识到在开源的环境下推进自己云战略的重要性,哪怕把它最大的秘密部分开源化也在所不惜,现在这一战略已经初见成效

Craig McLuckie 把想法告诉了Urs Hölzle,这位 Google 全球数据中心网络的监管人并不喜欢这个想法。

McLuckie 跟Google西雅图分部的两位工程师希望把Brog再造成一个开源项目。Brog是管理调度Google从搜索到地图等一切服务所需资源的软件工具,正 是有了它,Google才能将一个个计算任务打包分配到它庞大的全球网络。多年以来,Brog一直是Google保守得最好的秘密之一。而 McLuckie想把它的蓝图(至少是部分蓝图)共享给互联网。

“我们第一次去找Urs时,他对这个想法实际上是不高兴的,” McLuckie说:“因为我们要做的是把运营Goolgle的秘密武器作为开源技术拱手让人。”

但 Hölzle等Google要员最终批准了这一项目—Kubernetes这个名字起源于古希腊,是船长或者驾驶员的意思。今天是它推出1周年的日子,过 去12个月,已有超过370名程序员给项目提交了12500份“commit”,他们当中大部分都不是Google的人,其中就包括3名顶级贡献者。

Kubernetes代表了Google在云计算领域与Amazon、微软等努力进行竞争时的战略转变。传统上,Google对于驱动其在线帝国的基础技术的保护是非常严的— Borg就是很好的一个例子,且从某种程度上来说仍然如此。但现在Google已经是一家对云计算态度非常认真的公司,它正在邀请别的公司和开发者在自己 的基础设施之上做网站、开发应用(注:类似Amazon当年做AWS的路子),因此是封闭的、不公开的。邀请其他公司在其基础设施之上开发运行应用,所以 开源更多的是面向整个软件社区做出的一种平等交换。

Kubernetes最初是由McLuckie和其他两位工程师Joe Beda 、Brendan Burns一起构思的,他们都是Google云服务的开发团队成员。在他们看来,Kubernetes这个开源项目开源推动开发者使用Google Compute Engine,这项云服务可为外部构思和开发者提供“虚机”,在虚机上面几乎可以跑任何代码,而Kubernetes则为代码的跨环境运行(云服务、本地 数据中心)提供有效的管理手段。Hölzle最终同意这一点值得牺牲掉保留自己代码的优势。“云对于Google来说绝对是势在必行,” McLuckie说:“我们必须用新的方式运营。我们必须把自己的专长带给社区。”

Google的演进

Google 的举动也是对云计算崛起所推动的更大转变的响应。现在开发者很容易就可以在一堆机器上面开发软件,而且往往都是用开源的。在那么多机器上跑专用软件的成本 高昂,满足特定需求很困难。无论是提供像Google Compute   Engine这样的服务,还是为此类服务开发软件,现在的云公司都必须拥抱开源。微软也已经意识到这个不争的趋势,为了推动其Azure云计算服务的发展 而拥抱开源。VMware和EMC也已经这样做了。

但Google的态度有点挣扎。它的技术是云计算领域开源力量崛起的主要推动力之一。只是这家公司一直对开源运动保持着适当的距离。现在它走得更近了。

过 去10年,Google开发出软件来管理软件在其成千上万台机器上的运行。它疑心很重,把运行大规模机器的能力视为自己的竞争性优势,不想让人看到这一软 件的面目。然后,过了几年,Google会时不时公布1、2篇相关技术的论文,开源界就会开始山寨Google的技术,很多技术都是这样,如 MapReduce催生了Hadoop,BigTable公布出来后,一大堆“NoSQL”数据库就如雨后春笋般冒出来了。

Borg的情况 大抵也是一样的。几年前,Twitter和加州大学伯克利分校的工程师开发了一款名为Mesos的工具,现在,它成了Twitter、Airbnb等知名 互联网服务的基础。还有好些项目也在围绕着Docker容器技术(Brog的运作也是这样,将软件打包进软件“容器”然后通过Google网络到处交付出 去)开发类似的工具。

不过现在在云业务需求等力量推动下,Google正在改变角色。它分享出来的不仅仅只是一篇研究论文,把一些小的在线基础设施开源,而是把整个体系转变成开源项目(至少在某种程度上)。

如Burns所述,他和Beda 、McLuckie都看到了有很多其他项目正在利用Borg及容器技术的想法,所以他们认为Google可以帮助推进这件事情。“我们感觉大家在把一块块 碎片拼接完整是遇到了困难,”他说:“我们有那个图案。我们有10年的经验,知道怎么把碎片拼到一起。”

诚然,Kubernetes并不是开源的Borg。它没有Borg或者Borg的继任者Omega那么复杂。从目前情况来看,它不能管理那么多台机器。“我们仍在朝着接近Borg同等规模努力,”Beda说:“Kubernetes初期关注的焦点是核心概念要对。”

但是Borg和Omega的部分开发者也在做Kubernetes,其中包括Uber的工程师Eric Brewer、John   Wilkes及Brian Grant。有做过的人来做Kubernetes对于这个开源项目来说意义重大,而这个项目的未来目标是纠正Borg、Omega的错误,最终超越这两位 前辈。

在这个对开源如此器重的世界里,这是Google参与竞争的最好方式。对于很多人来说,容器就是软件开发的未来。而Google现在正扮演着这个未来的领导角色。

随便跑

不 过,曾在Pivotal帮助开发过类似系统的Mark Kropf质疑Google对这个项目的态度究竟有多认真,他指出Beda已经离开了公司。而云服务提供商Digital Ocean的CEO Ben Uretsky则认为,Kubernetes等系统的应用情况并没有那么广泛。“容器技术尚未成熟,”他说:“我们还处在炒作周期的顶峰。”

但无论Kubernetes的命运如何,从很多意义上来说,它仍指出了软件开发的未来。

Google在自己的数据中心使用着自己的软件容器。不过1年前推出Kubernetes时,它找到开源的Docker作为搭档。当Docker母公司寻求将自己的容 器技术与某些自己的软件工具进行捆绑时,Google和Kubernetes项目却开始拥抱Docker的替代品Rocket—一个完全独立的容器格式。

McLuckie强调,Kubernetes现在同时支持Docker和Rocket。他希望业界最终能回归到一个独立的容器格式去,但他解释说这不是选边站。他 说,Kubernetes“应该成为瑞士。”听起来有点理想主义,但这是云公司必须干的事情:提供开源软件,然后随便别人怎么用。McLuckie 说:
引用
正在发生的这场颠覆要比任何一家公司都要大。


本文由 36氪 编译自:wired.com
来自: 36氪
2
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Google 为什么要把最重要的秘密开源?

    Google的技术是云计算...这种纠结主要源于不想放弃自身的这一竞争优势,但是在微软、VMware、EMC等纷纷拥抱开源的大趋势 下,Google终于意识到在开源的环境下推进自己云战略的重要性,哪怕把它最大的秘密部分开源...

  • IBM董事长亲自站台,开源为什么对IBM这么重要?

    在2019年2月12日-15日的IBM Think 2019大会上,IBM董事长、总裁及首席执行官Ginni Rometty亲自参与了除主旨演讲之外的唯一一个分论坛并担任对话环节主持人,这就是“开源:企业的未来和创新的基石”分论坛。...

  • 为什么有人愿意将软件开源和共享?

    在继续阅读后面的内容之前,建议大家花几分钟的时间认真思考自己对下面这两个问题的答案:在当今世界上,你认为最优秀的软件公司都有哪些?在当今世界上,你认为最优秀的软件工程师都有哪些?对 于上面这两个问题,...

  • 企业为什么要做开源

    企业为什么要做开源 陈永伟/文6月25日,由云原生计算基金会(CloudNativeComputingFoundation,简称CNCF)主办的云原生技术大会在上海召开。在大会上,腾讯开源联盟主席、腾讯开源管理办公室委员堵俊平首次公开了...

  • 很多优秀的软件公司和开发者为什么愿意开源和共享?

    在当今世界上,你认为最优秀的软件公司都有哪些? 在当今世界上,你认为最优秀的软件工程师都有哪些? 对 于上面这两个问题,你是不是在心里已经有了自己的答案?如果有的话,你的答案的名单列表里分别有多少家软件...

  • 为什么说区块链是开源运动的接班人?

    开源改变了我们的世界,这已经是不争的事实。作为一名开发人员,我不记得过去几年中哪一天可以不依赖开源软件。我不是例外,如今,大多数软件工程师在其职业生涯中每天都依赖开源。 首先,开源已经是开发人员基础...

  • 2022年为什么要使用Flutter构建应用程序?

    今天每个人都想构建一个应用程序,但是谁又...当我们没有它们时,我们会感到缺少一些东西,我们甚至把它们带到洗手间,我们甚至想不出没有它们,如何出门。无论我们喜欢与否,它对我们生活都在进行最快,最积极的影响.

  • Kubernetes介绍篇:是什么? 为什么要用它?

    是时候该学习Kubernetes了,不然都不敢说自己了解容器、...确切地说,Kubernetes是谷歌严格保密十几年的秘密武器——Borg的一个开源版本。Borg是谷歌的一个久负盛名的内部使用的大规模集群管理系统,它基于容器技术,..

  • 近距离看开源是什么?有什么?

    点击上方蓝字 关注我们你要认识到你的目标是对世界历史上曾有的和现有的社会结构进行充分的比较性理解。要认识到实现这个目标,你必须避免普遍存在的学院科系的武断的专业化。你要根据你的主旨,最...

  • 大学计算机系最努力的同学都是如何学习的?

    经常会被同学们问到这个问题,要怎么努力才能找到好工作? 学习好就能进好公司? 屁! 被学校教育坑的一把鼻涕一把泪的老学长来回答一波。 我上大学时,连续三年得过国家励志奖学金,英语过六级,以为软考有用,...

  • 为什么很多优秀的软件公司和开发者愿意开源和共享?

    本文作者 Yevgeniy (Jim) Brikman 是《Hello,Startup》这本书的作者,...在这篇文章中,他深入分析了很多优秀的软件公司和开发者愿意开源和共享自己的工作成果的内在原因,同时还指出那些不愿意分享的人所给出的理...

  • (中)苹果有开源,但又怎样呢?

    上篇(详情请戳:《(上)苹果有开源,但又怎样呢?》)里说到,苹果首个开源项目 Darwin 的诞生,与乔布斯的复仇归来有着千丝万缕的关系。作为一个开源的操作系统,Darwin 拥有非常纯正的开源血统,又有 FreeBSD ...

  • 王贻芳院士:为什么中国要探究中微子实验?

    当时因为国际上有很多类似的实验,失败很多,所以发展出自己的液体闪烁体技术是我们大亚湾实验最重要的要求,非常幸运我们当时做成功了。   第二,光电倍增管 。 如果你从滨松公司买的话指标差2倍,不够,价钱也是...

  • 什么是OSINT?以及如何使用开源网络情报工具?

    有针对性的挖掘目标情报,尽管有多种方法可以秘密进行,但情报收集通常始于从互联网公开资源中抓取信息,这些信息统称为开源网络情报或OSINT。由于社交媒体和在线活动的盛行,现在有大量合法可收集的OSINT开源网络...

  • kubernetes:_Kubernetes:为什么重要?

    kubernetes: 由于非常好的理由,开发和部署原生云应用程序已变得非常流行。 允许快速部署并持续交付错误修复和新功能的过程具有明显的优势,但是没有人谈论过鸡到蛋的问题:如何从这里... Kubernetes最初是Google...

  • (下)苹果有开源,但又怎样呢?

    有句名言:开源吞噬世界。我们能够看到,这个世界的确在被开源软件改变着,包括微软这样的专有软件大本营。2015 年,当微软拿出印有 “Microsoft Loves Linux” 字样的 T 恤和徽章时,也不知道有多少人被咖啡呛到了...

  • 基于FPGA的四相八拍步进电机控制系统设计:集成交付、正反转、加速减速及调速功能

    内容概要:本文详细介绍了基于FPGA的四相八拍步进电机控制系统的开发过程。主要内容包括:1. 使用VHDL和Verilog编写LED显示屏驱动代码,用于显示角度、学号和姓名等信息;2. 实现步进电机的正反转控制,通过状态机管理相序变化;3. 开发加速减速控制模块,确保电机启动和停止时的平稳性;4. 设计调速功能,通过调节脉冲频率实现速度控制。此外,文中还讨论了调试过程中遇到的问题及其解决方案。 适合人群:对FPGA开发和步进电机控制感兴趣的电子工程师、嵌入式系统开发者以及相关专业的学生。 使用场景及目标:适用于需要高精度运动控制的应用场合,如工业自动化、机器人技术和精密仪器等领域。目标是帮助读者掌握FPGA控制步进电机的基本原理和技术细节。 其他说明:文中提供了详细的代码片段和调试经验分享,有助于读者更好地理解和应用所学知识。同时,作者还提到了一些实用技巧,如通过PWM调节实现多级变速,以及如何避免步进电机的共振问题。

  • Android开发:基于SQLite的日历备忘录记事本项目详解与实现

    内容概要:本文详细介绍了基于Android Studio开发的日历备忘录记事本项目,涵盖日历查看、添加备忘录、闹钟提醒和删除备忘录等功能。项目使用SQLite数据库进行数据存储,通过CalendarView、EditText、Button等控件实现用户交互,并利用AlarmManager和PendingIntent实现闹钟提醒功能。此外,项目还包括数据库的设计与管理,如创建DatabaseHelper类来管理数据库操作,确保数据的安全性和完整性。文章还探讨了一些常见的开发技巧和注意事项,如时间戳的使用、手势监听的实现等。 适用人群:适用于初学者和有一定经验的Android开发者,尤其是希望深入了解Android开发基础知识和技术细节的人群。 使用场景及目标:该项目旨在帮助开发者掌握Android开发的基本技能,包括UI设计、数据库操作、闹钟提醒机制等。通过实际项目练习,开发者能够更好地理解和应用这些技术,提升自己的开发能力。 其他说明:文中提到一些进阶任务,如用Room替换SQLite、增加分类标签、实现云端同步等,鼓励开发者进一步扩展和优化项目。同时,项目源码公开,便于学习和参考。

  • Matlab实现基于SVM-Adaboost支持向量机结合Adaboost集成学习时间序列预测的详细项目实例(含完整的程序,GUI设计和代码详解)

    内容概要:本文档详细介绍了一个基于SVM(支持向量机)和Adaboost集成学习的时间序列预测项目。该项目旨在通过结合这两种强大算法,提升时间序列预测的准确性和稳定性。文档涵盖了项目的背景、目标、挑战及其解决方案,重点介绍了模型架构、数据预处理、特征选择、SVM训练、Adaboost集成、预测与误差修正等环节。此外,文档还探讨了模型在金融市场、气象、能源需求、交通流量和医疗健康等多个领域的应用潜力,并提出了未来改进的方向,如引入深度学习、多任务学习、联邦学习等先进技术。 适合人群:具备一定机器学习基础的研究人员和工程师,特别是那些从事时间序列预测工作的专业人士。 使用场景及目标:①用于金融市场、气象、能源需求、交通流量和医疗健康等领域的复杂时间序列数据预测;②通过结合SVM和Adaboost,提升预测模型的准确性和稳定性;③处理噪声数据,降低计算复杂度,提高模型的泛化能力和实时预测能力。 其他说明:文档不仅提供了详细的理论解释,还附有完整的Matlab代码示例和GUI设计指导,帮助读者理解和实践。此外,文档还讨论了模型的部署与应用,包括系统架构设计、实时数据流处理、可视化界面、GPU加速推理等方面的技术细节。

  • #游戏之追逐奶酪123

    #游戏之追逐奶酪123

Global site tag (gtag.js) - Google Analytics