Modular architecture, as popularized by open-source software, often has better scalability, lower corrective and adaptive maintenance costs and more efficient code.
If there is a possibility that the website or online service’s features may be upgraded, it is better to place the basic features in a kernel and supplement them with extensions when necessary. This practice is applicable to all levels of granularity, from building a custom solution to choosing a HTTP server or CMS.
The more efficient open-source software, such as nginX, Apache, MySL and PHP, are developed using this modular architecture.