By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.
Software architecture defines how your product’s code, data, and services are structured—impacting scalability, speed, cost, and team velocity. A poor choice can bottleneck growth (e.g., Twitter’s early monolith struggled with scaling, leading to the "Fail Whale"), while the right one enables rapid iteration (e.g., Netflix’s shift to microservices allowed global streaming with 99.99% uptime). As a PM, you don’t need to code, but you must understand trade-offs to align engineering with business goals (e.g., "Should we build this feature as a microservice to enable faster A/B testing?").
Client-Server Model: The standard architecture where clients (e.g., mobile apps, browsers) request data/services from servers (e.g., backend APIs, databases). Example: When you load Instagram, your phone (client) fetches posts from Meta’s servers.
Monolithic Architecture: A single, unified codebase where all features (e.g., user auth, payments, recommendations) run as one deployable unit. Pros: Simple to develop/test. Cons: Hard to scale, slow deployments, tight coupling. Example: Early Airbnb or Shopify.
Microservices Architecture: Breaks the product into small, independent services (e.g., "User Service," "Payment Service") that communicate via APIs. Pros: Scalable, fault-isolated, faster deploys. Cons: Complexity, operational overhead. Example: Amazon, Uber, Netflix.
Service-Oriented Architecture (SOA): A precursor to microservices where services are larger and share infrastructure (e.g., a single database). Less granular than microservices.
Database (DB): Stores and retrieves data. Types:
Cache: Temporary, fast storage (e.g., Redis) to reduce DB load. Example: Storing trending tweets to avoid querying the main DB repeatedly.
API (Application Programming Interface): A contract between services (e.g., "This endpoint returns user data in JSON format"). Types:
GET /users
gRPC: High-performance APIs (e.g., Google’s internal services).
Latency vs. Throughput:
Throughput: Requests handled per second (e.g., 10,000 orders/minute). Goal: Maximize.
CAP Theorem: In distributed systems, you can only guarantee 2 of 3 properties:
Partition Tolerance: System works despite network failures. Example: DynamoDB prioritizes Availability and Partition Tolerance (AP), while PostgreSQL prioritizes Consistency and Availability (CA).
Event-Driven Architecture: Services react to events (e.g., "User signed up") via a message broker (e.g., Kafka, RabbitMQ). Example: Uber’s ride-matching system triggers events like "Driver accepted ride."
Serverless: Cloud providers (AWS Lambda, Google Cloud Functions) run code without managing servers. Pros: Pay-per-use, auto-scaling. Cons: Cold starts, vendor lock-in. Example: Processing Stripe webhooks for payments.
Tech Debt: The cost of future rework caused by choosing an easy/short-term solution now. Example: Hardcoding a feature instead of building a configurable system.
Conway’s Law: "Organizations design systems that mirror their communication structures." Example: If your teams are siloed (e.g., "Mobile Team" vs. "Backend Team"), your architecture will likely be monolithic.
How to evaluate architecture choices for a product feature:
Example: For a fintech app, payments are core (→ microservice), while user profiles may not be (→ monolith).
Assess Current Architecture
Use tools like:
Evaluate Trade-offs | Factor | Monolith | Microservices | |----------------------|----------------------------|----------------------------------| | Speed to Market | Faster (1 codebase) | Slower (setup overhead) | | Scalability | Hard (scale entire app) | Easy (scale only needed services)| | Team Size | Small teams | Large teams (DevOps needed) | | Fault Isolation | One bug crashes everything | Bugs are isolated | | Cost | Lower (fewer servers) | Higher (more servers, monitoring)|
Prototype and Measure
Example: If adding a "Recommendations" feature, measure:
Align with Engineering and Business
Example: "We recommend a microservice for the new AI chatbot because it needs to scale independently and handle 10K+ concurrent users."
Plan for Migration (If Needed)
The business can afford higher cloud costs.
Mistake: Ignoring database choice until late. Correction: Pick early based on data structure:
NoSQL: High write volume (e.g., logs), flexible schemas.
Mistake: Not defining API contracts upfront. Correction: Use OpenAPI/Swagger to document endpoints before coding. Example: "The /orders endpoint must return order_id, status, and timestamp."
/orders
order_id
status
timestamp
Mistake: Over-optimizing for latency when throughput is the bottleneck. Correction: Measure first! Example: If your e-commerce site handles 100 orders/second but pages load in 500ms, focus on throughput (e.g., caching, DB sharding).
Mistake: Treating tech debt as "engineering’s problem." Correction: Track it like a feature. Use the Tech Debt Quadrant (from Martin Fowler):
Follow-up: "How would you measure success?" → "Reduced deployment time by 50% and improved uptime from 99.5% to 99.9%."
Stakeholder Trap: Engineers say, "We need to rewrite the monolith in Go for performance."
PM Response: "What’s the ROI? Let’s quantify the performance gain (e.g., 20% faster) vs. the 6-month delay in feature development. Can we optimize the current system first?"
Interview Probe: "How would you design the architecture for a new social media app?"
Framework to Use:
Distinction: "What’s the difference between a microservice and a module in a monolith?"
Why: Avoid premature optimization; validate the feature’s value first.
Scenario: Your database latency spikes during Black Friday sales. What’s the first thing you check?
Why: Latency causes differ; caching won’t help if the DB is overwhelmed by writes.
Scenario: A stakeholder asks, "Why can’t we just use a single database for everything?"
Join 4M+ learners. Unlock unlimited quizzes, wrong-answer tracking, flashcards + reminders, study guides, and 1-on-1 challenges.