讲完 DevOps,让我们再来看看云原生时代新的挑战和机会。前文提到 CODING 时已经说过,我们以前定位于 DevOps,现在的定位是云原生的开发套件,除了 DevOps 以外,我们也看到了在开发工具和开发方式上,存在一些新的机会与亟待解决的问题。首先是 IDE,其在过去的发展已经非常的成熟,比如桌面端的 IDE,但是这些 IDE 是不是真的适合用来做云原生应用开发呢?开发环境的配置是不是越来越复杂?是不是需要一个随时随地可以写代码的 IDE?基于这些思考,我们于 2018 年推出了 Cloud Studio。
这个产品做了挺多年,今年我们对其做了一个非常大的改版,希望定位是一个真正好用的云原生的 IDE 平台,我们不是要取代本地 IDE。而是说在不同的应用类型上,在开发云原生应用时,可以为开发者提供超越本地 IDE 的流畅、便捷的编码体验。目前 Cloud Studio 支持的语言环境已有二十多种,开发者在上面创建的工作空间有十万多个,每天开发者在 Cloud Studio 平台上的开发时长已经累计超过 120 小时。并且我们做了非常多的开放的工作,包括协同编程,你可以进入其他开发者的工作空间,一起做一些开发、调试工作,这在本地 IDE 很难做到;开放的生态也支持各种插件,Cloud Studio 的启动速度基本上是 3 - 5 秒的秒级启动;并且我们做了非常多的模板以及开发环境的配置方式,对新手也非常友好。
除了开发通用的云端的 IDE 之外,这个技术也希望能够帮助不同的行业去落地不同的解决方案,比如在线课堂可以做编码 Demo,低代码开发是否需要一个编码环境,招聘笔试等等,包括我们跟腾讯会议也会有一些集成,在开会的过程中如果需要对代码互动,是不是可以有这样的工具来更好地支持这样的场景?我们希望能够帮助更多的行业去更好地协同。
- Nocalhost - 让云原生开发回归原始而又简单在云原生的开发上,除了 IDE 的问题,我们还发现整个研发测试环境的搭建也存在问题。想象一下,如果你有一个 100 个微服务的应用和一个新入职的员工,你该如何让他上手开发这个应用?要给他一个怎样配置的开发机器,才能够让他把这个应用的开发环境跑起来?整个开发测试过程能不能更高效?我们发现其实很多企业都有这样的痛点,在微服务的应用越来越庞大的时候,很少有企业能够让每一个开发都有自己的开发环境。而共享一个开发环境,相互之间就会有各种各样的影响。所以我们在思考,有没有办法可以像开发单体应用一样,开发一个复杂的云原生应用呢?于是我们推出了——Nocalhost。这个产品是去年年底对外发布的,经过将近一年时间的开发和迭代,现在有很多用户已经用在了自己的开发工作中。
在这里解释一下 Nocalhost 名字的由来。十几年前我们做开发都是用 Localhost 来调试,因为当时不需要网络就能模拟网络情况,实现开发网站的反馈循环。而在云原生时代,已经没有 Localhost,或者从理论上讲没有本地的,所以是 No localhost,但是我们仍期望能够达到像本地一样的开发反馈。
如图所示,左图是目前开发云原生应用的流程,如果需要调试,查看改一行代码的效果,需要经过大概六个步骤,从编译到上传制品,甚至需要重启某个微服务或容器,这个反馈循环很慢,至少是分钟级,甚至 5 - 10 分钟。而在 Nocalhost 的机制下,反馈直接降低为三步,并且不需要编译,不需要上传制品,体验上基本能做到跟本地的 Localhost 一样。我们也希望在整个开发体验上完全媲美本地开发,所以我们做了很多工作,包括容器的快速部署、快速启动,一键 Debug,多人共享的开发环境等等;同时也提供了 Server 端,能够让企业的资源管理人员拥有管理能力,去分配不同研发人员的开发资源,更好的回收以及重复利用开发资源。我们希望 Nocalhost 这个产品能够给云原生应用开发带来全新的体验。
展望未来最后展望一下未来,在这个领域还有哪些我们目前还没有做,但是认为非常有价值,我们将来会去做的事情。这里例举了三个我们认为比较有价值的行业发展方向。