I have studied system design theory. Now I want to practice building applications that are highly available, scalable and low latency. how do I start doing this in practice?
what do I need to download? do I need virtual machines to simulate the distributed network of servers or what?
when do I need to use Hadoop and zookeeper ?
when Do I need to use NoSql instead of Relational DB?
Let's say I want to build something similar to tinder app that can handle million of users.. how do I start? I know how to design it because I learnt system design, but how to do it in practice I don't know.