Distributed Deployment

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
On This Page

Overview of Microsoft Technologies that Enable Distributed Deployment
Distributed Deployment Scenarios for Microsoft Project Server

Overview of Microsoft Technologies that Enable Distributed Deployment

Scalability and performance can be defined as the ability of a system to grow and respond to users in a timely manner. How can you guarantee that your Microsoft® Project Server installation is adequately scalable and can perform optimally? Unfortunately, there isn't a single configuration that will meet all of your organizations' requirements; however, there are many scalability and performance options available that can help you get the most out of your Microsoft Project Server installation.

In Microsoft Project Server environments with high demands, scalability (specifically, scaling out) combined with clustering is a cost-effective way to improve performance and increase availability, allowing your organization to meet the needs of its users. The method of clustering you choose can be independent of your configuration of Microsoft Project Server, whether you choose hardware (for example, a router or switch) or software (such as Network Load Balancing) clustering technology.

In general, scaling out has two approaches:

  • Network Load Balancing (Windows Load Balancing Service)   A component of Microsoft Windows 2000 Advanced Server that enables clustering.
  • Failover clustering   A method of providing backup access to applications and hardware in the event of failure.

The components of Microsoft Project Server that can be scaled out are:

  • Microsoft Project Server database   A Microsoft SQL Server® database can be added to a cluster to take advantage of failover clustering.
  • Microsoft SQL Server Analysis Services   Moving the online analytical processing (OLAP) portion of the Portfolio Analyzer feature to its own server can significantly improve performance.
  • SharePoint™ Team Services from Microsoft  Document and issue tracking for Microsoft Project Server is handled by SharePoint Team Services. This feature is accessible to users of Microsoft Project Server through the Microsoft Project Web Access user interface.
  • Microsoft Session Manager Service   Replaces ASP sessions in Microsoft Project Server.
  • View Manager   Each time a resource or project is checked in to Microsoft Project Server, the view tables are updated. This can be extremely processor-intensive; moving this feature to a separate server can greatly reduce the workload for the Microsoft Project Server computer.

Determining Your Organization's Requirements

There are many elements to consider when determining the scalability and performance requirements of Microsoft Project Server for your organization. First, you should consider the hosting environment, the number of users (including their usage patterns), application and database requirements, and security issues. Taken together, these will help you determine how to scale out your organization's Microsoft Project Server installation.

Once you have determined the requirements, you can then scale out your organization's Microsoft Project Server installation by using Network Load Balancing (NLB) and failover clustering, depending on which component of Microsoft Project Server you want to scale out.

Hosting Environment

The scalability requirements for a department installation to serve 20 users are vastly different from that of an extranet installation intended to serve thousands of users. The first step to determining scalability and performance requirements is to understand the hosting environment. Specifically, you should consider the following factors:

  • The number of concurrent users   In determining application deployment and hardware configuration, consider not just the total number of users, but the maximum number of concurrent users. Further, it's a good idea to categorize users roughly into project managers, team members, and executive stakeholders. Project managers put the most stress on the application server, but there are usually far more team members than project managers.
  • The features to be implemented   Your organization might not use all of the features of Microsoft Project Server. The features you use affect the scalability and performance requirements. For instance, if Portfolio Analyzer won't be used, the installation won't require SQL Server Analysis Services, and the computer where the application is installed will be required to perform fewer types of transactions. The more features implemented, the greater the load on the computer or computers running the application.
  • How the application will be accessed   If the application will be accessed from the Internet through a firewall, the security requirements will be more rigorous than a departmental system run from a desktop-class computer. Secure Sockets Layer (SSL) adds significant stress to application performance.

Number of Users

The number of users in your organization that will be using Microsoft Project Server has a direct effect on your organization's scalability and performance needs. The core function of Microsoft Project Server is to provide distributed project management capabilities, including project tracking, collaboration, enterprise project management, and reporting. Beyond that, additional features that support project collaboration, project portfolio reporting (reporting across projects), and project modeling can be used. Each of these features has an effect on the overall scalability and performance of the installation.

  • Project tracking   This core functionality is a standard part of Microsoft Project Server and is always installed. Project tracking consists of assignment posting, timesheet activity, status reporting, and managing views.
  • **Collaboration  ** This feature adds document management and issue tracking. It requires the installation of SharePoint Team Services. This feature increases the load on the Microsoft Project Server computer, though most of the work is handled by the server running SharePoint Team Services.
  • Enterprise project management   This feature adds project check in and check out, an enterprise resource pool, automated resource assignment and substitution, and portfolio modeling. This feature also adds a significant load to the application server.
  • Portfolio reporting   This feature adds data warehouse reporting and requires SQL Server Analysis Services. Enterprise project management must be used to enable portfolio modeling. This feature set adds additional load over and above that which is used by adding enterprise project management.

The actual range of users that determine the configuration will vary, based on the ratio of usage categories and the class of servers selected for the application tier:

  • For evaluation of very small departmental or workgroup installations, Microsoft Data Engine (MSDE) is an appropriate database server. The default installation of Microsoft Project Server will install MSDE on the same server as Microsoft Project Server.
  • For medium installations in the approximate range of 10 to 1000 total users, the minimum configuration should separate the database server from the application server. Optimally, SQL Server Analysis Services and SharePoint Team Services will each be deployed on separate computers; as usage increases, dedicated computers will be required.
  • For installations greater than 1000 users, or installations that are business-critical, multiple application servers should be deployed. Such configurations will require a high-end database server computer.

For more information about how to determine the best way to configure your installation of Microsoft Project Server, see the Microsoft Project Server 2002 Architecture and Extensibility white paper on TechNet.

Application and Database Requirements

Before you scale out your Microsoft Project Server installation, you should ensure that you have the computers and hardware on hand that can support the requirements of the applications. Microsoft Project Server requires SQL Server 2000 in an enterprise environment.

For more information about application requirements, see the following articles on the Product and Technology Catalog Web site:

Security Issues

Access to Microsoft Project Server data and its functionality is secured primarily through application security, although SharePoint Team Services and SQL Server Analysis Services require Microsoft Windows® security. To secure access from the Internet, it is highly recommended that you implement Secure Sockets Layer (SSL). This adds additional overhead, however, and can significantly affect the performance of Microsoft Project Server. You can minimize the effects of this by implementing hardware encryption/decryption by either using an onboard card or by using a front-end router that controls Internet ingress and egress.

Sample Hardware Configurations

System requirements for Microsoft Project Server are documented in Microsoft Project Server 2002 Requirements at the Product and Technology Catalog Web site, as well as in the file PjSvr10.htm, found on the installation CD. Microsoft Project Server can be configured to run on hardware ranging from a single, powerful, workstation-class desktop computer to an array of data-center-class server computers. The following list shows some of the possible Microsoft Project Server hardware configurations:

  • One computer   Microsoft Internet Information Services (IIS) and MSDE
  • Two computers   IIS plus SQL Server 2000
  • Three computers   IIS plus SQL Server 2000 plus SharePoint Team Services
  • Four computers   IIS plus SQL Server 2000 plus SQL Server Analysis Services plus SharePoint Team Services

Note As scalability and performance requirements increase, you can use additional computers to further distribute the workload.

Microsoft Project Server is designed to be deployed across several computers for additional scalability and performance. In the second, third, and fourth examples listed above, Microsoft Project Server is deployed across different computers so that the application runs on a computer with IIS (an application server), the database resides on a computer with SQL Server, while SharePoint Team Services and SQL Server Analysis Services are installed on two other computers. While this does distribute the total workload, running Microsoft Project Server itself on a single computer can still cause a bottleneck. To scale out even further, Microsoft Project Server can be deployed across multiple computers running IIS. It should be noted however, that there can be at most one computer running each of SharePoint Team Services, SQL Server, and SQL Server Analysis Services for a given Microsoft Project Server installation.

Network Load Balancing

The number of users that Microsoft Project Server can handle on a single computer is limited by the number and speed of the processors, the amount of memory, and other factors, such as bus speed, I/O speed, and L2 cache. One way to improve scalability and performance is to upgrade the computer where Microsoft Project Server is installed. However, one extremely powerful computer can be more expensive than several less-powerful computers, and also may not be as scalable or perform as well.

You can use Network Load Balancing (NLB), a component of IIS, to distribute workload over multiple computers. This reduces the workload on any individual computer, and adds performance equal to the capabilities of each additional computer. NLB helps keep applications responsive under heavy client loads. NLB allows you to spread incoming requests across as many as 32 servers. NLB automatically detects the failure of a server and quickly reassigns client traffic among remaining servers. This helps prevent uninterrupted services for critical business applications.

For more information about Network Load Balancing, see:

Failover Clustering

Failover clustering can be used with a database stored in SQL Server or with the OLAP features that are part of SQL Server Analysis Services. Failover clustering is a process in which the operating system and SQL Server work together to provide availability in the event of an application failure, hardware failure, or operating system error. Failover clustering provides hardware redundancy through a configuration in which mission critical resources are automatically transferred from a failing machine to an equally configured server.

Failover clustering provides high availability for an overall scale-up and scale-out solution that accommodates backups, redundancy, and higher performance. If software and/or hardware problems occur, failover clustering, combined with other high availability methods, can enable a production environment to be up and running in a short amount of time.

SQL Server failover clustering is built on top of a Windows 2000 Advanced Server or Datacenter Server cluster, which provides high availability, scalability, and manageability for resources, applications, and server resources in the event of hardware failures or other unplanned events. Unlike Network Load Balancing, failover clustering transfers to another server when an application within a cluster becomes unavailable.

SQL Server Analysis Services supports scalable OLAP cubes in Microsoft Project Server, allowing you to distribute cube data across multiple servers or to link together cubes stored on different servers. A distributed, partitioned cube is administered on a central Analysis server.

For more information about failover clustering, see:

  • Windows Clustering on the Microsoft Windows 2000 Advanced Server Documentation Web site.
Microsoft Cluster Server

Microsoft Cluster Server (MSCS) is a feature of Windows 2000 Advanced Server or Windows Datacenter Server that supports the connection of two or more servers into a cluster. MSCS can automatically detect and recover from server or application failures, providing high availability, manageability, and scalability for applications running on servers in the cluster.

For more information about MSCS, see:

Failover clustering of SQL Server

Failover clustering of SQL Server allows the operating system and SQL Server 2000 to work together to provide availability in the event of a hardware, application, or operating system failure. You can set up a SQL Server cluster via the SQL Server Setup program.

For more information about clustering and SQL Server 2000, see:

Microsoft Project Server Components

The components of Microsoft Project Server that can be scaled out are:

  • Microsoft Project Server database   A SQL Server database can be added to a cluster to take advantage of failover clustering.
  • SQL Server Analysis Services   Moving the online analytical processing (OLAP) portion of the Portfolio Analyzer feature can significantly improve performance.
  • SharePoint Team Services   Provides document and issue tracking for Microsoft Project Server; available to users of Microsoft Project Server through Microsoft Project Web Access.
  • Microsoft Session Manager Service   Replaces ASP sessions in Microsoft Project Server.
  • View Manager   Every time a resource or project is checked in to Microsoft Project Server, the view tables are updated. Moving this feature to a separate server can greatly reduce the workload for the Microsoft Project Server computer.
Microsoft Project Server Database

Although the Microsoft Project Server database may be part of a database cluster, it should be deployed on its own server outside the IIS cluster.

SharePoint Team Services

It is possible to install SharePoint Team Services on the same computer as Microsoft Project Server; however, significant performance gains can be realized by installing it on its own computer. If you are using SharePoint Team Services in a large organization (more than 500 people) you should consider setting up multiple computers on which to run it. It is not difficult to run anywhere from 10 to 50 virtual servers on a typical Web server that is hosting SharePoint Team Services, which is in the scale of use for most deployments of Microsoft Project Server. You should add virtual servers based on considerations of network usage, network performance, and how many concurrent users you expect to have. SharePoint Team Services uses one thread per connection, so concurrent usage is limited by the amount of memory on the server running it. For example, based on default settings for SharePoint Team Services, a server with 256MB of RAM can handle roughly 120 concurrent users; a server with 512MB can handle about 280 concurrent users. You can create virtual servers for SharePoint Team Services through the Microsoft Project Web Access interface, once SharePoint Team Services is installed and configured for Microsoft Project Server.

In terms of scalability in relation to SharePoint Team Services, you should consider the following:

  • How many virtual servers can be hosted on the server on which you have installed SharePoint Team Services?
  • How many databases are required for your installation of SharePoint Team Services?
  • How much memory (RAM) is required for your installation of SharePoint Team Services?

For more information about SharePoint Team Services, see the Large Scale Deployment of SharePoint Team Services or Departmental Deployment of SharePoint Team Services articles on TechNet.

View Manager

When projects are published to Microsoft Project Server, a copy of the project is uploaded and used to create project view data. This process is extensive because it must open the project in the Microsoft Project OLE DB provider to save the data and build the views. You can deploy the View Manager on its own server outside of the cluster to improve the scalability and performance of Microsoft Project Server. See the section "Microsoft Project Server Clustering Utility," below, for more information.

SQL Server Analysis Services

SQL Server Analysis Services is required in order to use the Portfolio Analyzer feature of Microsoft Project Server. If SQL Server Analysis Services is installed on a different computer from Microsoft Project Server, the Decision Support Objects (DSO) component of Analysis Services must be installed on the Microsoft Project Server computer.

While it is possible to install SQL Server Analysis Services on the same computer with SQL Server (and all of these on the same computer as Microsoft Project Server), significant performance gains can be realized by installing SQL Server Analysis Services on its own computer.

To add SQL Server Analysis Services and DSO to Microsoft Project Server, do the following:

  • Insert the SQL Server 2000 installation CD into the CD-ROM drive, or connect to an administrative installation point.
  • If you are installing from the SQL Server 2000 installation CD with AutoPlay enabled, click SQL Server 2000 Components in the SQL Server 2000 Setup program, or on the SQL Server 2000 CD-ROM (or administrative installation point), browse for and run the file named Autorun.exe.
  • On the Install Components page, click Install Analysis Services.
  • In the SQL Server Analysis Services Setup program, on the Select Components page, clear all the components except Decision Support Objects and Client components.
Microsoft Session Manager

The Session Manager tracks which user is engaged in what actions in which area of Microsoft Project Web Access. It replaces ASP sessions for Microsoft Project Server and, when used in a clustered environment, should be deployed on its own server outside the cluster. This allows users to be directed to any one of the clustered application servers.

Distributed Deployment Scenarios for Microsoft Project Server

Administrators of large enterprises must ensure the availability and performance of applications on their network. As the number of Microsoft Project users in your organization grows, Microsoft Project Server can respond to these demands by distributing the workload hot-spot services, like session management for Microsoft Project Web Access clients or the views processing service for publishing projects, onto additional machines. This section details methods of deploying Microsoft Project Server in a distributed environment to facilitate scaling out and increased overall Microsoft Project Server feature availability for users in your organization.

The three scenarios for distributed deployment described in this article are:

  • Using one Microsoft Project Server machine and one application server   This moves the Windows NT Services from the server running Microsoft Project Server to another machine.
  • Using a Microsoft Project Server cluster and one application server   This increases the number of concurrent connections to Microsoft Project Server, enabling greater access for clients (applies to Microsoft Project Web Access and Microsoft Project Professional).
  • Using one or more Microsoft Project Server machines and multiple application servers   This increases the availability of the core Windows NT Services (Views Processing, OLAP and Reminder Processing, Session Manager, and Trace Services) that are used by Microsoft Project Server.

Before implementing distributed deployment of Microsoft Project Server, you should understand or review the following information:

  • The Microsoft Project Server Installation Guide (PjSvr10.chm), which can be found on the Microsoft Project Server CD. In addition, you should see the file Readme.htm for any last-minute updates.
  • All machines that are part of a Microsoft Project Server distributed environment must meet the minimum system requirements for Microsoft Project Server. For more information about these requirements, see Microsoft Project Server 2002 Requirements on the Product and Technology Catalog Web site

Using One Microsoft Project Server Machine and One Application Server

Cc750940.depl_psdsdply01(en-us,TechNet.10).gif

Figure 1. Using one Microsoft Project Server machine and one application server

To set up Microsoft Project Server in a distributed environment using one Microsoft Project Server machine and one application server
  • Follow the steps described in "Setting up an Application Server," below, to set up an application server for use with Microsoft Project Server in a distributed environment.
  • On the Microsoft Project Server machine, complete the modifications to the registry to recognize the Application Server as described in, "Configuring Microsoft Project Server to run with an Application Server" below. This will point the Microsoft Project Server machine to the Core Services on the application server.
  • When finished, test the installation.

Using a Microsoft Project Server Cluster and Two Application Servers

Cc750940.depl_psdsdply02(en-us,TechNet.10).gif

Figure 2. Using a Microsoft Project Server cluster and two application servers

To set up Microsoft Project Server in a distributed environment using a Microsoft Project Server Cluster and one application server
  • Follow the steps described in "Setting up an Application Server," below, to set up an application server for use with Microsoft Project Server in a distributed environment.
  • Configure additional machines for Microsoft Project Server by following the Microsoft Project Server system requirements, and install Microsoft Project Server on the additional machines exactly as it was installed on the primary machine.
  • On each of the Microsoft Project Server machines, complete the modifications to the registry to recognize the Application Server as described in, "Configuring Microsoft Project Server to run with an Application Server" below. This will point the Microsoft Project Server machines to the Core Services on the application server.
  • Add the new Microsoft Project Server machines to the Microsoft Project Server cluster.
  • When finished, test the installation.

Using One or More Microsoft Project Server Machines and Multiple Application Servers

Cc750940.depl_psdsdply03(en-us,TechNet.10).gif

Figure 3. Using one or more Microsoft Project Server machines and multiple application servers

To set up Microsoft Project Server in a distributed environment using one or more Microsoft Project Server machines and multiple application servers
  • Configure a Microsoft Project Server machine or a Microsoft Project Server cluster, as described in the two previous scenarios.
  • Follow the steps described in "Setting up an Application Server," to set up each application server you want to use with Microsoft Project Server in a distributed environment. Configure an additional application server to become a standby application server. Add the standby application server to a cluster containing the primary application server as a non-converged member, or configure the standby application server with the same domain name as the primary application server to eliminate the need for clustering hardware and software.
  • Run the Microsoft Project Server Distributed Setup tool on the standby application server as described in "Microsoft Project Server Distributed Setup Tool," below. Set all properties on the standby application server to be identical to the properties on the primary application server.
  • Either remove the standby application server from the cluster, or power it down. Then, add or restart the standby application server and finally, add the machine to the same cluster that the application server is part of.
  • Verify that Microsoft Project Server is able to work properly with the application server.

Setting up an Application Server

To set up an Application Server for use with Microsoft Project Server in a distributed environment
  • On a server that meets the minimum system requirements for Microsoft Project Server, install Microsoft Internet Information Services (IIS). This machine will become the application server, while your original machine will remain the primary Microsoft Project Server machine.
  • Run the Microsoft Project Server Distributed Setup tool on the application server or set up the application server manually, using the steps described in "Microsoft Project Server Distributed Setup Tool," below.
  • Once you have completed the installation of the Microsoft Project Server Core Services on the application server, open the <drive>:\Program Files\Microsoft Project Server\Bin folder, and find the ViewsDrop folder.

Microsoft Project Server Distributed Setup Tool

Microsoft Project Server Distributed Setup is a configuration tool that installs the Core Services on your application server. You must first download the file Prjsbox.msi, and then run the tool.

To download Prjsbox.msi
  • Save Prjsbox.msi to a computer running Microsoft Project Server.
To run the Microsoft Project Server Distributed Setup tool
  • To run the Microsoft Project Server Distributed Setup tool, double-click the file Prjsbox.msi. The Microsoft Project Server Distributed Setup dialog box appears.
  • In the User information box, enter your User Name, Initials, and Organization as you entered them for Microsoft Project Server. Click Next. In the End-User License Agreement dialog box, check the I accept the terms in the License Agreement box. Click Next.
  • In the Installation options dialog box, make sure that all options (View Processing, OLAP and Reminders Processing, Session Manager, and Trace Service) are set to Run from My Computer. Click Next.
  • In the Enter database server information dialog box, complete the Database server and Database name boxes, and click Next.
  • In the Enter database account information dialog box, complete the Logon Name and Password fields for the Microsoft Project Server user and for the Microsoft Project Professional user. The Microsoft Project Server user must be a member of the MSProjectServerRole role and the Microsoft Project Professional user must be a member of the MSProjectRole role in the SQL Server database. Click Next.
  • In the Enter Analysis Services dialog box, complete the Analysis Server, Logon Name, and Password fields. This is the same information entered during Microsoft Project Server Setup or in Microsoft Project Web Access (click Admin, Manage enterprise features, Update resource tables and OLAP cube). Click Next.
  • In the SMTP mail server information dialog box, complete the SMTP Mail Server, Port, and From Address fields. This is the same information entered in Microsoft Project Web Access (click Admin, Customize Microsoft Project Web Access, Notifications and reminders). Click Next. Click Finish to install Core Services on your application server.
Manually configure Core Services for an Application Server

Instead of running Prjsbox.msi (see "Microsoft Project Server Distributed Setup Tool," above, for more information) to install Core Services on an application server, you can do this manually.

To manually install Core Services on an Application Server
  • Install a full version of Microsoft Project Server on the application server. Point it to the correct existing database server and select "Enter this information later" for all optional features, except SMTP and Analysis Services (if required).
  • Use the Internet Information Services administrative tool (click Start, Programs, Administrative Tools, Internet Services Manager) to delete the Microsoft Project Server virtual directory (default name is "ProjectServer").
  • Create a public share for the \Microsoft Project Server\Bin\ViewsDrop\ directory. Grant Change and Read permissions to the user specified in the Windows NT Domain account that needs to access the application server.
Configuring Microsoft Project Server to run with an Application Server
To place views processing and other core services on your application server
  • Using the regedit command, open the HKEY_LOCAL_MACHINE\Software\Microsoft\ Office\10.0\MS Project\ folder.
  • Under the \WebClient Server\<Virtual Directory>\Services\SessionMgr folder (in the HKEY_LOCAL_MACHINE path described in Step 1), open the folder that has the GUID for the server running Microsoft Project Server. Find the (Default) registry entry, and change the value to the name of the new application server. The default entry should be the current Microsoft Project Server computer.
  • Under the \Services\Configuration\Views Notification\ folder (in the HKEY_LOCAL_MACHINE path described in Step 1), add the following registry entry:
    Type = String
    Name = ForwardUNC
    Value = Pathname to the ViewsDrop directory on the designated notification processor outside of the Microsoft Project Server (usually the application server)
  • Run the Services tool on the Microsoft Project Server computer. Click Start, Settings, Control Panel, then open the Administrative Tools folder to find the Services tool.
  • Open the Microsoft Project Server Scheduled Process Service property. On the General tab, click Stop to stop this property. If this service is not needed, click Disabled to prevent this service from being run when the server is started. Click OK.
  • Open the Microsoft Project Session Manager Service property. On the General tab, click Stop to stop this property. If this service is not needed, click Disabled to prevent this service from being run when the server is started. Click OK.
  • Open the Microsoft Project Views Notification Service property. On the Log On tab, click This Account, and enter the user name and password for the user granted Change and Read permissions to the application server. This is the same user name/password combination that has access to the <drive>:\Microsoft Project Server\bin\Views Drop\ folder on the Microsoft Project Server computer.