My assignment does not mention any availability requirements. In fact the only thing that it talks about NFRs is that performance and scalability are important with a few hundred users at peak load. Because there is no explicit availability requirement given I have assumed that it is not important and have not built any h/w redundancy. I just have 1 node each for web,app and the db server and a couple of firewalls. In fact my whole deployment diagram has only 7 boxes !!
Is my availability assumption simplistic ? In real life I haven't seen a B2C website which wants to make some money and not have high availability requirements.
Rishi Shehrawat wrote:In my opinion availaibility is a very important NFR, even if it is not mentioned explicitly your deployment should address it.
My confusion is , if nothing is given, should I assume 99.99% 24/7 of the time or 90% 12/5 of the time. If it is the later than the availability could be managed even without any redundant h/w components. The deployment , cost, complexity for both options could be very different for both options.
My opinion is, you should assume 99.99% 24/7 availability if not specified otherwise. So it is better to show fail over mechanisms with stand by servers and all.
Cost and complexity is not a constrain for the assignment. In real life things are different.
So it is safe to have a grand deployment diagram which suits to your assignment, remember you can't argue with the evaluator and prove that your laptop server is good enough to handle 200 users why to waste money in servers and all ( even though it might be true)
Are we expected to provide h/w specs for load balancers and firewalls too ? If not can I just assume that a DMZ like infrastructure,reverse proxies etc. already exist and worry only about the servers on which SuD would be deployed on ?