Netflix is the biggest internet business in the United States. At peak hours, its downstream bandwidth usage climbs to nearly 37% of internet traffic. Netflix’s success is based on modern, efficient, and robust technologies, frameworks, and architectural concepts. Should we follow its lead and refactor our systems into microservices, split up big databases, and introduce reactive programming, or should we use polyglot approaches?
To answer these questions, we conducted an architecture evaluation based on the well-known Architecture Tradeoff Analysis Method (ATAM). Only this time we applied it in an inverse manner. Starting with the observable architectural approaches, we extracted those requirements and quality attributes that would provide a perfect fit. We reverse-engineered a utility tree and extracted important architecture tradeoffs.
Our findings give a good understanding of the pros and cons of current technological trends and hint on their applicability in different contexts. In addition, they demonstrate the opportunities that evaluation methods like ATAM offer. Applying the ATAM to a real-life system that almost everybody is familiar with leads to comprehensible conclusions and vivid practical insight.