SharePoint 2010 is a popular tool for creating intranets, customer portals, Internet-facing websites, Business Intelligence dashboards, and even your enterprise social computing strategy. When it comes to your SharePoint 2010 rollout, you’ll want to come up with a solid logical design, which will serve as the “blueprint” for your SharePoint deployment. The logical design consists of answering questions such as:
- What should we have in place before starting a logical design?
- How many web applications do we need?
- How many site collections and sites do we need? (And how do we choose between them?)
- Which service applications should be enabled?
- What server roles do we need?
- What is a managed path? An alternate access mapping?
In order to properly answer those questions and more, you’ll want to consider some key items up front before you ever touch your server. Here’s a collection of “top 10” things to consider when completing your SharePoint 2010 logical design.
Invest in a Solid Information Architecture
Before you start creating a logical design for your SharePoint deployment, you’ll need to have something on which base it. Information architecture (IA) is the process for defining how information will be delivered to (and accessed by) users. The IA describes how information managed in SharePoint will be organized and how users will navigate through the environment. When developing your IA, you’ll probably focus on three key things:
- Overall site map: How your site is structured; home page and sub-site and pages; how your users will likely navigate through the portal.
- Page layout: The position of images, controls, web parts and other content on each page. You can use page mockups using a tool such as Balsamiq Mockups to help you here.
- Metadata: The navigation and tagging structure of the content within the portal. Metadata shows up in many places in SharePoint, including navigation, authoritative and social tagging, the term store (where SharePoint stores the official set of tags), and in search.
Invest in a Governance Plan
No matter how much planning you put into your information architecture and logical design, you’ll likely find that over time your content gets stale and the site structure becomes less relevant. In order to ensure the longevity of your logical design, invest in a governance strategy. The SharePoint 2010 governance planning white paper is a good place to start.
Understand the Logical Containment Hierarchy
The logical containment hierarchy in SharePoint 2010 is simply the way information is managed and stored within SharePoint. You should understand this and educate your designers and power users. The following is an overview of the key elements:
- Farm: A collection of one or more servers acting as a single SharePoint logical group. A farm can contain one or more web applications.
- Web application: A URL (or set of URLs) that serve as the basis for authentication and for managing zero or more site collections.
- Site Collection: Consists of a top-level site and its subsites. It is a logical unit for administration: There are settings that can only be configured at the site collection level. Each web application can host many site collections.
- Site: Consists of a data repository, visual elements, administration, and almost every other core element of the functionality and experience for the user. Visually, a site is represented as one or more web pages. A site contains zero or more lists and libraries.
- List (or library): A data repository that can hold columns of data and/or documents. The objects stored in a list are called items. Visually, a list is represented by views or a web part. It is analogous to a database table or Excel worksheet.
- Item (or document): The fundamental data objects that are stored within a list. An example of an item might be a contact, a task, or a document. Items are analogous to rows within a database.
- Service application: Provides a set of capabilities to one or more web applications. Don’t turn on all service applications; plan for and use only the ones you really need.
Also make sure that your designers and users understand the trade-offs between things like sites and site collections, sites and pages, and collaboration versus publishing sites. The SharePoint 2010 Usage White Paper is a great resource for this.
Consider the Web Application Trade-Offs
Let’s say you’re creating an intranet for your organization. You could put everything on http://intranet.<yourcompany>.com. But you might be better off with several web applicationsHere are some examples:
- http://intranet.<yourcompany>.com (for the intranet)
- http://www.<yourcompany>.com (for the Internet)
- http://board.<yourcompany>.com (for the board of directors)
- http://my.<yourcompany>.com (for the My Sites and Profiles)
- http://team.<yourcompany>.com (for collaboration sites)
- http://extranet.<yourcompany>.com (for your partners and customers)
So… why would you break your deployment into multiple web applications? There are several reasons:
- Security: You might want to separate content based on security. For example, you might need to ensure that your partners and customer never see your internal content. You also might want to make sure that your employees can’t ever get to the board of directors site. You’ll notice that many of our example sites (intranet, www, board, and extranet) are separate based on this one requirement. You can then enforce permissions through the use of policiesfor example, you can create a policy to explicitly deny access to the employees group on the board site. Policies for a Web application are enforced no matter what is configured on individual sites that live within the web application.
- Performance: For large deployments, it enables you to optimize performance by putting similar applications together in the same content database. In our example, ‘my’, ‘team’, and ‘intranet’ are on separate web applications. We did that because My Sites create a large number of sites that are pretty small, whereas the intranet site and team sites will typically have a smaller number of large sites.
- Management Finally, you might want to atomically manage various elements of the web application. When you create separate web applications, you can implement different limits for general application settings like the Recycle Bin. You can also use separate application pools, which means that you can change memory allocation and process recycling separately.
Choose Your Authentication
SharePoint 2010 provides a wide range of authentication options, including a choice to specify claims-mode or classic-mode. In short, you should use claims-based authentication for any new SharePoint 2010 deployment. Why? Because if you choose claims-based, you can use any of the supported authentication types for your web applications. If you don’t, you’ll just be limiting your options laterand it’s no extra work, even if you’re only using Windows authentication. The only consideration might be for integration with other systems that may not support claims.
On the other hand, if you’re upgrading from SharePoint 2007, you can keep classic-mode authentication. However, I recommend considering building a new farm using claims-based authentication and then simply attaching your content databases in order to upgrade. Be sure to read the Plan authentication methods TechNet article for more details.
Design Managed Paths
A managed path lets you define a URL namespace that SharePoint uses to address a site collection. For example, if you have a web application called http://intranet.<yourcompany>.com, you might want a site collection to exist at http://intranet.<yourcompany>.com/knowledge. In order to do so, you’ll need to add an explicit inclusion for “knowledge” under that web application. In another example, if you want a general path that all new site collections should go under (let’s say a site called ‘newsite’ under a path called ‘team’ that sits at http://intranet.<yourcompany>.com/team/newsite), you’d need to create a wildcard inclusion called ‘team’this indicates that all child URLs of the path are site collections. Out of the box, SharePoint has a wildcard path at ‘sites’.
Define Alternate Access Mappings
Alternate Access Mappings (AAMs) enable your websites to function properly under several URLs at once. For example, you might want your users to get to the same content via an internal URL of http://intrnaet as well as a fully qualified URL of http://intranet.<yourcompany>.com or an externally-accessible URL of http://extranet.<yourcompany>.com. The AAMs enable your URLs to be recognized by SharePoint and for SharePoint to correct the URLs when presented to users for things such as search results links.
Choose Logical Server Roles
SharePoint 2010 enables you to logically separate its functionality into several roles. Logically, SharePoint can be broken up into one of three key roles:
- Web Front-end (WFE)
- Application Server
- Database Server
The WFE role renders HTML pages to users, while the application server role includes all of the service applications (things like search crawling, search queries, Excel Services, managed metadata service, etc.). The database server role provides database services via SQL Server and does not need to use the SharePoint bits directly. You could combine all these roles in one physical server or separate the logical roles onto many physical servers.
Consider the Site Collection Trade-Offs
After you determine your information architecture, web application URLs, etc., you’ll need to plan how the content will be implemented across site collections. A site collection is a hierarchical set of sites that can be managed together. Sites within a site collection have common features, such as shared permissions, galleries for templates, content types, and web parts, and they often share a common navigation. All sites in a site collection are stored together in the same content database. A portal site is often implemented as a site collection with the top-level web site as the home page of the portal.
In general, I recommend that you put each of the following types of sites into separate site collections right from the start, even if you use a single web application for everything. This will help you manage site collections and content databases better in the long run.
- Intranet portal sites
- Extranet sites
- Team sites related to a portal site or Internet site
- My Sites (by default, each My Site is a site collection)
- Internet sites (staging)
- Internet sites (production)
- Lines of business within a conglomerate
- Document Center sites
- Records Center sites
So for example, if you were to deploy a company intranet, a corporate Internet-facing site, and a records management repository, you’d want to create three site collections from the beginning. This enables you to manage the site collections individually, provide separate content databases, and more easily accommodate growth over time. The downside of multiple site collections is that there are some features that do not work across site collections. This is important because a large deployment of SharePoint will dictate multiple site collections. The following is a sampling of the features that do not work across site collections:
- Content types: How common documents, forms, and other content is normalized in your organization. (Note: In SharePoint 2010, there is the notion of Enterprise content types that can be syndicated across site collections.)
- The Content by Query web part: This web part aggregates information from across sites but does not work across site collections.
- Information management and retention policies: Records management policies are set at the site collection level, forcing organizations to deploy the same policy multiple times for large enterprises. This can be addressed by using content type syndication, noted earlier.
- Quotas: You should absolutely define quotas so that users are used to limited storage from day one. They are also configured at the site collection level, which means that you will need to configure quotas separately at each site collection.
Define Profile Properties and Managed Terms
If you are going to provide People Search via user profiles, you must decide which profile properties in the directory service or business system map to the profile properties in SharePoint Server. Before you configure any properties, you should create a list of all user profile properties that you want to capture. I recommend that you have a business analyst gather a comprehensive list of properties up front. A design session works well for this purpose; you can determine which properties are important for your business collaboration and social computing scenarios. This session should include questions such as:
- What core contact information should we include for users? Where is the definitive location for each of those properties?
- Should we include office location or business unit?
- Do we let users update their own information? If so, which properties do we show?
- Do we need to write back to the source location? If so, how does that impact our security plan?
This planning session is important, because it will tie into your governance policies and your policy for Personally Identifiable Information (PII). Any new property that is added to the user profile property list will require a full synchronization with the corresponding directory source. Ideally, changes to the user profile property list will be infrequent and strictly controlled through change management.
In addition, if you are going to provide tagging services to users, you’ll want to decide on a centrally managed set of terms. In SharePoint, this service is provided by the managed metadata service application, which provides a tool that enables the term store manager to:
- Create a new term set and add, change, or remove terms
- Create a hierarchy for terms and identify which terms in the hierarchy can be used to assign tags to content and which terms are just used for grouping purposes
- Define synonyms for terms
- Import terms from a CSV file
- “Promote” social tags into an official term set
SharePoint 2010 logical design is about putting the right mix of key architectural elements in place in order to achieve your solution. Make sure you focus on up-front planning and understand the trade-offs before jumping into a design.