写点什么

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

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

评论

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

复盘的价值是什么?

老张

复盘 复盘归因

2022 Kube-OVN开源社区年度报告

York

开源 云原生 k8s 容器网络 cni

架构训练营模块二作业

Geek_3d7c4d

伊利与腾讯云 CODING 的「水乳交融」启示录

CODING DevOps

DevOps 最佳实践 数字化转型 CODING

起猛了!从Github大佬白嫖的分布式进阶宝典,啃完感觉能吊锤面试官

Java 架构 分布式

Java高并发难题一网打尽,全网最全的高并发设计文档

Java 架构 系统设计 高并发

借生态力量助力人工智能发展 英特尔这些年做了哪些事?

E科讯

PAG动效框架源码笔记 (四)渲染框架

olinone

ios android 动画 移动 特效

NGINX Service Mesh 中的 mTLS 架构

NGINX开源社区

nginx Service Mesh

软件测试/测试开发丨Web自动化测试-高级定位CSS

测试人

CSS 程序员 软件测试 自动化测试 测试开发

平行云X火山引擎:探索XR观展的极致体验

火山引擎边缘云

XR 火山引擎 实时云渲染 平行云 火山引擎边缘云

公用事业财务共享如何建,看南京水务立标杆

用友BIP

财务共享

可视化探索开源项目的 contributor 关系

NebulaGraph

开源

ShareSDK Android端合规指南

MobTech袤博科技

MoE 系列(五)|Envoy Go 扩展之内存安全

SOFAStack

golang 开发者 后端 网关 C++

代码级质量技术之基本框架介绍

百度Geek说

单元测试 开发语言 C++ 企业号 5 月 PK 榜

优秀的屏幕取色软件:ColorSnapper2激活版

真大的脸盆

Mac Mac 软件 屏幕取色器

“源生无限,同行致远”,加速迈向智能世界

说山水

共探Serverless架构的资源平衡管理,腾讯云2023年第二期TechoDay活动圆满落幕

科技热闻

火山引擎DataLeap:如何构建一套完整、易用的数据标准体系

字节跳动数据平台

大数据 数据治理 数据标准 数据研发

强!PCB“金手指”从设计到生产全流程

华秋PCB

工具 PCB 连接器 PCB设计 金手指

JWT真的安全吗?如何解决该问题

JWT

解读与用户一起“跳动”的开源实时监控工具 HertzBeat

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

淬体归元,运营商资源域元数据管理

鲸品堂

大数据 管理 元数据 企业号 5 月 PK 榜

融云参编中国信通院「办公即时通信研究报告」,并入选「典型行业案例」

融云 RongCloud

PaaS 即时通讯 办公 信息 融云

网络性能问题排查思路

蓝胖子的编程梦

TCP 网络 问题排查 问题定位 问题解析

SpringCloud 中 Zuul 网关原理及其配置

Java Spring Cloud 网关 Zuul

OIDC & OAuth2.0 协议及其授权模式详解|认证协议最佳实践系列【1】

Authing

身份认证 OAuth 2.0 单点登录 OIDC

央企财务共享建设路径四大趋势洞察

用友BIP

财务共享

基于AIGC的京东购物助手的技术方案设想 | 京东云技术团队

京东科技开发者

人工智能 智能客服 AIGC 企业号 5 月 PK 榜

DB-GPT: Github 两周2.6k star 数据库领域的GPT来了~

csunny

GPT autogpt LLMs

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