作者 | Daniel Bryant 编译 | 郭露
出品 | CSDN(ID:CSDNnews)
由于基于Kubernetes的云原生软件交付的复杂性和速度限制,以往互不干涉的开发人员、运营人员和网站可靠性工程师(SRE)之间的合作变得至关重要。三者间的合作能够推动云原生软件开发的发展,缩短开发周期,实现更快更安全的软件交付。本文由三部分组成,主要讨论开发人员的职责有哪些变化、运营人员和网站可靠性团队的影响、以及云原生开发领域对各角色的要求。
开发人员新常态
开发人员如今不仅仅要负责编程,还要完成数据传输和软件运维等工作。当然,这些工作涉及到与运营人员和SRE的合作。对于开发人员来说,这种云原生的“新常态”依赖于整个环境思维的转变,以及对开发者掌控整个开发周期的信任。同时它还需要开发人员与SRE和运营团队转变合作方式,更多地关注软件运作的目标,而不是处理故障或是临时需求。这类团队合作越多,开发人员的工作就越轻松,从而缩短开发周期,软件就能更快、更安全地交付给终端用户。
旧的不去
开发人员在传统的开发流程中效率较低,但这并不适用于云原生开发的工作方式。微服务驱动的开发推动了重大变化,其中包括新技术和工作流程。“内部/开发/循环”与“外部/开发/循环”以及其他领域的联系日益紧密,其中涉及到各类复杂的传输过程。由于这种复杂性,云原生仍然是未知的领域。目前各大云原生公司处于不同的发展阶段,因此编码将不可避免地与云原生同步进行,而开发开发人员将同时处于这两个领域中。
对于对云原生有一定了解的公司而言,云原生开发生态系统使得系统构建、数据运输和运行分布式系统更为复杂,开发人员要重新涉足一个陌生的领域。尽管其他生态系统已经借助各种工具进行处理,但这也使得工具过度泛滥。同时,随着这些工具的流行,开发人员需要负责整个软件开发周期,即使他们并不了解运行或交付方式。倘若不改变开发人员、SRE和运营人员之间的关系,不打破现有困境,不改变三者的工作范围,那么云原生应用开发可能达不到预期的速度。
新的不来
那么,未来的新型合作模式将如何呈现?开发人员如何调整他们的工作方式、如何创新开发模式并和SRE和运营团队开展合作?这种工作模式如何帮助他们发挥云原生开发的灵活性和优势,从而促进云原生应用的交付?
从开发者的角度来看,熟悉基础设施的确非常困难。对于需要严格控制资源的公司或是团队,让开发人员亲身了解基础设施并运行应用程序非常有利。这种方法既能够锻炼开发人员的能力,又可以释放现有的SRE和运营团队资源,并提高处理问题的效率。
从SRE的角度来看,团队应当支持开发人员的工作,维护“谁建立,谁运行”的模式。SRE应支持交互式自助服务,而不是在事后放马后炮。“倘若开发人员能够了解完整的代码运行过程,他们自己就可以处理故障。”
从运营和平台的角度来看,运营的功能是帮助维护开发者的工作,他们需要确保技术能够完全契合开发人员的体验。为开发者铺平道路可以简化他们的开发流程,而这有助于防止工具的蔓延,并支持开发人员的所有权,这是快速安全交付软件的关键。
掌握开发周期所有权至关重要
尽管缺乏统一的开发人员体验,但大多数以云为基础的公司团队,不管发展到了哪一个阶段,都有许多共同点,主要为以下两点:
第一,跨职能合作。对于开发人员来说,与SRE和运营团队的跨职能合作极为重要。他们可以帮助减少开发人员工作的复杂程度,并确保用户能够完整体验软件的功能。
第二,赋予开发人员所有权。确保开发人员的所有权有助于推动整体工作的实施,并促进团队实现其目标。
如今开发人员的体验正在逐步改善,加强合作并促进云原生软件开发能够进一步保障开发人员的工作。
原文链接:https://thenewstack.io/how-the-developer-experience-is-changing-with-cloud-native/
本文已获原作者授权,未经允许,请勿转载!
《新程序员003》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!