Manufacturers with a business interest in machine learning understand the architectural challenges of building and maintaining the distributed systems needed to support such systems.
A number of architectural and design patterns of interest
Layers is the starting point for most scalable, distributed architectures
Separated Presentation patterns (MVC, MVVM, MVU) have become increasingly important as front ends have become more diverse.
Uni-directional data flow (MVU) is particularly amenable to a prolog implementation. See the example using SWI prolog.
Blackboard can be useful for a lot of knowledge-based systems
Actors can be used for a lot of interesting things, and one of them is federated learning
Ball of Mud is much maligned, but most systems start out this way.