当开发者可以访问生产环境时,他们可以直接与他们构建和部署的真实系统进行交互。
译自 7 Benefits of Developer Access to Production。
图片来自 Shutterstock 的 Juice Flair
平台工程已经成为现代软件开发的一个游戏规则改变者。它承诺通过自动化的基础设施运营和自助服务能力来革命性地改变开发者体验,并更快地提供客户价值。这种方法的核心在于一个关键方面:开发者访问生产环境。
让我们来探讨为什么为开发者提供访问生产环境对他们的生产力和产品的成功至关重要,以及它如何与平台工程的原则完全一致。另外,对开发者进行安全、受控的生产环境访问可以显著地减轻运维团队在重复任务上的操作负担,使他们能够优先把资源用于高价值任务,如基础设施扩展或安全增强。
当开发者可以访问生产环境时,他们可以直接与他们构建和部署的真实系统进行交互。这种访问转化为更高的生产力,减少了与独立运维团队沟通以诊断和解决问题的需要。这种第一手的交互意味着开发者可以即时诊断、故障排除和纠正他们检测到的异常或低效,而无需等待反馈或遍历官僚过程。
通过沉浸于生产环境中,开发者可以获得宝贵的洞察力,识别潜在的瓶颈并使用真实世界的数据微调他们的代码,这导致了更快的迭代和更高效的开发流程,这在他们的本地开发环境中是难以实现的,因为本地环境通常无法完全重现生产环境的实际行为。
在软件开发的快节奏世界里,每一分钟都很宝贵。因此,解决问题的延迟可能会导致相当大的挫折。
当开发者可以访问生产系统时,他们可以迅速诊断和解决问题,最小化平均故障解决时间(MTTR)。这种能力在高压情况下特别有益,比如系统故障,开发者对代码库的第一手经验通常意味着更快地找到问题组件,并确切知道需要收集哪些日志、事件或数据来进行故障排除和诊断。
这种实时故障排除和调试的能力不仅可以减少停机时间,还可以提高系统整体稳定性,因为它更容易预测潜在的系统瓶颈或故障。开发者可以提供对可能影响系统性能的未来更新或更改的见解,让运维团队有时间准备。
授予开发者访问生产可以培养责任感和所有权。当开发团队对产品的性能和可靠性负责时,他们会对其成功负更多责任。这种责任感驱使他们交付高质量的代码,并积极参与维护应用程序的健康。
对生产环境的良好规范访问应该在开发和运维团队之间建立共享责任模式,因为系统运行时健康和正常运行时间的责任变成了共同的努力。这种协作方式确保开发和运维团队在目标上保持一致,减少误解或优先顺序不一致的可能性。
当开发者可以自由探索和实验时,他们就可以发挥最大的创造力。通过提供生产环境的访问,组织可以使他们的开发团队进行创新并推进界限。开发者可以直接在生产环境中原型和验证新功能,这将导致更具创造性和创新性的解决方案。
在传统设置中,来自运维团队的反馈可能需要时间才能传达给开发者。然而,通过直接访问生产环境,开发者可以通过收集日志、数据样本和事件,即时了解他们的代码对性能、扩展性的影响。此外,来自实时环境的数据和见解使开发者能够做出明智的决定,根据实际用户交互精炼他们的代码,并逐步改进软件。
这个反馈循环支持持续改进,导致更快、更可靠的更新。这种直接参与不仅精简了开发和维护过程,还确保解决方案针对现实需求和挑战,从而缩短开发周期和减少上市时间。
在大多数传统设置中,运维团队充当生产环境的守门员。虽然这有助于保护生产环境免受某些风险,但它也迫使运维团队参与重复性任务,如收集日志和事件、调整配置、分析有效载荷等。通过向开发者授予对生产的受控访问,运维团队可以减轻现有的负担,提高整个团队的生产力。运维团队可以更多地关注战略任务和主动的系统改进,而不是陷入日常故障排除的泥潭。
从本质上讲,允许开发者访问生产为他们与运维团队之间建立更加互利的关系铺平了道路。它促进协作,促进知识交流,最重要的是,确保两个团队和谐地为一个共同目标而努力:提供无缝、弹性的用户体验。
当开发者可以直接在生产中调试时,组织可以显著减少日志记录成本,避免进行昂贵的重新部署或仅仅为添加新的日志行而启动新的 CI/CD 周期。这种直接访问加速了问题解决,消除了不必要的重新迭代支出。成本优化也影响运维团队:在开发者自主解决某些问题的情况下,运维团队可以更好地分配资源,优先处理需要他们特定专业知识的任务。
Lightrun 的开发者可观测性平台通过动态日志添加、指标集成和虚拟断点简化了生产应用程序中的调试过程,而无需进行代码更改、应用程序重启或重新部署。
Lightrun 的平台通过以下方式为开发者提供对生产的访问:
- 动态日志,允许开发者在生产代码库的任何位置添加新的日志行,无需编写新代码或重新部署应用程序,并且不会丢失状态。
- 快照,是虚拟断点,提供了典型的断点功能,而无需停止执行,允许它们直接在生产上使用。 捕获快照后,开发者可以查看捕获的数据并对其采取行动。
- 指标,可以实时和按需监控生产应用程序。 例如,它们可以监控数据结构的大小变化,允许用户找到只能在生产系统上重现的错误。
虽然为开发者提供生产访问具有优势,但它也带来了安全性、审计和数据保密等挑战。 Lightrun 如何解决它们:
- 安全性:Lightrun 实施了强大的安全措施和访问控制,以防止未经授权的访问并降低风险,确保对生产的受控安全开发者访问。
- 审计和合规性:其全面的审计系统有利于持续的合规性监控,简化审计流程,确保遵守行业标准。
- 数据保密:它保护生产环境中的敏感数据,防止日志和快照中暴露。这使开发者可以安全合规地使用生产数据。
- 受控访问管理:Lightrun 使组织能够为用户和角色定义精确的访问控制,创建一个安全协作的开发环境。
允许开发者访问生产环境是平台工程的基石。它使他们能够更有效地创建、创新和维护自己的产品,最终有利于整个组织及其客户。
为开发者提供生产访问对生产力和产品成功至关重要,强大的平台像 Lightrun 是这个策略的一个强大促进器。