2022,云上开发的新纪元
作者:互联网
社交网络上风云再起
最近,K8s 圈知名网红 Kelsey Hightower 发的一条推特再度引爆全网。他表示,本地资源的限制和外部依赖的复杂,使得远程开发趋势升温。 这推虽然话短,但力量可不小。一下子各路大V上百条跟推,大家疯狂宣泄对本地开发的不满。比如: 无独有偶,来自 Temporal 的 KOL @swyx 也发表了一篇文章表示“远程开发是大势所趋”。 为什么各路大V都开始热捧远程开发 (Remote Development)?下面我们来仔细分析其中缘由。开发者工具的云化之路
软件开发周期常常被划分为两个流程: 内循环 (inner loop) 和外循环 (outer loop)。内循环包括编码、测试、构建等。而外循环则涵盖了从代码提交到线上发布的所有步骤。 在过去,内循环阶段的开发者工具基本都是本地的。这是因为用户无法忍受网络的高延迟,希望能快速得到反馈。 但是,这个边界逐渐被打破,越来越多的开发者工具被云化。因为开发者发现他的大部分时间不是花在写代码上,而是去寻找解决问题的方法上。如果今天一个云服务能够帮助他更快地解决问题,那么这 100ms 的延迟就不再是问题。举几个例子:- Github Copilot 通过 AI 算法自动预测提供给用户代码补全提示。它有多厉害?有了它,开发者甚至连 StackOverflow 都可以不用上!
- Sourcegraph 提供了搜索代码的云服务。许多开发者用了它之后都说比本地搜索还快。
- Cloud Shell 是各个云厂商提供的包含全套开发工具 (如 awscli) 终端环境,帮助用户快速上手使用云资源。
云上开发的新体验
在整个内循环阶段,最复杂的莫过于配置开发环境。这是因为开发环境往往有众多依赖难以管理,以及基础组件配置极其复杂。而且现在讲究敏捷开发、开源协作等,很多开发者都是第一次接触项目,不懂如何配置环境。最后,哪怕用户在本地配置起来开发环境,它跟云上的生产环境差距还是很大,最后上线难免遇到新的问题,导致上线失败。 为了提升开发者效率,越来越多的公司选择将开发环境搬到云上:- 大公司:像 Google、FB、Etsy、Tesla、Shopify 等巨头为工程师按需在云上拉起开发环境。他们的工程师直接在云上完成编码、调试、构建、测试、发布全流程。
- 中小企业:越来越多的中小企业购买像 Github Codespace、Gitpod、StackBlitz、Okteto 等公司的服务来管理远程开发环境。
- 基于开源自研:像 Nocalhost 这样的项目提供了基于容器的云原生远程开发体验。不少企业基于 Nocalhost 搭建远程开发环境管理平台。
- One-click deploy:开发环境都是预定好的,可以被一键拉起。用户只需要选择编程框架和所依赖的后端服务 (如 MySQL、Redis、Prometheus) 就可以拉起开发环境来使用了。
- Cattle, not pet: Dev environments should be cattle, not pet. 每一个环境都将是可代码化的、可复制的、不可更改的基础设施。
- On-dema: 通过 Branching 等贴近开发者使用习惯的方式来按需拉起开发环境 (如下图),在分支合并到主干后自动删除。
- Integrated experience: 基于 VSCode、Jetbrains 等搭建更贴合开发者使用场景的 IDE,可以分享开发环境、一键为问题代码创建 issue、图形化分配流量到不同环境等。
标签:代码,环境,新纪元,开发,开发者,2022,云上,远程 来源: https://www.cnblogs.com/heighliner/p/16418847.html