写点什么

亚马逊云科技发布架构决策记录指南

作者:Abner Ballardo

  • 2022-06-28
  • 本文字数:975 字

    阅读完需:约 3 分钟

亚马逊云科技发布架构决策记录指南

亚马逊云科技发布了使用架构决策记录(architecture decision record,ADR)的指南。他们推荐了一个在软件工程团队中采用和审查 ADR 的过程,这个过程的结果是包含已批准、已拒绝和已废弃的 ADR 集合的决策记录。


亚马逊云科技提出该 ADR 过程的目的是改善架构决策,避免对相同主题的重复性讨论,并有效地对决策进行沟通。


ADR 是一个简短的文档,描述了会影响软件架构的团队决策。它不仅包含决策,还包含了相关的背景和影响。一组 ADR 组成了一个决策日志,它提供了关于项目或产品的更广泛的背景、设计信息和实现细节。


ADR 过程中,最常见的输入是需要在架构方面进行重大决策的功能性或非功能性需求。发现了这种决策的任何团队成员都应该创建一个 ADR。使用模板可以简化 ADR 的创建,并且能够确保它会捕获所有相关的信息。


按照亚马逊云科技的指南,创建 ADR 的团队成员也是该 ADR 的所有者,要负责维护和交流它的内容。在初始阶段,ADR 所有者会提供一个“proposed”状态的 ADR,这意味着它可以进行审查了。随后,ADR 所有者要安排一个团队会议,以审查并决定该 ADR 要被批准、返工还是拒绝。


如果团队发现该 ADR 需要改进的话,它会依然保持“proposed”状态,所有者和其他团队成员会对其进行优化。否则的话,ADR 的状态将会变为“accepted”或“rejected”,ADR 就不可改变了。如果团队需要更新这个决策的话,那应该提出一个新的 ADR,当该 ADR 被批准后,会取代之前的 ADR。


下图展示了 ADR 的创建、所有权和采用的过程。



图片来源:https://docs.aws.amazon.com/prescriptive-guidance/latest/architectural-decision-records/adr-process.html


亚马逊云科技建议,ADR 应该有一个变更历史。一旦 ADR 被批准或拒绝,它就应该被认为是不可改变的。如果团队批准了一个新的 ADR,并且该 ADR 取代或更新了以前的决策,ADR 的所有者应该将旧 ADR 的状态变更为“superseded”。如果新的 ADR 被拒绝了,则不需要对旧的 ADR 进行任何改变。


下图显示了 ADR 的更新过程。



图片来源: https://docs.aws.amazon.com/prescriptive-guidance/latest/architectural-decision-records/adr-process.html


决策日志会随着时间的推移而增长,它会提供团队所做出的所有决策的历史。例如,在代码或架构审查期间,团队可以使用决策日志作为参考,以验证变更是否符合商定的决策,或者是否需要创建一个新的 ADR。


原文链接:

AWS Publishes Guide to Architecture Decision Records

2022-06-28 09:274789

评论

发布
暂无评论
发现更多内容

kube-apiserver调度器核心实现

申屠鹏会

k8s

喜报 | 旺链科技签约汨罗市文旅体产业项目,打造“链”上数字乡村

旺链科技

区块链 产业区块链 乡村振兴 汨罗市

元宇宙产业投资全景图,快人一步走进元宇宙新时代!

博文视点Broadview

陕西西安等保测评单位有哪些?在哪里可以查到?

行云管家

西安 等保测评 等保测评机构

网络安全等级测评和商用密码应用安全性评估是一回事吗?

行云管家

网络安全 等级保护 商用密码

苹果称M2比intel i5强26倍 虚假营销的实情揭晓!

科技之家

保姆级教程:如何成为Apache Linkis文档贡献者

康月牙

Apache GitHub 教程 文档 Linkis

分布式数据对象:超级终端的"全局变量"

OpenHarmony开发者

OpenHarmony

细说腾讯如何做到直播延时降低90%以上方案

C++后台开发

WebRTC CDN 音视频开发 视频直播 直播低延迟

GameFi新的启程,AQUANEE将于6.9日登陆Gate以及BitMart

西柚子

评“开发人员不喜欢低代码和无代码的8个理由”

代码制造者

程序员 编程语言 开发 iVX 低代码开发

Java 对象如何安全的 toString

HoneyMoose

Java培训多线程+List分段解决批量更新太慢

@零度

List 多线程 JAVA开发

IPO,联结一切的桥梁

鼎道智联

最佳实践 | 用腾讯云AI语音识别零基础实现小程序语音输入法

牵着蜗牛去散步

最佳实践 语音识别 小程序开发 腾讯云AI 语音输入法

LP流动性挖矿系统开发生态系统详解

开发微hkkf5566

Android 产生ANR后的Trace文件的解析

北洋

android 6月月更

精益产品开发体系最佳实践及原则

阿里云云效

云计算 阿里云 精益开发 产品开发 开发

《数字经济全景白皮书》银行财富管理篇 重磅发布

易观分析

理财 银行理财

知名网络安全硬件平台厂商铵泰克加入龙蜥社区

OpenAnolis小助手

开源 网络安全 龙蜥社区 CLA 铵泰克

Springcloud Oauth2 HA篇

Damon

微服务架构 安全架构 6月月更

柴云鹏:创新能力的培养至关重要|OceanBase 数据库大赛访谈

OceanBase 数据库

oceanbase 数据库大赛

为什么 SQL 语句使用了索引,但却还是慢查询?

okokabcd

MySQL

技术干货 | Linkis实践:新引擎实现流程解析

康月牙

Apache 开源社区 WeDataSphere Linkis 使用实践

盘点现有开源软件许可合规工具

开源社

Ubuntu20.04设置静态IP

echeverra

Linux 静态IP

各厂商的数据湖解决方案

五分钟学大数据

数据湖 6月月更

【直播回顾】Hello HarmonyOS应用篇第六课——短视频应用开发

HarmonyOS开发者

HarmonyOS

web前端培训React如何原生实现防抖

@零度

前端开发 React

构建基于React18的电子表格程序

葡萄城技术团队

React 表格 纯前端表格技术

【高并发】彻底理解Nginx限流机制与实战

冰河

并发编程 多线程 高并发 异步编程 6月月更

亚马逊云科技发布架构决策记录指南_服务革新_InfoQ精选文章