Monday, January 25, 2010

SharePoint 2010 Service Architecture

Introduction

Recently I wrote a series of blogs on Enterprise Search and FAST ESP with the intention of having a deep dive into SharePoint Search 2010. There are many changes to both the logical and physical topologies of SharePoint 2010. Most of the readers of this blog series are very familiar with SharePoint 2007 but not so much with SharePoint 2010 (since it is in beta). Before doing a deep dive into SharePoint Search 2010 we need to have a good grasp of the changes for SharePoint 2010.

A well architected logical and physical SharePoint environment tends to revolve around Search. Search tended to drive much of the logical and physical architectures for SharePoint 2007. In this blog series I am going to do an introduction to the SharePoint 2010 services, logical and physical architectures. It is critical to have this worked out from the beginning because the SharePoint architecture must scale with the business. What we have seen is once SharePoint is implemented; it becomes highly adopted.

SharePoint 2010 Versions

In SharePoint 2007 the versions we became very familiar with were:

  • Windows SharePoint Services (WSS)
  • MOSS 2007 Standard
  • MOSS 2007 Enterprise

For SharePoint 2010 it has changed to:

  • SharePoint Foundation Services
  • SharePoint Server 2010 Standard
  • SharePoint Server 2010 Enterprise

Tier Architecture

SharePoint 2010 has not changed from a Tier perspective. There are Web, Application and Database tiers. What’s important is it to understand is how to architect those tiers. For SharePoint 2010 the Application tier has changed significantly as it is more sophisticated than what was available in SharePoint 2007. Some things that we will get into within this series are creating service farms and partitioned services.

Service Application

Important changes that you should be aware of:

  1. In SharePoint 2007 there was Shared Service Providers (SSP) which was used to host services. SSPs have been completely removed from SharePoint 2010 and services can be run independently.
  2. Some services in SharePoint 2010 will be referred to as Service Applications. Not all services in Central Administration are Service Applications. In the table below, you will see which services are considered to be Service Applications. You will see a trend that Service Applications tend to map to major features of SharePoint rather than services which could be considered part of the infrastructure of SharePoint.
  3. Service Groups have been introduced to logically manage Service Applications. When Service Applications are added they will be included in a Default Group. Web Applications can use that Default Group or use a Custom Group of Service Applications. What this provides is greater control of which Service Applications are available to specific web applications. If you are familiar with SharePoint 2007, the Service Group concept is one of the reasons we created different SSPs because sometimes we needed to create barriers between web applications.
  4. SharePoint 2010 services can be reused within and across farms. This was not available in SharePoint 2007 and provides a significant amount of scalability options.
  5. SharePoint 2010 supports Service Partitioning. If you are familiar with database partitioning, think of it is horizontal partitioning of data within a SharePoint service. Not all services support service partitioning; partitioning is only used in services that are data driven. A typical scenario is that a centrally managed/cross farm service with data that should not be exposed to all subscribing farms. If that is the case, a farm would subscribe to a partition of centrally managed service. In SharePoint lingo each partition is referred to as a “tenant”.

Knowing what we now know, when scaling out these services we will take the following into consideration:

  • Multiple instances of the same Service Applications can be initiated within a farm.
  • Service Applications are shared across Web Applications within a farm by Service Group.
  • Some Service Applications can be shared across multiple farms while others cannot.
  • Service Groups can logically contain Service Applications that reside in other farms.
  • Web Applications have the flexibility to use multiple instances of the same type of Service Application (regardless of which farm hosts that service).
  • Service Applications can have its data partitioned and only accessible to specific subscribers.
  • Service Groups can be used to logically scale for performance, security and scalability.

Some side notes:

  • Service Applications are hosted within IIS. It is possible to have Service Applications deployed to different application pools to achieve process isolation (important for both security and fault tolerance). So it is possible to have a single machine host many services and isolation between them.
  • Each Service Application instance has a Connection which Web Applications connect to. Web Applications use these Connections (sometimes referred to as proxies) to send and retrieve data from a Service Application.
  • If the same type of Service Application is used more than once in a single Web Application, one of the Connections will be marked as the primary.
  • Services are deployed through the Configuration Wizard, Central Admin and using Windows PowerShell. Services can be managed through Central Admin and PowerShell.

Given this flexibility in service configuration you now can:

  • Have better ability to share dedicated services across regional locations.
  • Have the ability to create dedicated services by business unit. For instance a Finance Web Application may have a dedicated Excel Services Service Application instance while a different Excel Services Service Application instance may be available to the rest of the farm.
  • Now have greater control to ensure that data cannot be shared between logical groups of users. For instance lock down departmental or intranet data.
  • Have the ability to support hosted models in a more secure and efficient manner.
  • Service Applications that have expensive operations, like Search, can be centralized and reused across farms.

We will put these rules for Service Applications into action in the next part of this series.

SharePoint 2010 Services

In SharePoint 2007 we commonly had to configure the following services:

  • Document Conversions Launcher Service
  • Document Conversions Load Balancer Service
  • Excel Calculation Services
  • Office SharePoint Server Search
  • Windows SharePoint Services Help Search
  • Windows SharePoint Services Web Application

In many cases with SharePoint 2007 implementations services were not configured correctly. This resulted in poor performance and the inability to scale to meet business demand. Many people implementing SharePoint 2007 did not understand that both a logical and physical architectures have to be aligned to how SharePoint services will be utilized. This will be a problem for many on the 2010 platform.

As discussed the service architecture has changed for SharePoint 2010 in many ways. Before we dive into all of the strategies of how services should be aligned in both the logical and physical architectures let us understand what the new services are.

Here is a list of services for SharePoint 2010. I found several pieces of information and I manually created this table with the information that I have.

Services

Description

Service Application

Cross Farm

Partitioning

Available On

Access Database Services

New service that allows for viewing, editing and interacting with MS Access through a browser.

Yes

No

Yes **

SharePoint Server 2010 Enterprise

Application Registry Service

Enables users to search and collaborate around business data. Provides backward compatibility to BDC service.

No

No

NA

SharePoint Foundation 2010 and up

Business Data Connectivity

Access to line of business systems. Service now supports writing to data services.

Yes

Yes

Yes

SharePoint Foundation 2010 and up

Central Administration

Central Admin Site

No

No

NA

SharePoint Foundation 2010 and up

Document Conversions Launcher Service

Schedules and initiates document conversions.

No

No

NA

SharePoint Foundation 2010 and up

Document Conversions Load Balancer Service

Balances document conversions across the SharePoint farm.

No

No

NA

SharePoint Foundation 2010 and up

Excel Calculation Services

Ability to interact with Excel files in a browser. New extended functionality.

Yes

No

No

SharePoint Server 2010 Enterprise

Lotus Notes Connector

Index service connector to index Lotus Notes Domino Servers.

Yes

Yes

Yes

SharePoint Server 2010 Standard and up

InfoPath Service

Supports hosting InfoPath forms in SharePoint.

No

Yes

Yes **

SharePoint Server 2010 Enterprise

Managed Metadata Service

New service that manages taxonomy structures and definitions.

Yes

Yes

Yes

SharePoint Server 2010 Standard and up

Microsoft SharePoint Foundation Incoming E-mail

Email service. This will run on the machine where the web application is running.

No

No

NA

SharePoint Foundation 2010 and up

Microsoft SharePoint Foundation Subscription Settings Services

New service used to track subscription IDs and settings for services that deployed in partition mode.

Yes

NA

NA

SharePoint Foundation 2010 and up

Microsoft SharePoint Foundation User Code Service

New service runs code deployed as part of a sandbox solution and runs in restricted mode. Must be started on any machine in the farm that needs to run Sandbox code.

No

NA

NA

SharePoint Foundation 2010 and up

Microsoft SharePoint Foundation Web Application

The service that runs the web application.

No

No

NA

SharePoint Foundation 2010 and up

Microsoft SharePoint Foundation Workflow Timer Service

Responsible for running timer jobs.

No

No

NA

SharePoint Foundation 2010 and up

PerformancePoint

BI Dashboard services.

Yes

No

NA

SharePoint Server 2010 Enterprise

PowerPoint

New services that allows viewing, editing and broadcasting PowerPoint in a browser.

Yes

No

Yes **

SharePoint Server 2010 Enterprise

Project

Host project server 2010.

Yes

No

Yes

Additional server product.

Search Query and Site Settings Service

Service that performs a query across built indexes.

Yes

Yes

Yes*

SharePoint Server 2010 Standard and up

Secure Store Service

Service provide SSO authentication.

Yes

Yes

Yes

SharePoint Server 2010 Standard and up

SharePoint Foundation Search

Service that provides search capabilities for SharePoint Foundation Search only. For SharePoint Server 2010 Standard and Enterprise this service will perform online Help search.

No

No

NA

SharePoint Foundation 2010 and up.

SharePoint Server Search

Crawls content, creates indexes and performs queries. Automatically configured.

Yes

Yes

Yes*

SharePoint Server 2010 Standard and up

State Service

New services that provides temporary storage of user session data for SharePoint components.

Yes

No

Yes **

SharePoint Server 2010 Standard and up

Usage and Health Data Collection

Reporting services that provide farm wide usage and health.

Yes

No

Yes

SharePoint Foundation 2010 and up

User Profile

New and expanded social networking services and features.

Yes

Yes

Yes

SharePoint Server 2010 Standard and up

User Profile Synchronization Service

Synchronizes user and group profile information that is stored in the SharePoint Server 2010 profile store with profile information that is stored in directory services across the enterprise. Works with AD, BDC, Novel LDAP and Sun LDAP (more info).

Yes

Yes

Yes

SharePoint Server 2010 Standard and up

Visio Graphics Service

Ability to view published Visio diagrams in a browser.

Yes

No

Yes **

SharePoint Server 2010 Enterprise

Web Analytics Data Processing Service

Captures data for analytics.

Yes

Yes

Yes

SharePoint Foundation 2010 and up

Web Analytics Web Service

Web service interfaces for analytics.

Yes

Yes

Yes

SharePoint Foundation 2010 and up

Word Automation Services

Service that performs automated bulk document conversions.

Yes

No

Yes **

SharePoint Server 2010 Standard and Up

* FAST Search cannot be partitioned.

** Supports partitioning but is not needed because there is no tenant data.

Next

In the next blog we will actually jump into the topologies of SharePoint farms (with diagrams) based on the information captured we have gone over.

References

4 comments:

Edgard said...

Great start to the series.

Chandra said...

Thank you for putting these together.

One minor change in the list "Word Automation Services" is part of Standard license.

Unknown said...

Is performancePoint supported on a multi-tenant environment?

If not, will it work anyway?

What are the options to use PerformancePoint across tenants?

Jason Apergis said...

Looking at my past research, the answer is no, PerformancePoint does not support multi-tenant nor cross farm. I personally have not tested to see if it would work cross farm, so I will rely on the Technical Diagrams guidance... Please review them but this blog pulls in information from many of them.

Jason