One Kentico CMS instance or separate installations for mutliple web sites?
What is the better solution for multiple (e.g. 20, 30, etc.) web sites – to have them inside one Kentico CMS instance, or using separate installations? What are advantages/disadvantages of these approaches?
Unfortunately it is not possible to say in general, what is the better approach. Both ways are possible. We have customers with hundreds of sites inside one instance and it runs with no problems. It depends on many factors, like traffic, size of those sites, hardware, etc. You can see (dis)advantages of particular approaches bellow. You could also consider one more fact - shared content (global objects). If you have multiple sites in one installation, then you can share some global object across all sites. E.g. users, page templates, some modules (polls ,...), products, etc. You can also link pages across all sites, etc. On the other side, this can be sometimes a problem, e.g. if you have several e-commerce sites, but do NOT want to share products of all stores. So this is another point of view you can consider.
For development, performance and customization, maybe the better way is to have one instance, since it have more memory available and your custom code is used for all pages. For security (safety) and service availability, it is better to have multiple instances.
+ Reduces the time for applying patches.
+ (-) Changes to core functionality affect all hosted sites.
- Risk of developers accidentally overwriting shared components.
+ Easier to include custom bits of functionality across sites.
+ (-) Patches can be applied and tested independently - but this means patching takes longer.
+ Changes to core functionality can be applied to individual sites.
+ No risk of developers accidentally overwriting shared components.
- Increased installation/setup time.
+ Sites can run in separate app pools.
See also: Applies to:
Kentico CMS 3.x, 4.x