来源 | OSCHINA 社区-CloudIDE技术社区
链接:https://my.oschina.net/u/6953519/blog/10121076
原文:《The year of the Cloud Development Environment 》作者:RedMonk 创始人 James Governor
为何行业权威都预测 “云原生 IDE 将成为常态”?
最近 CNCF 在 2023 年云原生预测中谈到 “云原生 IDE 成为常态”,让 Cloud IDE 又成为了云原生的焦点,市场上对 CloudIDE 的态度以及发展趋势讨论也是众口不一。不仅如此,去年 11 月初 GitPod、GitHub 等公司的大动作让人感觉好像开发模式马上就迎来了 “大变革”。编译器是所有开发者必不可少的工具,很多人也认为开发模式终会像应用程序一样迁移至云端,但是在实际推进过程中却遇到了很多困难。与 CNCF 的观点一致,知名软件行业分析公司 RedMonk 首席分析师和创始人 James Governor 最近也发表了关于 “云开发环境之年” 的精彩文章,下面就让我们一起从分析师的角度来阅读思考,为何行业权威敢于说我们即将迎来 “云端开发环境之年”。2023 是云开发环境(Cloud IDE)之年。也许这看起来就像科技界中流传最久的笑话 “这是桌面 Linux 的一年” 一样,或者,我们终于迎来了云优先的开发者体验(DX)时代。2022 年 11 月,GitPod 在 A 轮融资中获得了 2500 万美元,用以发展云端开发环境。GitHub 联合创始人 Tom Preston-Werner 以其对开发的经验领衔本轮投资。本轮投资还有 Shopify 创始人兼首席执行官 Tobi Lütke 、 Datadog 创始人兼首席执行官 Olivier Pomel 及敏捷宣言的签署人 Kent Beck。GitPod 致力于让软件开发变得更简单,减少开发人员的工作量。这与编译器无关,而与环境有关,此后一周,GitHub 宣布 CodeSpaces 将面向所有的 GitHub 用户开发,每周免费试用 60 小时。GitHub 最新数据拥有 9400 万用户,这对云开发环境来说是一个巨大的潜在增长。云端开发环境不是仅仅是在线编译器,而是一个平台。AWS 早在 2016 年 7 月就收购了 Cloud9,鉴于其规模及影响度,大部分人都看好 AWS 会将在线编辑器作为成为一款成功的产品。但是开发人员更喜欢他们的 MacBooks,喜欢高规格的本地性能。云端编译器带来的延迟,以及工具链和编译环境的变化对于开发人员来说都是大问题。因此,至今为止开发人员仍保持在本地开发。但与基本的在线编辑器不同,云端开发环境创造了一个端到端的开发环境,利用云技术的优势,更好地与代码库、构建工具、数据库、Kubernetes 工具和运行时间等集成,对开发人员的工作流程进行打包和交付,以提供更好的可重复的、安全的、自动化的、不可改变的开发环境。而且行业领导者现在一直在谈论 Testing in Production,这也意味着 Developing in Production,试想如果云端开发环境提供了更优质的环境,以及更合理的流程让每个人都可以获得即时的体验,那会怎么样。“云” 丰富的优势,以及在 “云” 中做所有这些事情的能力,使开发者的日常工作更容易。只要连上云开发环境平台,开发者甚至可以不暇思索的运行容器,把远程 API 作为 DX 的一等公民来对待。Vercel 和 Netlify 已经展示了利用熟悉开发工作流开发相应产品带来的市场热度。那么,为什么不把这种方法应用于优化开发工具本身呢?究其原因还是本地性能与 “云” 的差异对开发者带来的影响。很多开发者认为 Macbook 性能非常强大,可以完美的完成本地开发工作。但是,如果我们考虑云内存和计算能力,考虑到容器的优势以及不可变架构,那么我们会发现云的真正力量,因为没有一台本地计算机可以拥有像公共云那样丰富的存储和计算。那么 API 呢?这是一个无法避免的问题 —— 您将如何测试调用远程 API?为什么不将所有这些功能作为打包好的云服务提供给开发者呢?开发者体验(DX)的本质是消除无意义的繁忙工作,面向任务的端到端开发环境,随时可按需使用。我对云端开发环境感兴趣的原因之一是渐进式交付(Progressive Delivery),云计算能力让 A/B 测试、blue-green deployments 和 feature flags 等技术变得更加容易,因为我们可以复制任何环境。我们早已过了 “不得不在硬件和软件上花费 1000 万美元,以便在开发过程中,使用高性能的开发、测试、QA 和登台环境” 的时代。如果您可以拥有一个服务实例,为什么不拥有五个呢?如果你能运行一个容器,为什么不运行 10000 个?因此,渐进式交付在与 CDE 具有同样丰富资源的情况下,提供给我们一次重新思考开发人员工作方式的机会。性能的另一个方面当然是网络,这是使用 CDE 的想法中经常遇到的障碍之一。但随着 5G 的发展,网络显然不是大问题。我与 Gitpod 的 CEO Johannes Landgraf 讨论了他对市场的看法。他认为 “当开发者真正感受到便利时,他们将开始改变自己的行为。就像 Figma 当时统治市场一样。” 我完全同意他的观点。便利是促使人们改变习惯的有效方法。我们在很多领域都看到了这一点,我们总是会选择最简单的。即使它稍微贵一点,只要方便,我们就会使用它,喜欢它。但在 DX 中,我们仍然没有发生这种变化。兰德格拉夫说:该行业还没有迎来 “菲格玛” 时刻。开发人员将所有工作都迁移到云上,这是多么奇怪的事情。不仅 Gitpod 一家在推进 CDE 的发展,我们了解到 AWS Cloud 在这一领域的重大投资,重新思考 DX 云服务。就在不久前,AWS 在 re:Invent 发布了 Application Composer(AWS 服务的可视化低代码设计,本质上是 AWS 重新制作的 Stackery)和 Code Catalyst(云开发环境,统一软件开发和交付服务)。GitHub 在 Codespces 产品已经取得了进展,现在很多用户为 Codespaces 支付大量费用。微软有一个微软经典版版本,它实际上是在云上提供一个叫 Dev Box(开发盒子)的开发机器,它将吸引那些容易引导员工上手及对公司有安全保障的 Windows 和.NET 应用商店。如果我们将 Dev Box 与最近发布的 Azure Automations 集成,我们可以从 DX 的角度开始做一些强大的事情。CDE 致力于彻底改变开发模式,真正利用云服务和路由,而不是简单地考虑如何构建基于浏览器的 IDE。一些云服务将由本地 IDE(如 JetBrains 或 VS Code)访问。这是一场对新的开发模式拥抱和延伸的比赛。协作应该容易得多。每次我们做一些工作时,它都应该有一个 URL,Netlify 和 Vercel 模型应该适用于后端开发和前端开发。无论是哪个产品为开发者或管理者解决了这些问题,都有可能打开市场成为热销产品。Landgraf 解释说,整合多产品是 CDE 的关键点之一。例如,当开发人员访问 GitPod 控制台时,他们应该已经通过 PlanetScale 或 MongoDB 进行了身份验证。CDE 是场 “包装” 的较量。正如我经常说的那样,任何科技浪潮中最好的包装商都会赢得胜利,并赢得巨大的胜利。我认为我们目前正在研究的是如何包装开发人员的工作,并试图使其变得非常非常简单。我最近和一位老朋友进行了一次交谈,我们打赌是否真的迎来了云端开发环境的时代。我敢确信,大约 25% 的企业软件开发将在 7 年内使用 CDE。可能部分读者认为这个时间过于激进了,但是一旦产品发展起来,市场拓展的速度会非常快。我认为,我们将看到大量的开发人员工作转移到云环境中,因为无论本地开发环境有多好,都要考虑云服务带来的高效的开发、集成和自动化等优质的开发者体验和工作流程。云端开发环境解决了开发者体验差距,这就是我认为它们不可避免的原因,它会从根本上改变了科技行业。我们认为在数字化转型的大背景下,本来就应该将各个信息孤岛打通,IDE 作为开发者的日常使用工具,从未像现在一样受到大家的关注,CloudIDE 将开发者熟悉的 IDE 搬到云端,并且打通所有的工具链是未来的大趋势。CloudIDE 是个非常重要的入口,正如当前被制造业推崇的 JIT(Just in time, 实时生产系统),整条供应链高效协同一样,高效研发的所有工具链也会随着 CloudIDE 搬到云端以对开发者提供最佳的使用体验:需求分析、软件设计、代码编写、软件构建、软件测试、软件发布、软件部署、软件运维等各个研发阶段所用到的工具链组成一站式的开发平台,这种协同开发体验在一台再高性能的笔记本都不可能实现的,因此 CloudIDE 才是数字化时代的未来。