DEV Community

masrur alam
masrur alam

Posted on

System design: When great solution comes with great problems

System design is the overall architecture planning of a software system comprising different core components with a prime a focus on ensuring an effective balance between the expected outcome and newly added constraints. Such balance usually leads to systems which we often call reliable, scalable, and maintainable.

Before ending up with something like the above, always answer these 5 simple questions first:

  1. What the system does? Who does it serve?
  2. How many users and the growth rate?
  3. Read-heavy or write-heavy application?
  4. What thing/things you can never lost?
  5. How much latency as well as cost is affordable?

A clarity on the above issues smooths your understanding of the business requirements and start at least with planning.
However, there is no concrete solution to a system design problem since it is influenced by the answers to the mentioned questions which with several other edge cases known as functional and non-functional requirements. This is what makes such problem more interesting where you have some tools to plug and play with while system-level analytical thinking being the most critical factor.

In addition, a solution to the problem is to add a new problem. For example, adding caching may make rapid retrieval of frequent data but adds to the careful consideration of eviction strategies. Or, you may think that adding several horizontally scaled servers would solve your problem but adding a single more powerful server (vertical scaling) would have solved the problem. So, these are the design choices that comes with thinking and understanding the core requirements. You design a system, you reduce the single point of failure, identify where the system can break, you solve it, all okay but a new complexity, you go again. So, there is never ending aspect to it.

This is something that makes software system design fascinating; at least what I have perceived so far exploring it from the high level.
And as far as the 5 above question, the answers will be caught somewhere in the next posts.

Top comments (0)