awesome-architecture
A collection of awesome things related to architecture
https://github.com/alexpulver/awesome-architecture
Last synced: 5 days ago
JSON representation
-
Concepts
- Application Lifecycle Management (ALM)
- Architecturally significant requirements - cutting, first-of-a-kind, source of problems on past projects.
- Architectural decision records (ADRs) - consuming decision-making efforts.
- Continuous Configuration
- Coupling
- Coupling facets - 8, null, empty) 5/ Semantic (Name, Middlename, ZIP) 6/ Temporal (sync, async) 7/ Interaction Style (messaging, RPC, query, GraphQL) 8/ Conversation (pagination, caching, retries)
- video
- Event-Driven Architecture - carried State Transfer 3/ Event Sourcing 4/ Command and Query Responsibility Segregation
- Feature Flags
- GitOps
- Platform
- SaaS Architecture Fundamentals
- Software delivery performance four key metrics
- Frugal Architecture - functional Requirement 2/ Systems that Last Align Cost to Business 3/ Architecting is a Series of Trade-offs 4/ Unobserved Systems Lead to Unknown Costs 5/ Cost Aware Architectures Implement Cost Controls 6/ Cost Optimization is Incremental 7/ Unchallenged Success Leads to Assumptions.
- video - 8, null, empty) 5/ Semantic (Name, Middlename, ZIP) 6/ Temporal (sync, async) 7/ Interaction Style (messaging, RPC, query, GraphQL) 8/ Conversation (pagination, caching, retries).
- video
- Event-Driven Architecture - carried State Transfer 3/ Event Sourcing 4/ Command and Query Responsibility Segregation.
- Platform
- Event-Driven Architecture - carried State Transfer 3/ Event Sourcing 4/ Command and Query Responsibility Segregation.
- Message
- Easy Approach to Requirements Syntax (EARS) - condition], when [optional trigger], the [system name] shall [system response]" (e.g., "While the user is signed-in, when the user asks to change the password, the application shall re-authenticate the user").
- Stories - driven development – "[Action] the [result] [by/for/of/to] a(n) [object]" (e.g., "Generate a unique identifier for a transaction").
- Design levels - level design (HLD) - system architecture diagram, component descriptions and interactions, technical approach and patterns 2/ low-level design (LLD) - algorithmic pseudocode, interface definitions and contracts, key data structures.
- Yagni (You Aren't Gonna Need It) - cost of building, cost of carry + cost of delay 2/ right feature, built wrong - cost of repair, cost of carry + cost of delay 3/ right feature, built right - cost of carry + cost of delay. Yagni only applies to capabilities built into the software to support a presumptive feature, it does not apply to effort to make the software easier to modify.
- Mechanism
-
Foundations
-
Business and technology alignment
- Architecture Independent Value Streams
- Domain-Driven Cloud: Aligning Your Cloud Architecture to Your Business Model
- Modernizing Technology and Mindset with ‘Enabling Teams’
- SaaS Cost Attribution: How to Align Technology with Business
- Start Your Architecture Modernization with Domain-Driven Discovery
- Strategies for investment in Tech Debt vs Product Debt when building new software products
- Using domain analysis to model microservices
- Why I Never Want to Build Another MVP
- The Builder’s Guide to Better Mousetraps
-
Business metrics
-
Compliance
-
Cross-cutting concerns
- Aligning SaaS and Service Planes Definitions
- Architect multitenant solutions on Azure
- video - you-integrating-or-building-distributed-applications.pdf))
- Building ClickHouse Cloud From Scratch in a Year
- Cloud Automation à la DDD: From stringly typed to affordances
- Cloud design patterns, architectures, and implementations
- Choreography vs Orchestration in the land of serverless
- Failing successfully: The AWS approach to resilient design
- How we ended up with microservices
- Introducing the Journey to SaaS Guide to Help You Build, Launch, and Operate SaaS Solutions on AWS
- Kubernetes as a platform vs. Kubernetes as an API
- Minimizing Design Time Coupling in a Microservice Architecture
- video - cloud-applications-Do-they-lock-you-in.pdf))
- Monoliths are not dinosaurs
- On Designing and Deploying Internet-Scale Services
- video - R_SaaS-architecture-patterns-From-concept-to-implementation_NO-NOTES.pdf))
- Takeaways of building a business-critical low-latency microservice at scale
- You Want Modules, Not Microservices
- The Serverless Illusion
- I’m sorry, but the way you adopt serverless is wrong
- video - you-integrating-or-building-distributed-applications.pdf))
- video - cloud-applications-Do-they-lock-you-in.pdf))
- AWS Decision Guides
- Good abstractions are obvious but difficult to find, even in the cloud
- Serverless or Kubernetes on AWS
- You Want Modules, Not Microservices
- What's so bad about sidecars, anyway?
- Caching challenges and strategies
- Handling Errors in Large Systems
- Serverless or Kubernetes on AWS
- Serverless or Kubernetes on AWS
- Serverless or Kubernetes on AWS
-
Frameworks
-
Landing zone
-
Organizational culture, structure, and processes
- 7 tell-tale signs of fake DevOps
- DevOps at Amazon: A Look at Our Tools and Processes
- DevOps Topologies
- Fireside Chat: DevOps at Amazon with Ken Exner, GM of AWS Developer Tools - AWS Online Tech Talks
- video - L.pdf))
- Linking Modular Architecture to Development Teams
- Pattern-based process for making design decisions
- Seven Shipping Principles
- Software Architecture: the Hard Parts
- Team Interaction Modeling with Team Topologies
- The Away Team Model at Amazon
- Part 1 - 2-problems-mvps-legacy-replacement))
- video
- Would you like architects with your architecture?
- We renamed everything thrice. Still, nothing improved
- Invest Your Political Capital
-
Platform
-
Product
- How Detailed Should a User Story Be?
- Product Backlog Building Canvas
- Product Requirements Document
- Product requirements documents, downsized
- Shape Up: Mapping the Scopes
- Why the Three-Part User Story Template Works So Well
- Agile Spikes Deliver Knowledge So Teams Can Deliver Products
- Definition of Ready: What It Is and Why Its Dangerous
- Relationship between Definition of Done and Conditions of Satisfaction
-
Product-market fit
-
Profitable growth
-
Security
-
Technology landscape
-
Working backwards
-
-
Jobs-to-be-done
-
Access control and isolation
- A Rails Multi-Tenant Strategy That's ~30 Lines and "Just Works"
- Building Multi-Tenant Solutions with Amazon OpenSearch Service
- How to implement SaaS tenant isolation with ABAC and AWS IAM
- Implementing SaaS Tenant Isolation Using Amazon SageMaker Endpoints and IAM
- Secure data movement across Amazon S3 and Amazon Redshift using role chaining and ASSUMEROLE
- Securing Multi-Tenant Kubernetes Clusters at Scale
- video - large-scale-data-access-challenges-with-Amazon-S3.pdf))
- Amazon CodeWhisperer Customizations architecture case study
- How to secure CI/CD roles without burning production to the ground
- Performance isolation in a multi-tenant database environment
- SaaS tenant isolation with ABAC using AWS STS support for tags in JWT
-
API
- Best practices for working with the Apache Velocity Template Language in Amazon API Gateway
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Should you use a Lambda Monolith, aka Lambdalith, for your API?
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
- APIs as infrastructure: future-proofing Stripe with versioning
- Part 1 - netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a))
-
Authentication and authorization
- slides
- Edge Authentication and Token-Agnostic Identity Propagation
- Enhancing Amazon DynamoDB single-table design with AWS AppSync access and security features
- Entitlements: Architecting Authorization
- How to Persist JWT Tokens for Your SaaS Application
- Amazon DocumentDB (with MongoDB compatibility) user-defined roles for access control
- JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens
- On The Nature of OAuth2’s Scopes
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- DynamoDB now supports resource-based policies. But is that a good idea?
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
- Edge Authentication and Token-Agnostic Identity Propagation
-
Programming Languages
Categories
Sub Categories
Deployment
71
Operations
54
API
51
Cross-cutting concerns
32
Authentication and authorization
30
Organizational culture, structure, and processes
16
Reliability
14
Development
12
Access control and isolation
11
Sharding and partitioning data
11
Observability
9
Product
9
Business and technology alignment
9
Networking
7
Frameworks
4
Platform
4
Testing
3
Databases
3
Integration patterns
3
Business metrics
3
Compliance
2
Working backwards
2
Product-market fit
2
Encryption
2
Security
2
Tenant costs
2
Multi-region
2
Machine learning
2
Tenant management
1
Internet of Things (IoT)
1
Technology landscape
1
Landing zone
1
Hybrid architecture
1
Data lake
1
Frontend
1
Migrations
1
Profitable growth
1
Extensibility
1