Skip to content

Latest commit

 

History

History
69 lines (50 loc) · 3.02 KB

README.md

File metadata and controls

69 lines (50 loc) · 3.02 KB

Decision Log

In this project we capture important decisions with architectural decision records.

These records provide context, trade-offs, and reasoning taken at our community & technical cross-roads. Our goal is to preserve the understanding of how the project has grown, and capture enough insight to effectively revisit previous decisions.

Get started created a new decision record with the template:

cp template.md NN-title-with-dashes.md

Team Structure

Conway's Law posits that software design is a function of organizational design. Emblem was developed by a group of core contributors working on a single team within a large software company (Google), with supporting contributions from members of other teams both internal and external to the company.

While we've done our best to make Emblem applicable to a wide variety of organizational structures, Emblem may require some adaptation to properly account for aspects unique to your organization.

Evolving Decisions

Many decisions build on each other, a driver of iterative change and messiness in software. By laying out the "story arc" of a particular system within the application, we hope future maintainers will be able to identify how to rewind decisions when refactoring the application becomes necessary.

Here are a few story arcs of decisions made in the project.

Where to Run Your Code

Step through our decisions that led to hosting on Cloud Run.

Shipping Software

We have a hybrid model of terraform for infrastructure, gcloud & continuous delivery for shipping code, and additional decisions on how we handle the necessary automation and orchestration.

End-user Authentication

Getting end-user authentication right was a challenge. The current implementation extends from the write-up in Auth Design. There were several decisions and reversals to reach it.