System Architecture
Definition
The fundamental organization of a software system, including its components, their relationships, and the principles guiding its design.
Use Cases
- Netflix: Streaming platform reliability and rapid feature delivery at global scale — Adopted a microservices-oriented architecture on AWS, decomposing the platform into many independently deployable services and using resilient design patterns (e.g., redundancy, graceful degradation) to handle failures without taking down the entire system. (Improved scalability and fault isolation, enabling faster deployments and higher availability compared to a tightly coupled monolithic approach.)
- Uber: Real-time ride matching, pricing, and trip management with high request volume — Evolved from a monolithic application to a service-oriented/microservices architecture, separating core domains (dispatch, payments, user management) into independent services to scale and deploy them separately. (Better independent scaling of critical components and faster iteration on features by decoupling teams and deployments.)
- Spotify: Personalized music streaming with frequent product updates — Uses a microservices architecture aligned to autonomous teams, where services can be developed and deployed independently to support rapid experimentation and continuous delivery. (Increased development velocity and the ability to evolve features without coordinating large, monolithic releases.)
Frequently Asked Questions
- What's the difference between System Architecture and Cloud Architecture?
- System Architecture describes how a software system is organized (components, data flows, interfaces, and design principles) regardless of where it runs. Cloud Architecture is the part of the design that maps those components onto cloud services and cloud-specific concerns like regions, networking, managed services, and shared responsibility.
- When should I use System Architecture?
- Use system architecture whenever you’re building or changing a system that must meet clear requirements (scale, availability, security, cost, delivery speed). It’s especially important when moving from a prototype to production, migrating to the cloud, splitting a monolith into services, integrating multiple systems, or when outages/performance issues indicate the current design no longer fits.
- How much does System Architecture cost?
- There’s no direct per-hour price because it’s not a cloud service. Costs come from (1) engineering and architecture time, (2) tooling (CI/CD, observability, security scanning), and (3) the runtime infrastructure your architecture requires (e.g., more services, load balancers, databases, message queues, multi-region). More resilient and scalable architectures often cost more to run, but can reduce downtime, improve performance, and lower long-term maintenance costs.
Category: architecture
Difficulty: intermediate
Related Terms