Engineering Decisions
Documentation¶
Link | Notes |
---|---|
Design Docs at Google | Anatomy of a good design doc |
Design Docs, Markdown, and Git | Related to the above, how to treat design documents as code |
Architecture decision record (ADR) | An architectural decision record (ADR) is a document that captures an important architectural decision made along with its context and consequences |
What is the best way to write a PRD? |
|
Scaling Engineering Teams via RFCs: Writing Things Down | The power of writing things down, and spreading knowledge across the organization |
Technical Writing Courses for Engineers from Google |
|
S.P.A.D.E. Toolkit: How to implement Square's famous decision-making framework | A decision-making framework, alternative to consensus built on accountability and clarity, where the person responsible for executing the decision is the one who decides |
Cloud¶
Link | Notes |
---|---|
AWS App-Layer Encryption in AWS | |
AWS Network access for private clusters | Very interesting article going into the problem of providing network connectivity between Kubernetes clusters and other internal tools (like deployment pipelines) |
AWSSquare Adopting AWS VPC Endpoints at Square | Secure communication between data centers and the cloud |
AWSSquare Providing mTLS Identities to Lambdas | Writeup on how Square added support for mutual TLS calls from AWS Lambda into their data center |
AWSSquare Expanding Secrets Infrastructure to AWS Lambda | How Square extended their datacenter-based secrets infrastructure to enable a cloud migration supporting Lambda |
AWS Cloud Encryption is worthless! Click here to see why... | When evaluating your cloud security posture priorities, encryption should be at the bottom of your list. First, get your IAM house in order |
AWS Building the Next Evolution of Cloud Networks at Slack | How Slack has gone through an evolution of their AWS infrastructure from running a few hand-built EC2, all the way to provisioning thousands of them across multiple AWS regions |
Multicloud failover is almost always a terrible idea | Multicloud failover is complex and costly to the point of nearly almost always being impractical, and it's not an especially effective way to address cloud resilience risks |
Infrastructure¶
Link | Notes |
---|---|
Automating Our Infrastructure to Empower Engineers |
|
Uber Why We Leverage Multi-tenancy in Uber's Microservice Architecture |
|
Container technologies at Coinbase: Why Kubernetes is not part of our stack | Container technologies also create a large set of challenges that must be overcome to prevent failures |
Decentralized GitOps over multiple environments | How SAP Artificial Intelligence implements GitOps in their large-scale project spanning multiple environments |
How we use HashiCorp Nomad | Reliability model of services running in our more than 200 edge cities worldwide |
Uber Introducing Domain-Oriented Microservice Architecture | |
Design Considerations at the Edge of the ServiceMesh | Set of design patterns around inbound and outbound traffic to and from a service mesh |
A Kubernetes engineer's guide to mTLS | What mTLS is, how it relates to ordinary TLS, and why it's relevant to Kubernetes |
Lyft Scaling productivity on microservices at Lyft | History of development and test environments |
monday.com’s Multi-Regional Architecture: A Deep Dive | When making a decision to go multi-region, one needs to understand the primary motivation, as the work will vary greatly between performance-first, resilience-first and privacy-first designs |
Various¶
Link | Notes |
---|---|
Why is it so hard to decide to buy? |
|
Software Development Waste | A taxonomy for any team that's trying to figure out how to be more efficient |
The top 10 fallacies in platform engineering |
|