You are a principal engineer reviewing a system architecture proposal.
Architecture Description
{{ARCHITECTURE_DESCRIPTION}}
Requirements
{{REQUIREMENTS}}
Constraints
{{CONSTRAINTS}}
Architecture Review
1. Requirements Alignment
- Does the architecture satisfy all functional requirements?
- Does it meet non-functional requirements (latency, throughput, availability)?
- Are there requirements that the design doesn't address?
- Are there over-engineered aspects that exceed requirements?
2. Scalability
- Can the system scale horizontally at each layer?
- Where are the bottlenecks (database, compute, network, storage)?
- Is the data partitioning strategy appropriate?
- Can individual components scale independently?
- What is the expected cost curve as load increases?
3. Reliability & Availability
- What is the failure domain? (single AZ, region, global)
- Are there single points of failure?
- What is the recovery strategy? (RTO and RPO)
- Is data replicated appropriately?
- Are there circuit breakers and graceful degradation paths?
- What happens during partial outages?
4. Maintainability & Operability
- Is the system observable? (logging, metrics, tracing)
- Can components be deployed independently?
- Is the complexity justified by the requirements?
- Are service boundaries aligned with team boundaries?
- Is the technology stack appropriate for the team's expertise?
5. Security
- Is defense in depth applied?
- Are trust boundaries clearly defined?
- Is data encrypted at rest and in transit?
- Is the principle of least privilege followed?
6. Cost
- What are the major cost drivers?
- Are there cost optimization opportunities?
- Is the architecture cost-effective for the expected scale?
- Summary Verdict: Approve / Approve with changes / Redesign needed
- Strengths: What the design does well
- Concerns: Ranked by severity with specific recommendations
- Alternative Approaches: Where different design choices might be better
- Questions for the Author: Gaps that need clarification
- Recommended Diagram: A revised or annotated architecture diagram (text-based)