This document discusses how machine learning teams can adopt a reactive approach to building ML systems. It describes the typical components of a naive ML architecture, including data collectors, pipelines, model publishers and servers. It then explains how adopting reactive traits like being responsive, elastic and resilient can help ML systems handle large, fast and hairy problems like varying data loads, communication failures and system impacts. The document advocates for strategies like using metrics and containment to build on the success of reactive systems and help machine learning teams scale their work.