博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rust 所有权_对其进行编码,运输,拥有完整服务所有权
阅读量:2527 次
发布时间:2019-05-11

本文共 1714 字,大约阅读时间需要 5 分钟。

rust 所有权

寻求提供更好的产品和服务的软件团队必须专注于更快的发布周期。 但是,以越来越高的速度运行可靠的系统提出了巨大的挑战。 通过调整围绕持续服务所有权的策略,软件团队可以同时具有质量和速度。 在此模型中,应召唤起了很大的作用,但是知识的进步,更具弹性的代码,增强的协作和更好的实践意味着工程师不必大惊小怪。

这个由四部分组成的系列文章将深入研究全方位服务所有权的概念,转型中的心理安全性,问责制道德以及所有权对客户体验的影响。

什么是全方位服务所有权?

Code it, ship it, own it
全方位服务所有权是工程师对他们在生产中创建的代码和服务负责的理念。 使用“编码,交付,拥有,拥有”的心态,意味着拥护 ,不再将代码丢给操作人员,也不再依赖来确保野外服务的可靠性。 代替:

问责制,可靠性和持续改进是全面服务所有权的主要目标。

让工程师对他们所创造的事物保持待命状态,将责任直接交到该工程师和团队手中。

为什么问责制很重要

数字化转型改变了人们的工作方式和消费者的消费方式。 消费者心中暗含期望服务将起作用。 例如,当我尝试在线购物(几乎总是通过移动设备)时,我希望获得无缝,安全和高效的体验。 当我因为页面无法加载或引发错误而被打扰时,我只是转到可以满足我要求的另一家公司。 根据 《 ,有86.6%的消费者会做同样的事情。

Amount of time consumers will wait for an unresponsive app

通过拥有代码和服务的整个生命周期,使工程师能够在客户体验的边缘上工作,从而为公司带来竞争优势。 全面服务的所有权不仅有益于公司,也有益于工程师。 问责制确保高质量的工作,并为工程师提供直接的视线,以了解代码或服务的性能如何以及如何影响客户的日常工作。

超越主题专家的可靠性

服务将下降; 这是在数字世界中运营的必然方面。 但是,通过提供以下服务,可以减轻这些服务宕机的时间以及停机对客户的影响。

此外,采用全方位服务所有权的团队会增加他们的整体知识。 通过包括随叫随到的交接,代码审查,日常维护和“失败星期五”练习在内的实践,各个工程师可以在整个代码库中积累更多的专业知识。 新技能包括系统思考,协作和在非孤岛环境中工作。 团队和个人通过共享信息来建立必要的技能和知识冗余。

连续的提高

随着工程师努力不断改善其产品,代码和/或服务,全服务所有权的副作用是服务和警报的改进。 在正常工作时间以外中断时间的警报必须可以执行。 如果团队成员被无法采取行动的警报反复打断,则有机会通过分析数据来改善系统。 清理监视系统是时间的投入; 但是,致力于采取可行的警报措施将使团队中的每个人都能更好地进行通话,并降低警报疲劳度,这将释放出精力来专注于将来的发布和自动化。

编写代码并为该代码定义警报的开发人员更有可能创建可操作的警报。 如果他们不这样做,它将在夜间将它们唤醒。 除可采取行动的警报外,工程师还具有产生最高质量代码的动机,因为更好的代码等于更少的中断。

虽然通话可以打断您的个人生活,但通话并不意味着“永远在线”。 相反,确保高质量代码是团队的共同责任。 您可以说,它正在及时建立“非呼叫”功能,而不是将完整服务所有权视为呼叫需求。

假设您正在操作团队中对事件进行分类。 时间是至关重要的,您需要快速回答。 您是否要仔细查看负责该服务的团队所有成员的清单? 还是要打电话给您知道总是在周日下午接听电话的SME? 反复打电话给同一个人一个或两个人会给这些人带来不必要的负担,有可能导致单一的失败源,从而导致职业倦怠。 话虽如此,呼叫轮换具有多种功能:

  1. 工程师知道,在他们下班时,他们的代码和服务就会被覆盖,因此他们可以完全放松。
  2. 成为“中小型企业”的责任由轮换团队其他成员承担。
  3. 服务变得更加可靠。
  4. 通过对代码库的更深入了解,团队的知识和技能将会增加。

通过从编码到运输和所有权,全方位服务所有权通过定义角色和职责,消除不必要的层次并最终建立授权和问责文化,减少了与事件相关的混乱。 并且,在本系列的下一篇文章中,我将分享全方位服务所有权如何促进心理安全。

您的经历如何? 待命可以帮助您成为更好的工程师吗? 您是否讨厌拿起“寻呼机”的念头? 在下面的评论中或通过tweet 告诉我们您的想法。

翻译自:

rust 所有权

转载地址:http://hqizd.baihongyu.com/

你可能感兴趣的文章
Linux IPC实践(3) --具名FIFO
查看>>
Qt之模拟时钟
查看>>
第一次接触安卓--记于2015.8.21
查看>>
(转)在分层架构下寻找java web漏洞
查看>>
mac下多线程实现处理
查看>>
C++ ifstream ofstream
查看>>
跟初学者学习IbatisNet第四篇
查看>>
seL4环境配置
查看>>
Git报错:insufficient permission for adding an object to repository database .git/objects
查看>>
ajax跨域,携带cookie
查看>>
阶段3 2.Spring_01.Spring框架简介_03.spring概述
查看>>
阶段3 2.Spring_02.程序间耦合_1 编写jdbc的工程代码用于分析程序的耦合
查看>>
阶段3 2.Spring_01.Spring框架简介_04.spring发展历程
查看>>
阶段3 2.Spring_02.程序间耦合_3 程序的耦合和解耦的思路分析1
查看>>
阶段3 2.Spring_02.程序间耦合_5 编写工厂类和配置文件
查看>>
阶段3 2.Spring_01.Spring框架简介_05.spring的优势
查看>>
阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
查看>>
阶段3 2.Spring_02.程序间耦合_4 曾经代码中的问题分析
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_4 ApplicationContext的三个实现类
查看>>