Scaling for Millions of Users

Scenario : A system that caters large number of users with a web front-end and a mobile app. Things to consider Choice of Database For most cases relational database like MySQL would work Things to consider when going for NoSQL Application requires super law latency Unstructured data or data has no relations Need to store a massive amount of data Scale the application tier Decide whether horizontal or vertical scaling Vertical scaling is limited by CPU, Memory, Space and cost Horizontal scaling require adding new components like load balancers and changing the application to be able to share load Scale the database (database-scaling)...