There is a great deal of confusion around some terms related to the different levels of SharePoint hierarchy. Some of this is buzword overload and some has been brought about by inconsistent usage from Microsoft (and to be fair actually most of us in this industry).
So if you’ve ever wondered what things like Farm, WFE, NLB, Web Application, Site Collection and Top Level Site mean I am going to try and clarify the different terms without getting too technical as some of this stuff needs to be know by advanced, or power, users. I’ve missed out some of the more esoteric things like managed paths in the interests of readers sanity.
General Terms
Request
- When you load a page each element (including the page itself) makes a request to SharePoint and receives some data – which can be html, images, files etc.
Network Load Balancer (NLB)
- A device to distribute requests from your users browsers to the Web Front Ends
Web Front Ends – (WFE)
- A collection of servers that take requests from users (via the NLB), process them and return the data.
- This is the primary method for scaling – as the number of users grow you add more WFE’s.
Database
- The database servers store all volatile data (i.e. data that changes) in SharePoint.
- You have exactly 1 configuration database and 1 to many content databases.
- Each content database can only be on 1 server (more technically if you consider failover servers) but you can have different content databases on different servers – another method of scaling with increased load.
Authorisation and Authentication
- Authentication is the process of deciding WHO a user is.
- Authorization is the process of deciding WHAT they can do.
- IIS (the web server) handles Authentication alongside things like Active Directory and SharePoint handles authorization.
- Authentication methods include things like Anonymous, Basic, Forms, Integrated (NTML/Kerberos and Claims).
Farm
- A collection of servers (web, database, index) that together make up a SharePoint Installation – aka Topology.
- You can do all this (web/datababase/index etc) on a single server in “Simple Installation” mode in which case you don’t need a NLB. For many small businesses this is plenty enough.
- Medium sized businesses usually start with at least 2 Web Front Ends (WFE’s) and a database server.
- Multinationals can have some very complex setups involving dozens of components.
Levels of the SharePoint HierarchyWhen you hear someone talking about ‘Scope’ this is what they mean. |
|
Farm
- The entire installation as a whole. So if something has “Farm” level scope it applies to everything.
Web Application
- An IIS Website that has been configured to run SharePoint.
- Can only be created in the Central Admin UI (or via the STSADM tools etc)
- A Farm has one running the central administration site and 1 to many others running normal SharePoint sites.
- This is generally how the main part of the URL is defined – e.g. http://somesite.yourcompany.com and http://othersite.yourcompany.com will be separate Web Applications.
- This authentication method is set at the Web Application level – though you can have the same content (i.e. SharePoint site) delivered by two different web applications with two different authentication methods.
- Port and network card bindings, host headers and a host of other networky stuff is set at the Web Application level – so if you want external users, for example, to have access to a site that would apply at the Web Application level (you can apply more granular restrictions using authorization security though).
- The Application Pool (the account that SharePoint runs under and the resources that it can consume) are also set at the Web Application level.
Note – Used to be known as “Virtual Server” before the days of Virtualization technologies.
Site Collection
- Each web application has at least 1 Site Collection (but can have many).
- Each Site collection has exactly 1 ‘Top Level Site’.
- The Site Collection doesn’t actually contain anything itself – that is down to the Top Level Site.
- This is the level that things like the Recycle bin and Quotas are organised at.
- Each site collection can only use a single content database (though multiple site collections can us the same content database) – this has major design implications as there are maximum recommended sizes for a content database.
Top Level Site
- A Top Level Site is a site… at the top level… see – this terminology is not that confusing after all 😉
- Most of the time we can use Top Level Site and Site Collection interchangeably – in fact Microsoft do this all the time.
- Each Top Level Site has zero to many sub-sites (simply called sites)
- This is the lowest level that many things can be scoped to, for example only the Top Level site contains a web part Gallery so you can’t say Collection X, Site A can have a web part but Collection X, Site B can’t.
- When you look at Site Settings in a top level site you will see the highlighted sections – in a sub site you will not. Both are called Sites in the UI.
Site
- (aka Web’s) – these are the actual sites that you use.
- A site can be a top-level site or a sub site of the top level site.
- A site can also have other sites – these are called sub-sites.
- Sub sites can also have other sub sites and so on.
- A site can inherit its parent’s permissions or define its own – more on this complex subject in a future article.
References
Tags: Farm, SharePoint, Terminology
Wonderful post!!! I have been struggling thru many of these terms and have been thinking about how to scrabble them all together into a blog post or web page to share with others. Youv’e done a fantastic job!
One item of note – STSADM is being deprecated with 2010 … it’s now Powershell!
Thank you so much. I have been working with SharePoint for a couple of years, but self taught on the job. Now I am trying to progress into consultancy and need to pass technical interviews. I was at such a loss on the terminology side and your blog has provided the clearest explanation I have found on the net. Suddenly all the pieces fit together and are not so complex after all.
Thanks for the post – very useful info. Much appreciated.
Simple and informative. Excellent job
Wonderful explanation! Brings it all together in a way that MSFT itself was unable to do.
Thank you!
Thanks, so simple and easy to understand.
Thanks .. simple and complete .. this is a great article
Can we create a web application using visual studio only
i mean no interface
just by server object model.
Nice post !! Easy way of explanation