System Design Backend Flashcards
Why are backend architecture designs important ?
Architecture designs provide a structured approach to solving complex problems, making it easier to understand and manage the overall system. Architecture designs facilitate communication among team members by providing a common language and reference. Architecture designs can improve efficiency and productivity by reducing redundancy and facilitating code reuse. Architecture designs play a key role in ensuring that the final product meets user needs and business objectives.
What are the four principles of back-end architecture design ?
Modularity
Scalability
Robustness
Flexibility
What do you mean by modularity ?
Each component of a system should have a specific task.
What do you mean by scalability ?
Systems should be designed to handle traffic growth and should not crash or degrade.
What do you mean by robustness ?
Systems should be able to handle errors / unexpected failures.
What do you mean by flexibility ?
Systems should be designed to handle changes / future features.
List 7 key challenges when it comes to System Design
Complexity
Adaptability
Security
Technology
Resources
Stakeholders