The architectures and patterns discussed above are not exhaustive. The architecture choice of an end to end deployment cab service operator is different from the architecture choice for a social media platform. It’s the user requirement, business requirement and constraints which architects should consider before defining characteristics of the end application. The evaluation of requirements leads to selection of an architecture which is dependent on various factors of which the prominent are: system- responsiveness, scalability, elasticity, maintainability, data- consistency, throughput, and code- modularity, reusability, complexity. As technology improves and developers seek to solve newer problems newer architecture paradigms will continue to emerge.