You must have read characteristics of a good system design in graduation like reliability, security, availability, scalability etc. In many interviews it is asked to describe properties a system should have. Things have been changed in past years where only having a bug free software isn't enough and after cloud services offering IAAS it has become very easy and flexible to upgrade/downgrade system resources on need basis. Now it has become very important to design system carefully so we can get most out of it. Below are our top picked characteristics for modern systems:
- Scalability: How easily a software can be upgraded to serve more users if business grows. Business is everything and everyone is looking it to grow with time but business grows number of users increases and at that time no one would like to rewrite the software for more users. So, scalability takes first position in our list.
- High Availability: Many giants like Amazon, Walmart, Google are known for their highly available systems, one minute of down time may cause millions of dollar loss. High availability makes a software with 0% of downtime.
- Maintainability: Companies spend a lot of money in maintenance it may be software, hardware or infrastructure. Maintenance of a system should be easy and less expensive which makes it third in our list.
- Reliability: A software should be able to complete a task in specific amount of time in specific environment without fail. It’s very much difficult to imagine a 100% reliable system but this characteristic becomes most important measurement in software quality.
- Cost: Cost of a software should be less which makes it more profitable. All the resources of system should be utilized effectively, unused resources increase the cost. Since cloud services are charged on certain parameters like computing power, time, network, space it is very important to think where the cost can be reduced by utilizing less resources.
- Security: A secure system is key of trust, users would love use a secure platform. Banking services are mostly concerned with security since a leak of small information can bankrupt the user.
Feel free to let us know what are your top picks. comment down and let us know your thoughts on this article.