广告

从Kubernetes到PaaS再到开发者控制平面

  • 浏览(89)
  • 评论(0)
  • 译者:k8s

传统的云技术如何改变了传统的软件开发经验引发了很多讨论。在过去的20年中,我们已经通过一系列不同的技术和方式逐步改变了交付软件的方式。然而,云原生开发又带来了巨大的变化,这从根本上改变了开发人员的体验。由此也影响了现场可靠性工程师(SRE)、平台架构师和团队,甚至是技术领导者的世界。
不少文章已经研究了这些转变,集中在几个主题上:“左移”正在进行中,Kubernetes已经成为默认的编排系统,云原生生态系统是健壮和健康的。现在的挑战是通过大量的工具实现平台即服务(PaaS)方法,以支持新的云原生标准。 

20年的软件开发:爆炸式的认知负荷 


在现代软件开发的早期(21世纪中期),开发人员有很多东西需要学习,但最终使用的是一个具有完善开发过程的单体代码库。他们编写代码并将其传递出去,但并不真正知道,也不需要知道那之后发生了什么。后来,这演变成了一个简单的PaaS阶段,在这个阶段,仪表板变得很常见,现代源代码控制(git)和应用程序性能监控(New Relic)等技术占据主导地位。到2015年左右,我们进入了微服务时代,开发人员开始参与整个生命周期。随着Docker、Jenkins、Terraform、Chef和各种插件等工具的加入,认知负荷变得越来越重。到今天,认知负荷进一步增加。 

平台即产品 

在笔者20年的开发生涯中,有几个关键的收获,在这里总结一下:
单体提供了更轻的认知负载,而支持PaaS的解决方案如Heroku for Ruby on Rails则支持开发人员的工作效率。我们正处于类似转变的边缘,开发者的生产力和体验可以通过引入一个平台即产品来增强,也就是说,中心化用户体验/用户界面(UX/UI)并以分布式的方式标准化实现方式。
这会是什么样子?这在很大程度上取决于组织。一个潜在的问题是:如何以及应该提供什么样的平台?对平台的投资提供了能够快速工作、小周期、迭代发布等的结构,但这对开发人员的日常工作意味着什么? 

没有好的用户体验就没有好的DevEx 

构建一个平台需要了解用户如何承担他们的日常任务(使用你的工具),这意味着用户研究开发人员如何工作,以及他们将如何具体使用该平台是至关重要的。
开发人员越了解事物的运行方式,他们就越擅长编码。你可以使用自己的产品来了解最终用户的感受。如果他们无法实现目标,那么软件需要更改,或者你的平台需要有对开发人员体验的意识。
工作流和互操作性
理解如何提供平台是另一个关键。什么样的平台,应该如何“中心化”?组织及其开发人员的成熟度是多少?例如,一些像Netflix这样的组织处于先锋地位,为全生命周期开发人员提供了能力。没有多少组织处于这一阶段,但一个减少摩擦和提高生产力的平台将使你在走向成熟的道路上走得更远。提供一个开发人员可以轻松访问的自助服务平台,以便为自己获得解决方案——SDK、API、完成工作的UI,将为开发人员实现更大的自主权和责任铺平一条平坦的道路。 

统一云原生开发体验的下一阶段:开发人员控制平面 

现在不仅仅是Kubernetes——这只是一个共同的框架。现在最困难的是:将所有东西连接在一起并使其工作。
向基于Kubernetes的、开发人员友好的PaaS的方向发展,并使体验标准化,并不意味着取消选择和使用开发人员或更大团队喜欢的工具的自由。相反,它提供了一条道路,帮助开发人员加快速度和代码编写速度,减少认知负载。在生产环境中,平台采用提供了一组有用的抽象,并为成熟的两个重要标志创造了条件:
可预测性:关注工作流、工具互操作性以及内部和外部开发循环的能力。也就是说,使云原生代码、发布和运行过程更平滑、更简单、更可预测。
透明性:工程团队协作和工作效率更高的可靠方式,在整个软件生命周期中获得透明性,并使事情顺利进行。
随着工作流和可互操作的工具围绕标准聚合,开发人员体验的发展,包括对整个软件生命周期的认识,开发人员控制平面(DCP)的想法几乎变成了默契。无论开发人员是否需要在交付和运行阶段指导代码,DCP都提供了通用平台来管理代码、开发环境、源控制、CI/CD、清单和容器管理、API管理、Kubernetes运行时和可观察性。 

融合DCP是下一阶段云原生最佳实践 

DCP可以是进入平台的“单一窗口”,而无需完全中心化,让开发人员可以自由地自定义视图并从那里部署,使用DCP作为起点。开发人员控制平面可以增强现有的技术堆栈,并实现开发团队之间的协作,无需开发人员担心管理配置。
我们已经达成共识,我们需要一个通用的平台,用于在云原生领域编码、发布和运行软件。开发者控制平面实现了这一理念,提供了一个中心化的场所来聚集在共享标准周围并识别通用工作流,还鼓励技术集成/互操作性,最终可以推动下一阶段的云原生成熟。 

原文链接:
https://thenewstack.io/from-kubernetes-to-paas-to-developer-control-planes/

  • 分享到:
  • icon
  • icon
  • icon
  • icon
箭头