Configuration Options for SharePoint (Hosting Options)
I've been looking at SharePoint in building blocks and pieces lately. The WSS manageability controls paper lays out what you can configure at the web app layer vs. a site collection for example. One previous blog post I recommend reading with this one is SharePoint as an IT service offering. Whether you are a partner providing services or an IT group trying to figure out how to "host" SharePoint for your company this line of thinking may help. The mindset is to think about building a service around SharePoint, not just bringing up servers, but saying, what should we do to maximize what we can get out of this app while getting economies of scale out of IT and "commoditizing" this app. Whether it's the web team, the intranet team, or an IT team in some department, it is worth considering this as a service rather than continuing to reinvent the wheel... cause it won't turn out the same and may be an up hill battle to support and integrate separate deployments the way you want to.
People ask me a lot about use case scenarios and I started weaving a story of someone who starts their day eating cereal, going to visit the doctor, bank, etc... and without realizing it, their day was influenced behind the scenes over a dozen times. It's a blog I plan to put together with some references, but it will take some time. Rather than looking at these use cases, let me break down the options of how to "host" it. If corporations will look at these models for how they want to "offer" SharePoint to their company they will find that it's a TON easier than having each department figure it out. Remember the days of departments figuring out accounts, email, sites, etc... You don't have to repeat that. Look at the email model/mailbox hosting (Exchange), and Account & profile mangement/LDAP (Active Directory and Identify Management) hosting inside or outside of your company as an example of how these services can be offered to your corporation.
1. Site Collection Hosting - http://portal/sites/sitecollection I expect to see this as THE most common option inside and outside of companies. Whether you are a small business hosting with http://www.officelive.com or various third parties such as http://www.frontpages-web-hosting.net/ where you can get free trials of WSS 3.0. The idea is you get a site collection, you can manage it, you own it. In a corporate deployment, IT would simply host these site collections like they do mail boxes, give you a quota, give you policies and procedures, maybe even training. (I recommend Site Collection Administrator training to explain permissions, branding, security, and compliance, beyond the technical training.) In this you'll find this is the cheapest, simplest type of hosting option. You can do this for collab sites, wikis, blogs, publishing sites to a limited extent, and even some of the enterprise options such as forms, business workflows, document management, search, reports center with KPIs and excel services (requires safe locations). In a corporate environment you'll want to consider branding, navigation, higher quotas, service levels, and tech support for these site collection administrators. You'll also want to tie them together with a portal, search, site directory, etc... In an internet (ISP/ASP) and extranet environment these options will differ. Don't forget you can do Host Header deployments where you can support multiple http://sitename site collections. They are more complex, and not for the faint of heart. They *will* be harder to upgrade, guaranteed. Corporate mode or out of the box mode is most common. In it you will typically see OOB (out of the box or essentially off the shelf) type deployments. Little customization with smaller tighter Ops teams. The value is super high with the collab environments feeling very self service oriented. Cleanup, auditing, and expiration and compliance or big brother duties will still need to be conducted behind the scenes enforing those policies mentioned above. The barriers to entry, (site creation) need to be low. You don't want to make this hard or you WILL end up with people using alternatives that you don't want to see... aka shared drives, dumping to public folders, large attachments, whatever...
2. Web Application Hosting/Multi-Tenant - http://webapp Although multiple web apps, multiple SSPs (Shared Service Providers - Search is a great first example) there is more to this than it looks. If HR wants to have their own web app to host the company handbook and put together a custom navigation, Finance wants to use Excel services with some long running calculation with SLAs, and IT wants to integrate email and do archiving, you may find yourself in a situation where OOB needs to be separated just a bit to allow different services for different departments or divisions. In an Internet hosting environment these are different customers with different service needs such as search and BDC, etc... Beyond the services, you'll find that separate web apps allow for more customization where things rolled out to the /Bin don't impact the other apps, the /GAC is another story. You might find some great insights in this "customization policy" paper. Site templates now provide options for provisioning across a web app, and features can be scoped at the web app level as well. The key limits are around memory and how much you consolidate or separate app pools. You can have more than 10 or 20 web apps if you consolidate the app pools well. If you use a different app pool and hence different worker process for each web app, you will find you'll consume your 2 GB of RAM in 3 or 4 web apps. If you listened to me and started with 4GB, you may squeeze your way to 10 web apps by using "auto shut down when idle", your SSP administration web apps, and central admin web apps. It is typical for a worker process to use 400-800MB of memory. Consumption up to 1.5 GB of memory is not extreme! You do need to figure out what works best for you in terms of limits and cycling. If you've been here before in WSS 2.0/SPS 2003, its the same exercize. Otherwise, I suggest starting with 800MB then seeing how often that happens. I find that the higher you let it go there is some diminishing return at around 1.5 where it starts to be slower to cycle and can even hang in cycling if you let it go too high. I know experience will differ here and there are little best practices. There is a little known feature in the product to keep the SSP with the content web app kinda like it was in SPS 2003. I haven't explored doing this, but I hear you can. Still goes back to that's a lot of databases and lots of web apps, and few is recommended. Host headers are a way of consolidating lots of namespaces, but doesn't help you when trying to provide separate services. Share SSPs when at all possible, and share app pools when at all possible (isolate troublemakers and limit their memory) and you'll find you can scale this pretty well even past 10 to 20... maybe more? Exploring charge back in this model is pretty easy since each web app has its own IIS logs (usage), it's own databases (storage). Expect to see more vendors in this space. Some of the ISP hosters will give you your own domain name and let you use SharePoint Server Standard or Enterprise edition with the MOSS for Internet Sites license. I haven't seen much in the hosting space in this arena, but I'd love to hear about it.
3. Dedicated Hosting - http://webapp This is the creme de la creme of hosting. This premium offering is commonly what happens with the corporate portal anyway. It is most often on its own hardware, possibly with a dedicated support and ops team with Dev, test, staging environments. These models for staged deployments need a few tweaks, but don't have to change dramatically. With dedicated hosting the hardware is dedicated to a deployment. The charge back is very easy. The department or company pays for the hardware, the resources, the services, software, etc... in this day and age you're likely to see more and more virtualization in this space. Dev, test, staging environments are more and more often becoming mirrors with images on them. Sure for perf testing you may have physical hardware, but beyond that more and more the dev and test environments are very simple to roll back or roll out when using the latest imaging software. I've seen the future in Windows Server 2008 virutalization. Microsoft Managed Solutions does have an offering in this space... You may have read about the Energizer deployment. HP Services and EDS I believe also have offerings on the Intranet space for hosting like this. FrontPages has an offering for SharePoint Server in the dedicated arena in the Intranet space as well. Some solutions simply offer hardware with SharePoint Server or WSS 3.0 installed on it and simply give you TS access and give you the wheel. Where you pay them for the hardware. On an intranet where you are driving, the dedicated space gives the most flexibility, but it is the most costly when that's the answer for every department. You should look at the other two, and likely find a happy medium to providing services for the masses and the custom or specialized apps.
The idea for posting this was to show you there are at least 3 common ways of providing services to host SharePoint for your corporation. Exploring these ideas and understanding their pros and cons will help you find a happy medium for the demands from the business and technology.
Some comments encouraged me to point to some great resources on hosting:
Hosting SharePoint Workspace on Codeplex - has some great community info with tools for SharePoint hosters. Most of these tools are awesome for everyone. The SQL auth one I saw demo'ed and it was very cool. Also saw a demo of the provisioning stuff. That is obviously helpful for the site collection hosting and a key component for scaling your service and keeping support costs down. There is a video and msi for installing the solution kit.
SQL Forms Based authentication
Custom SharePoint Web Services
Custom SharePoint Web Parts
HTTP Module for URL redirection
White paper: Create shared hosting solutions on Windows SharePoint Services
Site Templates to help people get started or for adding additional value to your offering.