I need to provision multiple PWA instances in the same farm. My business requirement is, i have more than 100 branches and i suppose to create an individual PWA instance per each branch, but i need to know what is the best practice of this ? What about the performance, maintenance effect and side effects of provisioning more than 100 PWA instances in the same farm ? or else Can i mange all the projects of more than 100 branches in one PWA instance ? I am using Project Server 2013 and SharePoint 2013. I am using the project server through SharePoint. Please someone help me to proceed. Any guide is appreciated.
You can create multiple PWA instances in project server but as per the MSFT recommendation, you should provision the one PWA in one content DB. So, we are talking about 100 Content DB here.
When you create a new Project Web App site in conjunction with a new site collection, we recommend that you use a separate SharePoint Server 2013 content database for the Project Web App site and its associated project workspaces. Deploy Project Web App with a new site collection (Project Server 2013)
Now for performance, you have to evaluate the your capacity planning (which include # of user, resources, Server Hardware etc) as
Apart from this here are some Pros and Cons.
- A single PWA instance helps to manage resources at the enterprise level. The accurate availability of resources cannot not be measured if the same resource is a part of multiple instances.
- Every PWA instance has certain timer jobs, which run regularly. If there is more than one PWA instance in the farm, system has to process more timer jobs than it processes with single PWA instance.
- Multiple AD and Group Sync processes are required for multiple PWA instances. If OLAP cubes are used, then a cube building process is required for each and every PWA instance.
- If there is more than one PWA instance in the farm, duplicate efforts are required for taking backup of Project Server databases, Project plans, and other items, such as Eglobal, Security Backup, and Resources backup, etc. Same requirement is applicable for the restore process.
- SQL Server maintenance is required for all databases of PWA. Multiple instances will have multiple project server databases. Hence, all of them need to be maintained regularly.
- Test, QA, and/or Development Environment refresh can be time consuming, if there is more than 1 PWA instance.
- Database migration of the environment to a newer version will take more time for multiple PWA instances vs. a single PWA instance.
- More effort is required to maintain multiple PWA instances than maintaining just one PWA instance.
- If a single environment would have many thousands of users, hundreds of Custom Fields, many Look Up tables, and thousands of project plans, it may be best broken up into business unit PWA instances.
- Multiple instances create multiple site collections. Managing site collections which are smaller in size is easier than maintaining a single large site collection.
- Different business units may require different Timesheet units, such as Columns and Reporting. A single PWA instance cannot accommodate this requirement.
- Organizational requirements demand that one or more PWA instances be separated from others. By definition, this means that the resource pools are separate and unaware of each other and also that the resources from one pool are never used in the resource pools of the others.
Although you can provision multiple PWA instances in the same farm, I don't think it would be a great idea (or even technically possible with an acceptable performance) to provision 100 instances. For each instance you need to have a single project database, and as a best practice I would recommend a separate SharePoint content database per PWA as well, that is just another 100 databases. Do you really want to maintain 200+ databases for a single farm?
It is not clear, what you on a branch mean, however it would be nice to know the expected number of projects, the number of users / resources, and if they have a common base, or should be really kept separately, that means probably really a separate PWA instance.