The most common architecture problems are:
- High availability and resiliency : Make a module to have zero downtime. H.A. often means modules running on different datacenters. The key point generaly is how to handle the latency/timeout
- Security : How to patch a module live (i.e. with zero downtime)
- Performance : How to reduce the amount of memory needed for a single module to run
- Horizontal scalability : How to scale a module to increase its workload
- Multi-tenancy : How to manage multiple customers in a single instance with a high level of security (avoid data crossing/leak)
- Write once/Deploy everywhere : The CMDB is a first answer, but isn't enough. For example, how can a developer test locally his module without having the full stack ?
- KPIs : Provide relevant KPIs for each module to monitor/supervise technical/business issues. Technical KPIs are generally the most straightforward, but business KPI are generally the most value-added ones