Frequently I see the same question in many forms; “How do I design a web application architecture”. The simple answer is that all application architectures are different, depending on the actual needs. Instinctively most programmers know what’s required, or at least we think that we do.
The true skill is to realise that we are often wrong and that any architecture design needs to be validated.
Pragmatic approach to application architecture
Pragmatism is one of those often misapplied terms that is often used interchangeable with “in my experience”.
Is it possible to explain how to build a scalable system in less than 200 pages?
The answer is realistically no - in fact I doubt that it could be done in 200 pages, what is needed is experience and there is no substitue for it.
There simply isn't an application or software system that wouldn't be improved by having a plugin architecture - but it seems harder to implement.