While reflecting on how automotive software system design differs from other industries, I ended up at this overview of common attributes.
Scalability mechanism
- Data with the aspect of availability is ensured through replication, which involves creating copies of active and mirrored data or besides replication, the sharding of multiple active data portions e.g., for caching purposes.
- Compute is managed with horizontal and vertical partitioning to enable separation and isolation, along with load balancing to control access to the partitions. The access follows either a synchronous, asynchronous or publish-subscribe communication style, with the purpose of data (aka resource) orientation, action orientation (aka procedure call) or question oriented e.g. GraphQL.