运维数据反馈助力软件开发
1 反馈流程
1.1 部署
反馈流程始于软件部署,部署方式多样,涵盖自动化的持续交付/部署流程,以及需更复杂(常为手动)流程才能推出的软件单元发布。前者在公司自身组织边界内(如公共/私有云或数据中心)进行,同一组织(且常为同一团队)的产品开发人员与DevOps/运维工程师负责软件的可操作性;后者则通过顾问/解决方案架构师以本地部署软件的形式交付(有时会交付到多个地理位置分散的客户端站点)。
1.2 反馈治理
在从本地部署到完全云部署的各种级别中,都需控制哪些运维反馈可供哪些利益相关者使用。这种治理应明确提供关于数据处理的高级规则,无论是在组织内部还是跨组织层面。这些规则由DevOps/运维工程师通过过滤和控制运行时数据来实施和执行,其结果是确保了数据隐私,且产品开发人员只能访问无违规或不合规风险的数据。
1.3 产品开发中的决策制定
运维数据通过治理后,会成为产品开发中利益相关者的宝贵反馈。例如,产品/项目经理可利用运行时反馈更好地规划功能并优化项目计划;软件开发人员和DevOps工程师能全面了解用户对软件的使用体验(如性能指标、使用计数器),并调整程序和基础设施代码以提升整体体验。随后,通过运行时反馈做出更优决策,对软件进行更改并重新部署,反馈循环再次启动。
以下是反馈流程的mermaid流程图:
graph LR
A[部署] --> B[反馈治理]
B --> C[产品开发决策制定]
C --> A