When it comes to designing the architecture of a system, there are many factors to consider which are ofter forgotten: processes, number of users, geographical positioning, 24/7/365 availability, disaster recovery, existing hardware and future infrastructure investments for growth, to name a few.