返回

提问 添加收藏

CNCF 执行董事:较少的技术债务,使中国后发先至

编辑部的故事 发布于 2018年11月25日 (共有0个回帖)

KubeCon + CloudNativeCon 中国大会日前于上海成功举行,会上 CNCF 执行董事 Dan Kohn 发表了主题演讲《几乎所有的计算都是边缘计算》,我们有幸对他进行了采访。

Golang 为什么会成为云原生的首选语言呢?在 CNCF 中也没有要求大家用 Golang,而似乎类似的语言也有不少。

其实一直以来都有一个玩笑,说在 CNCF 里必须使用 Golang,但是其实在 CNCF 收录的项目中,有不少是使用了其它语言的,比如 Envoy 用的是 C++,Fluentd 用的是 Ruby,Linkerd 也有一部分是用 Rust 写成的。那为什么 Go 会成为云原生的首选呢,因为你可以看到,CNCF 的所有项目都是相对比较新的,那么,在同类型、优势类似的语言中,大家会愿意使用一些更新的语言,‌‌Golang 就是这样,所以更多人对它有兴趣。

微服务在云原生中具体起什么作用?如果没有微服务,那是不是无法完成云原生的交付?

没有微服务的话,云原生的交付确实是不可能完成的,但是这并不是说我们一定要重新改写所有的软件才能够去实现云原生。‌‌

有很多系统都是单体架构的,体量大了就会有不灵活等问题,如果要想整个去改写它,花费的时间等成本会很高,这是与微服务相悖的,云原生就是在提倡怎么去避免这些问题。

具体说到怎么去改变这种现状,首先第一步就是不要再重复当前的步伐了,不要再往这个死坑里深挖,要先跳出来。

第二步是从单体转到云上,不管是公有云还是私有云,这个过程可以使用 Kubernetes 帮助实现。

第三步是把项目进行拆分,取其中的部分单独成一个新项目进行维护,进行使用不同语言重写,就这样一步步去拆分最后就将单体架构变成精美的微服务架构,同时你也就得到了一系列微服务。

可以看到 Kubernetes 在这个过程中产生的作用,所以我们说它不仅适用于全新的领域,而且对于一些已经成熟的项目、领域来说是同样适用的。

Serverless 架构看似也与云原生密不可分,既然云原生强调了微服务架构,那么 Serverless 与云原生又是一个什么样的逻辑关系呢?

Serverless 实际上是处于一个 K8s 和云原生顶层的一个概念,它可以使开发者在开发云原生应用的时候更加快捷。

关于它的优势主要有这么几点:

  • 无限的可扩展性
  • 按需以秒付费
  • 简单的应用更新
  • 事件驱动
  • 零服务器操作 

并且我们觉得 Serverless 是未来的一个趋势。

云原生应用开发有一个经典的 12 要素原则,当下它有怎样的发展呢?

12 要素原则是一个很普遍的云原生应用开发路径,Kubernetes 可以很好地运行基于 12 要素的应用,其实它也可以很好地运行其它类型的应用,例如数据库。

有的人建议可以把 Serverless 作为新的途径,因为 Serverless 上运行的很多应用程序都是基于一些准则与指南的,在这样的条件下,应用可以很快得到改进与提升。

目前 CNCF Landscape 上收录了众多项目,在应用开发整个流程中有没有覆盖不到的环节,或者相对比较薄弱的环节?

我们其实也一直是在进行一个追踪,试图了解哪个环节有哪些项目,哪个环节上 CNCF 还没有相关项目。目前来看,相对薄弱的,比如像 CI/CD 实际上是非常重要的,但是现在这个环节上就没有什么项目。

谈一谈中国。您曾经说过 “China today has this classic example of a second-mover advantage where they just didn’t have the couple decades of previous investment into proprietary technologies. So they’re building up from scratch today, and looking at best practices from around the world.”,例如在电子支付方面,我们国内也总结出所谓的“后发先至”,我们可以简单地理解其中最基本的逻辑是指因为没有古老的技术债务累赘,所以可以轻快地直接采用最先进的技术,但是除此之外呢,请您分享一下您关于“后发先至”的理解。

其实背后的这个逻辑大概也就是指因为没有过去各种债务的累赘,那么就可以直接从新兴的事物去采用。

一个特别经典的案例就是手机的发展,‌‌中国过去没有太多固定电话,那么相应的人们接受观念转变和相关技术转型就没有那么多的难度,于是手机在中国就可以发展得很好。

然后到了人手一手机的时候,大家自然就会想要去用手机支付,然后随后包括微信、阿里支付宝等等东西出现,手机支付在中国就迅速兴起了。

再然后,在手机支付的基础上,实现了自行车租赁、雨伞租赁、汽车租赁、充电宝租赁等能力,它们也能够很快得到发展。而这个时候的欧美,其实在这个领域才刚刚起步。

同样的,云原生也一样,Kubernetes 本身现在只有四年的历史,但是中国的京东现在已经是全球最大的用户了,‌‌他们有全球最大的 Kubernetes 生产集群,包括 25000 台服务器,包括 5000 个集群。‌‌他们非常愿意去使用这些新技术,因为没有过去的一些累赘‌。这就是后发先至。

Linkerd开源访谈FluentdRustKubernetesEnvoy
文明上网,理性发言
客户端 Android iPhone WP7