Para fazer ele funcionar, de forma inicial, o básico da web (html, css e JavaScript), uma linguagem backend (Ruby, Java, C#, Python, ...), um banco de dados (recomendo MySQL ou Postgres) e um pouco de DevOps (como hospedar, etc).
Para fazer ele escalar, jobs assíncronos, filas, servidores web, cloud, Docker e outros conceitos que podem ser encontrados no site The Twelve-Factor App (https://12factor.net/).
Espero ter ajudado de alguma forma (mesmo que seja aguçando sua curiosidade).