当前位置: 首页 > 科技观察

平台工程占主导地位:提升开发体验呼声高涨!

时间:2023-03-15 16:40:33 科技观察

作者|丹尼尔·布莱恩特策划|严政在云原生开发领域,“DevOps死了吗?”,“云上DevOps太难了!”网上有很多类似的问题。但答案很明确:没有。随着平台工程的兴起,这类问题的答案发生了变化——DevOps正在发生变化,但不会很快消失。DevOps的角色已经改变,它将成为提升开发者体验的助推器,帮助大家事半功倍(DoingMorewithLess)。随着各行各业的公司面临不确定的经济风向,“事半功倍”正在成为指导原则。众所周知,云的出现给DevOps带来了沉重的认知“负担”:开发者的精力似乎更多地分配到了学习和使用一堆基础工具上。而像AmbassadorLabs这样的开发者平台的悄然出现,或许正在为开发者铺平道路。开发者平台旨在帮助开发者实现更高的生产力,减少认知负荷(“学不完”的负担),同时安全快速地维护软件。平台工程作为一门学科,虽然仍未定义且含糊不清,但随着越来越多的打包和商业选择成为简化云原生开发之旅的工具,它开始发生变化。虽然“平台工程”的定义仍有待解释,但方向是全速前进,专注于塑造和改善开发者体验。实现这一目标的最有效方法之一是重新关注现有的DevOps团队,使他们事半功倍,成为类似于支持开发人员体验的“平台工程”。1.云原生挫折导致的进化有两件事可以证明平台工程和开发者平台的兴起,未来的主导地位和商业化。首先,开发人员的挫败感是众所周知的。Kubernetes开发人员有理由对微服务和云原生开发的引入带来的一些新挑战感到沮丧。开发范式的彻底改变,加上开发人员应该能够“左移”并负责其代码的端到端代码执行的突然期望,产生了额外的、容易抱怨的认知负担。其次,还有一组突然落在开发人员身上的例行、重复性任务——在许多情况下,没有任何类型的路线图或一组抽象来确定使用什么工具。包括缺乏可见性的服务,以加快他们所需的反馈循环。这些都相当于拖慢了产品和功能的实现。Garden的开发人员生产力调查发现,开发人员每周平均花费15小时在非开发任务上。这不仅是对糟糕的开发人员体验的轻描淡写,而且还会拖累生产力并严重降低底线。其次,虽然一些开发人员享有试验和尝试新工具的自由(1%),但绝大多数(99%)希望并且可能需要清除“护栏”和“黄金通道”来维护和运行他们的代码。大多数开发人员希望将时间集中在编写代码上——而不是运行基础设施和试图找出应该工作以提高生产力的事情,比如维护工具、设置开发环境、自动化测试等。推而广之,大多数企业需要标准化、可复制性和一致性的安全性和稳定性。能够满足客户需求、控制成本和确保安全是重中之重,虽然本质上并不反创新,但业务关键型要求会阻止过多的创造力,并依赖于流程、自动化以及使用相同标准和工具的每个人的工作。这就是DevOps继续发光的地方。DevOps也在不断发展,但并没有消失。相反,DevOps正在转向平台工程(又名PlatformOps)支持模型,该模型消除了这些障碍,降低了开发体验的复杂性,并通过为开发人员创建平台来消除开发人员日常工作中的摩擦。PlatformEngineering以传统的DevOps实践为基础,并利用这些知识和经验来确定和实施新的效率,并事半功倍。或者,如前所述,“你可以说平台工程采用了敏捷和DevOps的精神,并将其扩展到云原生世界的背景下”。2.开发者平台是一个中间地带,给开发者更多的控制权和洞察力,以提高速度和构建效率。这可以鼓励开发人员管理其软件的整个生命周期。出发点是好的。但是基础设施不是,而且很可能永远不会是开发人员的主要关注点——或者是开发人员引导他或她的精力的最有效的地方。然而,在云原生领域,开发人员需要更多地了解基础架构以及代码发布后会发生什么。如果出现问题,开发人员仍然需要对代码负责并了解其依赖关系,以帮助排查和识别(并修复)下游问题。对于服务、环境和云本身的组织和决策而言,情况并非如此。这是让一个学科的专家试图快速专攻某个完全不同的学科,这既违背了提高速度和开发者体验的初衷,也违背了事半功倍的想法。有时,将专业责任交给外行,认为这会缩小资源足迹——事半功倍——的想法更有问题。因此,开发者平台的最佳选择应该是中间立场,即花更少的钱获得更多的收益。基本上,开发人员平台可以:为开发人员自助服务提供铺平道路所需的工具和可见性,但又要足够灵活以适应不同类型的开发人员。它适用于寻求可靠、高效生产的新开发人员和经验丰富的开发人员。使DevOps/PlatformOps能够支持和增强自助操作,增加他们在战略改进和项目上花费的时间和精力,减少救火时间。由于操作和资源数据集中在平台内,因此可以更好地衡量性能、合规性和安全性。多行业公司预算紧张的舒缓镜头。开发人员平台是“一种确保本地开发环境设置良好的方式,并且没有人坐在那里等待构建完成。所有这一切都依赖于平台工程团队可以促进的快速反馈和透明度”3.开发者平台比老式的DevOps可靠开发者平台比基础设施可靠得多!多位开发者、平台工程师、DevOps和站点可靠性工程师也表达了相同的观点。云原生计算基金会(CNCF)前生态系统副总裁、谷歌前软件工程师CherylHung此前曾强调开发者平台的重要性。为什么重要:“基础设施可能不可靠;它可能会失败;它是不可预测的。与每次都以几乎相同的方式运行的软件相比,基础设施的操作确实更加棘手。”如果一个开发者平台是为了效率和生产力,那么它在现实中是否可用是决定它是否受欢迎的关键。利益相关者(开发者)使用平台实现价值是第一位的。创建一个开发人员平台来解决阻碍开发人员安全快速地维护软件的典型挑战。该平台必须解决开发人员在工作中需要知道、看到和经常做的事情,并定义无缝执行此操作所需的抽象。所以,从开发到运维:基础设施这么难用,那么工具和可视化才是全周期开发者的关键。也就是说,基础设施上的DevOps变了:变到了开发者平台层面。这样开发者更容易接受,对企业也更有利。反复谈论“开发者体验”可能听起来有些夸张,但这确实是一个永恒的主题。如果开发者体验和支持开发者工作对于实现业务目标和明智地使用资源至关重要,那么在这个层面上,DevOps、PlatformOps和PlatformEngineering都是一样的,都是为了持续保护和改善开发者体验。4、在云原生环境下编写的DevOps让开发者苦不堪言,这已经成为公认的事实。虽然这不是DevOps的初衷,但不确定性的背景显然已经平息了这种趋势。“DoingMore”将“WithLess”的原则映射到开发和维护层面,基于“平台工程”的开发者平台似乎迎来了崛起的时刻。原文链接:https://thenewstack.io/2023年的平台工程-少花钱多办事/