点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

AWS 云架构策略副总裁:开源是基础,也是未来

  • 2018-11-07
  • 本文字数:5056 字

    阅读完需:约 17 分钟

AWS 云架构策略副总裁:开源是基础,也是未来

“开源(Open Source)”这个专用名词诞生于 1988 年,到现在已经走过了 20 个年头。所谓开源,完整说法是开放源代码,是一种软件发布模式,简单地讲,发布者将软件的源代码公开,并且附带上相应的许可条款,其他人可以根据许可条款对该公开的源代码进行阅读、使用、修改、再开源与销售等操作。
 
在过去这 20 年里,软件领域因为开源的助力而飞快发展,各种开源基础设施、开发框架与应用程序等如雨后春笋般不断涌现,同时也各自在一代一代的开源维护中变得更加完善、壮大。
 
在 9 月 20 日深圳 AWS Summit 上,AWS 架构策略副总裁 Adrian Cockcroft 分享了 AWS 近年来围绕开源开展的一系列工作与所取得的成绩。InfoQ 有幸在现场对 Adrian 进行了专访,针对开源的重要性与 Adrian 在云计算领域看到的变化和趋势进行探讨。

Adrian Cockcroft 是谁?

谈到开源,就不可能跳过 Netflix。Netflix 的开源贡献遍及大数据、代码构建和交付、通用运行时、数据持久性,以及可靠性、性能、安全等领域,目前 Netflix 在 GitHub 目录下已经有近 150 个开源项目,大名鼎鼎的 Netflix OSS 与 Hystrix、Zuul、Eureka 等项目都来自于它。而谈到 Netflix 和开源,就不得不提本次采访对象 Adrian Cockcroft。

1994 年,Adrian 在 Sun 工作了一段时间,后来去了 eBay,在 2007 年左右,他加入 Netflix 担任网络工程总监。因为对 Netflix 当时在做的个性化推荐感兴趣而加盟的 Adrian,后来成为了带领 Netflix 走向“云原生”架构的核心人物,并作为向外界传述 Netflix 云的故事的人而为业界所熟知。
 
在 Netflix 任职的 6 年间,Adrian 带领团队将 Netflix 的架构整体迁移到了 AWS 云平台上,使 Netflix 开始转向云计算,并成为了硅谷和云计算生态系统中一家举足轻重的技术公司,这当时在业界也引领了一波将企业架构迁移到云平台的趋势。现在大家提到“云”或者“微服务”,几乎不可能不提 Netflix。
 
与此同时,Netflix 能在云计算生态系统中变得更重为重要的一步,在于它将自己的一些工具开源。Adrian 创建并领导了 Netflix 的开源项目,由他一手打造的 Netflix OSS 平台,致力于解决大规模分布式系统的各类问题。对于当今时代的 Java 开发者们来说,Netflix OSS 简直就是在云端开发微服务的代名词。服务发现、负载均衡、容错等对于可扩展的分布式系统来说都是非常非常重要的概念,Netflix OSS 对这些问题都给出了很好的解决方案。它以前瞻的视野在架构上内化了 DevOps,使得各个使用该开源项目的公司构建的系统在可扩展性、可靠性、高效及高性能方面都有很好的表现。
 
2013 年底离开 Netflix 之后,Adrian 在风投公司 Battery Ventures 待了三年,那段时间 Docker、容器技术正当流行,他接触了很多创业公司,对开源、企业上云有了更深的理解。2016 年 10 月,Adrian 正式加盟 AWS,开源是他选择加入 AWS 最重要的一个原因,也是他现在在 AWS 主要负责的工作内容。

为什么开源很重要?

InfoQ:您现在在亚马逊领导开源工作,同时也是 AWS 的开源布道师,您如何看待开源的重要性?能否介绍一下亚马逊的开源战略?

Adrian: 开源非常重要,我们能看到现在主要流行的一些产品和服务基本上都是基于开源平台来开发的,并且越来越多的产品和服务都在这样做。以机器学习的主流框架为例,基本上全都是开源的,没有非开源的。因此 AWS 认为应该在开源社区方面给予更多的投资和支持。我们会有很多客户找过来,说希望 AWS 帮助他们做这个做那个,我们会根据客户的需求为他们提供相应的服务,基本上这就是 AWS 的战略。
 
比如我们做 Kubernetes、做 SageMaker,尤其是 SageMaker,实际上就是开发一个开发环境,让不同的开源技术可以在上面运行,在数据库方面也是如此。我们可以帮助客户去构建 MySQL 等等,可以说我们有非常完整的围绕开源的一系列工作。
 
在这些围绕开源的工作中,如果说已经做的最大的项目就是 Kubernetes,我们加入了 CNCF 并积极参与到 CNCF 各组织工作中,同时我们 Service 团队的成员也积极地参与到项目工作的互动中。以后 AWS 还会有更多的开源的项目陆续做出来。

InfoQ:您曾经主导开源项目 NetflixOSS,从中您学到了什么?

Adrian: 首先是软件许可的形式,在开源领域,Apache 的许可基本上是最为主流的了。同时我也知道了一点,最优秀的项目必然是在这个点子之初我们就应该让整个社区都参与进来,用一种公开的方式去开发,这是最好的。而不是说就几个人封闭着先把项目做完了,然后再向外界公布。
 
从 Netflix 的工作经验中我还学到了一点,就是我们可以很好地利用开源项目,反过来对整个业界产生巨大的影响力, 一个非常好的例子就是 Spring Cloud 在 OSS 的影响力。

InfoQ:企业做开源项目的意义在哪里?

Adrian: 我觉得对于一个企业而言,为什么要做开源,可以从四个点上谈:
 
第一,回馈社会,这是企业社会责任的一种非常好的体现。
 
第二,如果你想吸引人才,要雇佣最优秀的开发人员的话,这些开发人员都会有自己正在做的一些开源项目。所以做开源就会有利于公司去雇佣到更优秀、甚至是最好的开发人员。
 
第三,行业影响力。做开源项目确实是可以帮助公司去建立行业影响力的,尤其是比如你的竞争对手有一个产品是收费版的,而你立刻就做一个开源版的,从竞争力上看对你来说是很有利的。
 
第四,实际上开源是整个软件商品化的过程之一。

ServiceMesh 很有趣,但 Istio 还不够成熟

InfoQ:我们知道 AWS 在今年推出了 Fargate,可以让我们无需管理服务器或集群即可运行容器,去年也是 Service Mesh 爆发的元年,但是我们没有看到 AWS 在该领域的行动,是不是说 AWS 会直接跳过这一步,直接押注 Serverless?或者 AWS 是否有类似 Service  Mesh 的技术组合?我们想知道 Amazon 对 ServiceMesh 技术持何态度。

Adrian: 我们认为 ServiceMesh 还是一个新兴技术领域,在这个领域确实有很多非常有趣的东西。我们也有在 EKS 上支持 Istio,但是坦率地说,Istio 本身目前还不是很成熟,首先安装就要花很长时间。但是我们在 Istio 上仍然有一些投入,我们提供了大量的技术文档支持,去指导客户如何用好 Istio。当然,我们也确实看到了客户方面对 Istio、对 ServiceMesh 展示出了足够浓厚的兴趣。

InfoQ:目前 Google 开源了 knative,声明动机是为 Serverless 工作负载提供通用工具包和 API 框架,您对此有何见解?AWS 有何应对?

Adrian: 这个框架概念是好的,功能也说得过去,但是我们在三周之前、将要发布它的前一刻,发现了一些 Bug,却无法解决。就像我刚才说的,一个项目在点子产生之初,如果这个点子很好,就可以向外界公布,让大家一起来开发。到目前为止,这个项目仍然处于发展初期,还基于 Istio 比较老的 0.8 版本。我们觉得还是要等 1.0 版本出来,可能它才能够方便地安装和使用。目前负责这个框架的开发团队看起来还没有解决这些 Bug,所以我们还需要再等等。
 
现在在一般的 Kubernetes,无论是 Azure 版的或者其他版的 Kubernetes 上,Istio 的 0.8 版本都装不上去。AWS 的宗旨是,只要 Kubernetes 上能装的,EKS 就会支持。最关键的一点,还是要看客户要求什么。

未来云计算只会留下几家大的云服务供应商

InfoQ:您怎么看下一阶段云计算的主流发展方向?

Adrian: 云计算不需要下一代微服务了,因为微服务开发的这些工具现在已经非常常见而且比较成熟了。我们认为以后对于现代的应用开发而言,应该是容器技术 + 无服务化的组合。实际上,正是因为无服务化,容器技术才能够针对不同的应用,以非常快速和低成本的方式去运行。

InfoQ:从 Netflix 全面迁移到 AWS 云平台到现在已经过去了 10 年,您认为现在的技术有根本的不同或更好吗? 与 10 年前相比,今天的云计算领域发生了什么变化?

Adrian: 事实上如果现在是 Netflix 刚刚成立,它什么都不需要自己去做,技术、架构都不用做。任何媒体公司所需要的功能都可以通过 As Service 的方式获得。
 
如果是像 Netflix 这样一个在全球有上亿用户规模的公司,它可能会需要做一些定制化。但是现在 Netflix 基本上绝大部分的投资都是花在内容上的,这个对于媒体公司来说才是最关键的。
 
其实可以这样回答这个问题:如果我是一家公司,我现在正在考虑要不要自己建数据中心,或者说原来的数据中心到年头了,我要不要持续给它翻新接着再用。我只要在 AWS 开一个账号,立刻就可以获得 AWS 这么多的能力;但如果你要自己去建立具备所有这些能力的数据中心的话,不花天价是不可能做到的。这个成本一比较,大家肯定选择用 AWS 的云服务。
 
现在核心的一点是什么呢?像一些核心的数据中心,比如说银行的核心系统,还有电信公司核心的电信网络,类似于运营系统,他们如何将这些系统搬到云上去,这是 AWS 在帮很多大客户做的,比如说帮助电信运营商把他们的 5G 放到云上去运维管理。这可能是我回答这个问题的方式,最大的变化就是核心系统迁移到云

InfoQ:在云计算市场其实有很多玩家,除了几家巨头公司以外,还有很多初创企业,您怎么看待云计算市场的潜力?

Adrian: 未来可能在某些专有领域会有一些有自己特色的云服务厂商,但是从长期的角度来说,我们认为最终在云计算领域,只会留下几家大的云服务供应商

InfoQ:在面向企业的云计算市场,AWS、Azure、Google 目前分别处于什么样的位置?

Adrian: 从我们大部分客户来看,你谈到的这三家云服务公司不会各占 1/3,基本上 90% 用的是 AWS,某些特殊领域会有其他的云服务供应商。

InfoQ:您觉得云计算领域现在最有待突破的地方在哪里?

Adrian: 其实有一个技术我们已经谈论了很长时间,就是非易失性内存。目前 Intel 有一个 3D X Point 技术,但是还远未达到真正量产和普及使用的程度,还缺少一些支持的软件。一旦这个技术真正普及了,很多现有的系统、软件可能就会变得过时了。
 
其实我对这方面的技术研究还是很感兴趣的,我认为这个技术可能还是要在开源社区展开,让大家一起来做,真正的突破可能还得等个几年。

InfoQ:您怎么看待公有云和私有云之争?

Adrian: 首先,私有云数据中心这个领域我们比较熟悉的是哪一家呢?VMware。AWS 已经和 VMware 展开了一些合作。比如,我们可以把 VMware 整个堆栈延展到云端 AWS 的云上,当一个客户使用了 VMware 数据中心,当数据中心需要扩大的时候,不再需要实体扩大,而是直接在云端扩展。因为这两个是一样的,我们在云上也有一个 VMware 的部分,所以当客户的数据中心再去拓展的时候,实际上就是在云端拓展,而不是实体的了。
 
与此同时,你也可以看到,VMware 在 Kubernetes 上的支持原来是零,现在它在 Kubernetes 上的份额已经变得非常大了。

InfoQ:您认为云计算和人工智能二者之间是什么样的关系?云在现阶段乃至未来 AI 的发展进程中,会扮演什么样的角色?或者说反过来,AI 对于云计算市场的发展会扮演什么样的角色?

Adrian: 首先我们来看人工智能领域的机器学习系统,基本上你要用到的硬件肯定要有 GPU,而 GPU 本身技术发展是非常快的,可能你今年买的 GPU 到了第二年就过时了,可能就没有人去用了。以前可能是三年的折旧率,现在的折旧率可能就只有一年了,这也意味着你要不断地去换 GPU。但是在云端,AWS 和英伟达是签了优先供货合同的,也就是说英伟达的任何一款芯片都会优先供给 AWS,剩下来的才卖给别人。所以如果你使用 AWS 云,你总是能用上最先进的 GPU。这是第一点。
 
第二点,当你在做人工智能系统训练的时候,你同样需要大量的 GPU。而大量的 GPU 会出现一个问题,就是当你训练的时候需要用这么多 GPU,但是训练结束之后就用不着这么多 GPU 了,利用率其实是非常之低的。而如果你使用 AWS,就是按秒来计算的。所以虽然要按秒付费,但是你能够以最快的速度对系统进行训练,更快地得到训练结果。
 
第三点,云针对人工智能方面的优势,就是当我们在使用开源的一些软件包的时候,你要安装、调优,还要更新,其实是非常复杂的。但是有了 SageMaker 之后,我们提供了一系列工具、预配置、资源库等,能够帮助用户把这些复杂工作全部做好。

采访嘉宾介绍

Adrian Cockcroft,亚马逊 AWS 云架构策略副总裁。在 AWS 负责 AWS 开源社区开发团队的工作。曾任职于 Sun Microsystems、Battery Ventures 与 Netflix,并且是 eBay research labs 的创始成员。
 
在 Netflix 期间,Cockcroft 创建并领导了 Netflix 的开源项目,也帮助团队扩展并迁移到 AWS,随着 Netflix 公开分享其架构,Cockcroft 成为各类会议和高管峰会上的常客。
 
Cockcroft 拥有伦敦城市大学应用物理学学位。他曾出版过四本书,著名的有《Sun Performance and Tuning》(Prentice Hall, 1998)。

2018-11-07 18:4033352
用户头像
蔡芳芳 InfoQ主编

发布了 737 篇内容, 共 426.0 次阅读, 收获喜欢 2627 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

TiKV 多副本丢失以及修复实践

TiDB 社区干货传送门

实践案例

如何理解TiDB允许广义上的幻读

TiDB 社区干货传送门

TiDB 底层架构

陆金所金融核心场景数据库的去 O 之路

TiDB 社区干货传送门

实践案例

DM在Docker环境部署安装

TiDB 社区干货传送门

生态工具原理学习笔记(笔记)

TiDB 社区干货传送门

TiDB使用场景漫谈

TiDB 社区干货传送门

实践案例

Prometheus 中 histogram_quantile 函数相关的若干问题

TiDB 社区干货传送门

监控

TiDB-v4.0.x支持OLAP场景的一些实践经验

TiDB 社区干货传送门

性能调优

忘记root密码的解决办法具体实现步骤

TiDB 社区干货传送门

管理与运维 安装 & 部署

TiDB 4.0 试玩体验--Tiflash

TiDB 社区干货传送门

实践案例

TiKV笔记-Raft复制状态机--未完

TiDB 社区干货传送门

事务前沿研究丨事务并发控制

TiDB 社区干货传送门

TiDB 底层架构

分布式系统 in 2010s

TiDB 社区干货传送门

实践案例

网易游戏 Flink on TiDB 实时数据业务实践

TiDB 社区干货传送门

实践案例

使用Zabbix监控TiDB(二)

TiDB 社区干货传送门

监控

数字化转型背后的 TiDB(地产行业)

TiDB 社区干货传送门

实践案例

TiDB 在 OPPO 准实时数据仓库中的实践

TiDB 社区干货传送门

实践案例

数据库架构升级选型 - TiDB

TiDB 社区干货传送门

数据库架构选型

同步工具Gravity杂谈

TiDB 社区干货传送门

基于Drainer的TiDB的闪回实现

TiDB 社区干货传送门

TiDB备份实现

TiDB 社区干货传送门

管理与运维

tikv下线Pending Offline卡住排查思路

TiDB 社区干货传送门

故障排查/诊断

TiDB 5.0 VS MySQL 8.0 性能对比测试

TiDB 社区干货传送门

版本测评

使 pt-kill 和 pt-query-digest 工具兼容 TiDB

TiDB 社区干货传送门

PD的时钟服务——TSO

TiDB 社区干货传送门

Elastic Stack处理TiDB慢日志

TiDB 社区干货传送门

【案例】汽车之家 - 一次业务优化解决读写冲突的案例,提升 5 倍性能

TiDB 社区干货传送门

性能调优

TiDB 性能优化实践

TiDB 社区干货传送门

性能调优 性能测评

TiKV架构原理(笔记)

TiDB 社区干货传送门

浅谈 TiDB 初始化系统库过程

TiDB 社区干货传送门

性能调优 TiDB 底层架构

血泪教训 TiKV多副本丢失unsafe-recover恢复记录

TiDB 社区干货传送门

故障排查/诊断

AWS 云架构策略副总裁:开源是基础,也是未来_语言 & 开发_蔡芳芳_InfoQ精选文章