Recently setup a proof of concept within my organization for running our custom website product off of wordpress. We currently host about 2000 custom sites and are launching about 100+ a month. Hardware is not an issue, we have load balanced environments with fail over etc.. so from a technology perspective we aren't challenged with the load.
However, I am struggling with the best way to install wordpress. I currently have it setup (successfully) using subdomain with the multisite feature enabled. I can spin up sites, map domain and assign users to sites. I am listing a few questions below, and would love to hear insight as to what I am doing wrong and what I can do better based on my needs..
1.) We have 2000 custom designs, will loading each of these into the MS install cause the backend to slow down? The overall goal is that each site will have its own design since all of our work is 100% custom. Im nervous that this many themes will be hard to manage.
2.) File uploads: If i wanted to upload a file like sitemap.xml or a straight html file to one of the network sites and have it serve-able from the root (ie. site1.wp.dev/sitemap.xml or http://www.site1.com/random_page.html) how would I accomplish that since each site doesnt really have its own file system?
3.) When setting up plugins, how can i have some plugins persist their settings onto the sub sites? I saw the YP-plugin-options plugin... but this plugin just pushes the changes to the rest of the site tables, I'd prefer a solution that just store the options to the main site table and use it from there only.
4.) Finally, is this the way to go for me? Would I be better off creating a core file system somewhere, then symlinking installs to it? Each site would then have a working folder with its own theme and I could symlink the core system files... I can elaborate on this but Im sure you get my drift.. My only concern with this is that the users are then broken out per site and we have over 100 users in house that I dont want to maintain on every single site individually...
I'm open to any and all suggestions.