HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

评论

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

从引用聊一聊 Java 垃圾回收

Rayjun

Java 引用 对象

Algorithm week 1: Merge Two Sorted Lists

猫吃小怪兽

算法 链表 ARTS 打卡计划

宏在C++中的替代解决方案

老王同学

c++ 模板 template

Spring Security密码登录流程源码分析

读钓

源码分析 spring security springboot

ARTS打卡Week 01

teoking

android WebRTC

编程入门整理

紫枫

读书笔记

鄙视链 & 全栈

伯薇

学习 能力提升 全栈

使用 webpack 搭建一个简单的 React 脚手架

张张张小烦

react.js

RabbitMQ-AMQP

云淡风轻

RabbitMQ

时间管理的本质

史方远

职场 心理 成长

k8s 上运行我们的 springboot 服务之——我们的springboot能够在k8s上运行

柠檬

k8s istio springboot

青春期的打油诗

李印

随笔

MySQL实战四十五讲基础篇总结(四)

一个有志气的DB

MySQL 索引结构

谈谈我的云笔记使用之路

读钓

学习 个人成长 写作

关于工作的一点总结

李印

工作思路

ArrayList 源码分析

读钓

Java 源码分析 jdk源码

其实,还是让我挺震惊的,程序员的换行率竟然高达 40%

非著名程序员

程序员 程序人生 自我思考

云直播平台的选型与使用

音视频专家-李超

MySQL实战四十五讲基础篇总结(五)

一个有志气的DB

MySQL 索引

MySQL实战四十五讲基础篇总结(六)

一个有志气的DB

MySQL 读写锁

数据与广告系列二:计算广告和推荐系统

黄崇远@数据虫巢

数据挖掘 大数据 互联网 广告 推荐系统

谈即时编译优化-以异常堆栈丢失为例

寻筝

MySQL实战四十五讲基础篇总结(七)

一个有志气的DB

MySQL 性能

谈谈控制感(9):提升控制感排名第一的武器

史方远

职场 心理 成长

Java 数据持久化系列之JDBC

程序员历小冰

Java JDBC 持久化

leetcode练级-两数之和

幸福三寸日光

算法 LeetCode js

《陆蓉行为金融学讲义》 - 读后感

石云升

读书笔记 投资 行为金融学 理性 公平

【万字图文-原创】 | 学会Java中的线程池,这一篇也许就够了!

一枝花算不算浪漫

并发编程 jdk源码 线程池

ARTS week1

紫枫

ARTS 打卡计划

音视频会议系统-Janus的安装与布署

音视频专家-李超

音视频 WebRTC

Tomcat学习分享

李印

tomcat

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