Independent Systems Architecture Principles (ISA)
Principles for Microservices The system must be divided into modules that provide interfaces . Access to other modules is only possible through these interfaces. Therefore modules must not directly depend on implementation details of other modules, e.g. the internal data representation in a database. The rest of the principles define how modules might be implemented. The system must have two clearly separated levels of architectural decisions: The Macro Architecture comprises decisions that cover all modules. All further principles are part of the Macro Architecture. The Micro Architecture considers decisions which may be taken individually for each module. Modules must be implemented as separate processes, containers, or virtual machines to maximize independence and enable a separation between Macro and Micro Architecture. The choice of integration and communication options must be limited and standardize...
