写点什么

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

作者: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:274838

评论

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

前端基础一之HTML篇

ベ布小禅

8月日更

《社会心理学》-怎么说服他人(整理稿)

箭上有毒

8月日更

Elasticsearch 日志监控方案

Se7en

ElastricSearch第三弹之存储原理(详细+易懂)

阿Q说代码

ES 8月日更 flush Refresh translog

Linux云计算-使用 MyCat 实现 MySQL 主从读写分离

学神来啦

MySQL 数据库 Linux 运维

学习笔记: JPA与Hibernate

yhrivory

数据库 hibernate jpa ORM spring data

从小白程序员到大厂高级技术专家我看过哪些书籍?

冰河

学习 程序员 面试 程序人生

MySQL 字段NOT NULL

一个大红包

8月日更

JAVA对于文件IO操作的支持

卢卡多多

Java 文件 io 8月日更

Java 操作 Office:POI word之网络图片处理

程序员架构进阶

Java Apache POI 实战问题 8月日更

你的登录接口真的安全吗?快看看你有没有中招!

xcbeyond

安全性 8月日更

网络攻防学习笔记 Day107

穿过生命散发芬芳

网络安全 8月日更

DAPP智能合约搭建|DAPP波场智能合约开发

量化系统19942438797

智能合约 dapp

云原生-工作流引擎Zeebe

QiLab

云原生 k8s cncf BPM zeebe

模块5作业

Geek_35a345

介绍一个好用的网络工具traceroute命令

liuzhen007

8月日更

python--构造方法笔记

加里都好

漏洞挖掘的快乐你想象不到

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

极光开发者周刊【No.0813】

极光JIGUANG

OLAP 简介

LeifChen

OLAP 多维分析 8月日更

如何写好一篇自媒体文案:把握节奏引起共鸣

石头IT视角

架构实战营 - 模块五作业

李东旭

「架构实战营」

QDS07 Mysql 安装指定版本

耳东@Erdong

MySQL 8月日更 qds

你知道关闭页面时怎么向后台发送消息吗?

编程三昧

JavaScript 大前端 8月日更

前端之算法(六)分而治之

Augus

算法 8月日更

分享 6 个实用的 Vue 技巧

devpoint

Vue Vue3 8月日更

Linux之wget命令

入门小站

Linux

智能时代的信任口诀:让计算远离算计

脑极体

【设计模式】观察者模式

Andy阿辉

C# 编程 后端 设计模式 8月日更

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