As application requirements are decomposed into smaller software entities, the modular design, maintainability and extensibility should be consistently maintained.
With resource-hungry applications such as video editing tools and games, state consistency, livelock avoidance and race condition dependant behaviour are a concern.
Distributed networks are inherently complex and fault tolerance is a concern. Based on the CAP theorem, you have to choose only two options among three options; Consistency of data across multiple sites, High Availability of data and Partition Tolerance.
Distributed systems span across multiple datacenters and regions which means horizontal scaling that gives performance benefits come at a cost and complexity.