System Design Series : NFRs you must think !!!!
Non Functional Requirements you must think before you come up with any design -
- Scale - #scalability becomes very important when we are dealing with a problem statement where there is a substantial chance of spike or fall in traffic.
Speed - Everyone wants speed but where you can draw the line. If it is a financial transaction or you are posting a photo, there is a difference. So draw that line.
HA ( High Availability) - Will your system survive the H/W or network failures. Is there any SPOF ( Single Point of Failure)
Consistency - Do you need to keep your services , your datastore - cache consistent.
Cost - Do we have to focus on reducing cost of #development or cost of #maintenance .
Use #CAP theorem to chose 2 out of 3 ( C , A & P )
#scalability #design #processing #systemdesign #consistency