Software Architecture for ML-based Systems: What Exists and What Lies
  Ahead
  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.
