The need to accommodate the slew of user requests and the deluge of data that comes with radically changed the way we design and build software. New architectural styles, programming paradigms, novel data storage models, and software engineering methodologies emerged to tame the ever-increasing complexity of use cases. This talk discusses the most promising trends and technologies out there, and more importantly how they fit together to build scalable distributed systems. Some of the highlights are: Microservice Architecture, Polyglot Programming and Polyglot Persistence, Reactive Programming, Functional Programming, new networking protocols and many more. If you are wondering how the Netflixes and the Amazons of the industry are doing it, this session is for you.