Software Architecture in Golang: Architecture Decision Records (ADRs)

Опубликовано: 04 Ноябрь 2024
на канале: Mario Carrion
4,514
134

Architectural Decision Records (also known as ADRs) allows us to document changes affecting our Software Architecture, they explain the "Why" more than the "How".

What is an "Architectural Decision"? According to Wikipedia "...design decision that address architecturally significant requirements; they are perceived as hard to make and/or costly to change."

What are "Architectural Decision Records"? According to Michael Nygard "...those that affect the structure, non-functional characteristics, dependencies, interfaces, or construction techniques."

== Relevant links

■ Software Architecture in Go/Golang:    • Software Architecture and System Desi...  
■ https://en.wikipedia.org/wiki/Archite...
■ Simple Template I like to use: https://gist.github.com/MarioCarrion/...
■ Documenting Architecture Decisions: https://cognitect.com/blog/2011/11/15...
■ Fundamentals of Software Architecture: https://amzn.to/3Ha7RUu
■ Command-line tools for working with Architecture Decision Records: https://github.com/npryce/adr-tools
■ Architecture Decision Records Templates: https://adr.github.io/#existing-adr-t...
■ Previous Episode: Software Architecture in Golang: Observability:    • Software Architecture in Golang: Obse...  

== All Go/Golang Playlists

■ Building Microservices in Go/Golang:    • Building Microservices in Golang/Go  
■ Go/Golang Tools and Packages:    • Golang/Go Tools and Packages  
■ Learning Concurrency Patterns in Go/Golang:    • Learning Go/Golang Concurrency Patterns  
■ Learning Go/Golang :    • Learning Go/Golang  
■ Learning Relational Databases in Go/Golang:    • Learning Go/Golang: Relational Databases  
■ Testing in Go/Golang:    • Testing in Golang/Go  

== Socials

■   / mariocarrion  
■   / mario.carrion  
■   / mariocarrion  

00:00 - Start
00:11 - What is an Architectural Decision?
01:32 - What is an Architectural Decision Record (ADR)?
02:00 - How to structure Architecture Decision Records (ADR)?
04:28 - Tips for writing Architecture Decision Records (ADR)?
07:43 - Conclusion for Architecture Decision Records (ADR)

=== Who am I?

Hello👋🏼! I'm Mario, a Hands-on Software Architect and Lead Backend Engineer with more than 16 years of professional experience building all kinds of software including on-premise Industrial Automation Systems, Linux Accessibility Desktop and Browser Components as well as Distributed Advertising Microservices.

Every week I will share with you different topics I've learned while working for small startups and large companies including the processes I've followed over the years for successfully delivering complex enterprise systems from start to end.

Subscribe if you like Software Development, Software Architecture and Systems Design!

Keep it up. Don't give up!

#golang #softwarearchitecture #adr

=== Our Vlog Channel

   / rubycarrion  

=== Our affiliate links below

■ My Amazon Storefront: https://www.amazon.com/shop/rubycarrion
■ Shop my IG posts on my shopLTK page: https://www.shopltk.com/explore/RubyC...
■ Vlog camera: Sony RX100 VII https://amzn.to/3qQfvMc
■ Other vlog cameras and gear: https://rubycarrion.com/vlogcamerasan...
■ Shop through my links to support the channel: https://rubycarrion.com/shop-my-links/
■ Get a 30 day FREE Trial of Epidemic Sound: https://www.epidemicsound.com/referra...
■ Join Rakuten for FREE and get $30 when you spend $30: https://www.rakuten.com/r/RUBYRA132?e...

DISCLAIMER: Some of the links shared in the description are affiliate links. As a member of these affiliate programs, I earn a small commission from your purchases at no additional cost to you. I appreciate your support! 💖