Looking at a project where there is a single Umbraco installation with 30+ websites. I've setup multi-lingual websites on a single Umbraco installation before but not with that many websites.
Some questions that spring to mind
Is there anything I need to watch out for?
Any recommendations on how to setup the project?
Any issues with the potential size of umbraco.config?
EDITED 01/10/2018
The request has been updated so that the intention is to have a shared code base for a number of separate Umbraco installations with separate source code repositories.
One possibility I have looked at is creating a NuGet package of a Umbraco installation where the base files are located (i.e. CSS, JS, Views, Partial Views, etc.) and use uSync to export the Document Types, Data Types, etcs. The NuGet package is then applied across different installations. As the number of websites grow this could become a time-consuming task.
Ideally the sharing of the main code base would be an automatic process, so any other ideas would be greatly appreciated.
yes and yes - they are local department of a national union
so all websites are the same, except content of course.
We actually have two different customers with solutions like that. The first one is 100+ sites, the second have not transferred all their divisions yet, but the potential is 300+ sites if all off them opt in to the solution. The "300+ solution" allows the users to login through Azure AD :)
Ask yourself why first! Are they related sites? If not, why are they sharing the same Umbraco instance?
My largest install at the moment is ~15 sites in a single install. All sites belong to the same company, share common document types and templates except for a couple of variations.
Things to watch out for...
Upgrades - upgrading a single site is no major issue but if you have 30 unrelated sites in a single install you want to upgrade that's 30 sites you have to check and fix before you can successfully complete the upgrade.
Problems start to come about when the sites later start to diversify or want/need their own specific requirements - you don't want to be left maintaining a bunch of hacks you need to implement to handle the sometimes minor differences between sites. This has become somewhat easier now that we can change doctypes on a node.
Performance - I am using Flexible Load Balancing and on the whole, it's working well. You need to make sure if you are sharing things like CachedPartials in your templates that you include a suitable cacheKey to make sure they are unique per site. What has been more of a problem is cold starts and rebuilding the examine indexes which is way too slow for it to be acceptable on a live site now.
Any issues with the potential size of umbraco.config?
The site I look after is relatively content heavy covering multiple languages but the umbraco.config file is only about 35mb and so has never been a problem.
Any recommendations on how to setup the project?
Give consideration to content that might be shared between sites (if related).
I am sure there is more but should give you some food for thought!
Single Umbraco installation for 30+ websites
Looking at a project where there is a single Umbraco installation with 30+ websites. I've setup multi-lingual websites on a single Umbraco installation before but not with that many websites.
Some questions that spring to mind
EDITED 01/10/2018
The request has been updated so that the intention is to have a shared code base for a number of separate Umbraco installations with separate source code repositories.
One possibility I have looked at is creating a NuGet package of a Umbraco installation where the base files are located (i.e. CSS, JS, Views, Partial Views, etc.) and use uSync to export the Document Types, Data Types, etcs. The NuGet package is then applied across different installations. As the number of websites grow this could become a time-consuming task.
Ideally the sharing of the main code base would be an automatic process, so any other ideas would be greatly appreciated.
not really, just make sure to limit all your queries to each site etc.
We have an install with 100+ sites, that runs without any issues (other than 100+ site editors wanting their sites changed all the time).
If every site is different, you will run into issues (too many doctypes etc), but if you can keep it simple/limited, there should be no issues.
Søren, out of professional curiosity, are they all small sites and are they all related?
yes and yes - they are local department of a national union
so all websites are the same, except content of course.
We actually have two different customers with solutions like that. The first one is 100+ sites, the second have not transferred all their divisions yet, but the potential is 300+ sites if all off them opt in to the solution. The "300+ solution" allows the users to login through Azure AD :)
Ask yourself why first! Are they related sites? If not, why are they sharing the same Umbraco instance?
My largest install at the moment is ~15 sites in a single install. All sites belong to the same company, share common document types and templates except for a couple of variations.
Things to watch out for...
Upgrades - upgrading a single site is no major issue but if you have 30 unrelated sites in a single install you want to upgrade that's 30 sites you have to check and fix before you can successfully complete the upgrade.
Problems start to come about when the sites later start to diversify or want/need their own specific requirements - you don't want to be left maintaining a bunch of hacks you need to implement to handle the sometimes minor differences between sites. This has become somewhat easier now that we can change doctypes on a node.
Performance - I am using Flexible Load Balancing and on the whole, it's working well. You need to make sure if you are sharing things like CachedPartials in your templates that you include a suitable cacheKey to make sure they are unique per site. What has been more of a problem is cold starts and rebuilding the examine indexes which is way too slow for it to be acceptable on a live site now.
The site I look after is relatively content heavy covering multiple languages but the umbraco.config file is only about 35mb and so has never been a problem.
Give consideration to content that might be shared between sites (if related).
I am sure there is more but should give you some food for thought!
Thank you for the responses, definitely given some food for thought.
Still in the early stages of the project so details are a bit vague at the moment.
From what I understand
is working on a reply...