Software Architecture for ML-based Systems: What Exists and What Lies Ahead
This work addresses the need for standardized architectural practices in ML-based systems, which is an incremental step for software and ML practitioners.
The paper tackles the problem of defining software architecture practices for ML-based systems by identifying four key areas needing attention, based on experience from architecting an ML system for queuing challenges in a large Italian museum.
The increasing usage of machine learning (ML) coupled with the software architectural challenges of the modern era has resulted in two broad research areas: i) software architecture for ML-based systems, which focuses on developing architectural techniques for better developing ML-based software systems, and ii) ML for software architectures, which focuses on developing ML techniques to better architect traditional software systems. In this work, we focus on the former side of the spectrum with a goal to highlight the different architecting practices that exist in the current scenario for architecting ML-based software systems. We identify four key areas of software architecture that need the attention of both the ML and software practitioners to better define a standard set of practices for architecting ML-based software systems. We base these areas in light of our experience in architecting an ML-based software system for solving queuing challenges in one of the largest museums in Italy.