34

Designing and Deploying a Scalable EPM Solution Ken Toole Platform Test Manager MS Project Microsoft

Embed Size (px)

Citation preview

Designing and Deploying Designing and Deploying a Scalable EPM Solutiona Scalable EPM Solution

Ken TooleKen ToolePlatform Test ManagerPlatform Test ManagerMS ProjectMS ProjectMicrosoftMicrosoft

AgendaAgenda

Top 5 reasons a deployment doesn’t Top 5 reasons a deployment doesn’t scalescale

Understanding the EPM Design Understanding the EPM Design processprocess

Build the implementation teamBuild the implementation team

Logical Design of Project ServerLogical Design of Project Server

Key architecture factors for ScalabilityKey architecture factors for Scalability

Top 5 Scalability KillersTop 5 Scalability Killers

1.1. Inadequate network Inadequate network infrastructureinfrastructure

2.2. Inadequate database hardwareInadequate database hardware

3.3. No PilotNo Pilot

4.4. Undefined project management Undefined project management practicespractices

5.5. Unrestricted access to dataUnrestricted access to data

EPM Initiative DevelopmentEPM Initiative Development

Develop vision for EPMDevelop vision for EPM

Stake-holder identification and buy-inStake-holder identification and buy-in

Collect Business RequirementsCollect Business Requirements

EPM strategy developmentEPM strategy development

THEN …THEN …

EPM solution designEPM solution design

EPM Design and PlanningEPM Design and Planning

Implementation TeamImplementation TeamLarge scale Project Server Large scale Project Server deployments are complex and require deployments are complex and require varied expertisevaried expertise

System AdministratorSystem AdministratorServer Install, Clustering, Network Server Install, Clustering, Network Configuration, Shared Storage, Active Configuration, Shared Storage, Active Directory, Domain Name Resolution, Directory, Domain Name Resolution, SecuritySecurity

Database AdministratorDatabase AdministratorDBMS installation, Drive Configuration, DBMS installation, Drive Configuration, Tuning, Backup and Recovery, Tuning, Backup and Recovery, SecuritySecurity

Implementation TeamImplementation Team

Network EngineerNetwork EngineerRouter and LAN configuration, load-Router and LAN configuration, load-balancing hardware, Firewall balancing hardware, Firewall configuration, securityconfiguration, security

Project Server Deployment Specialist?Project Server Deployment Specialist?New training and certification examNew training and certification exam

Capacity PlanningCapacity Planning

MetricsMetrics

Scalability FactorsScalability Factors

Configuration OptionsConfiguration Options

Scalability MetricsScalability Metrics

Users per hourUsers per hourMax number of times a specified set of user Max number of times a specified set of user operations (workflow) can be completed per operations (workflow) can be completed per hour.hour.

Focus on peak times like weekly time reporting.Focus on peak times like weekly time reporting.

Size and complexity of data will effect this Size and complexity of data will effect this metric. metric.

Not a generalized or generic metricNot a generalized or generic metric

Cube Build TimeCube Build Time

Views Publishing throughputViews Publishing throughput

Key Scalability FactorsKey Scalability Factors

Network performanceNetwork performance

Database server performanceDatabase server performance

Project Server security usageProject Server security usage

Project Server data usageProject Server data usage

Network PerformanceNetwork Performance

Most frequent bottleneck for most Most frequent bottleneck for most installationsinstallations

Indicated by poor performance or Indicated by poor performance or throughput with low cpu utilization on throughput with low cpu utilization on all tiers of the applicationall tiers of the application

Primarily the result of latency rather Primarily the result of latency rather than bandwidth, and the overhead than bandwidth, and the overhead associated with each network “round-associated with each network “round-trip”trip”

Network PerformanceNetwork Performancecorrective actionscorrective actions

Network infrastructureNetwork infrastructure100mb minimum between servers100mb minimum between servers1Gb Ethernet or fiber between server 1Gb Ethernet or fiber between server components option.components option.

Network Interface Card settingsNetwork Interface Card settingsAvoid ‘hardware default’Avoid ‘hardware default’On some systems consider 100mb/full setting On some systems consider 100mb/full setting instead of ‘auto-detect’instead of ‘auto-detect’Test and consult your hardware vendorTest and consult your hardware vendor

Hardware OptionsHardware Options‘‘NIC Teaming’ configurationsNIC Teaming’ configurationsUnisys style ‘virtual machine’ configuration Unisys style ‘virtual machine’ configuration (only suitable on very large hardware platforms)(only suitable on very large hardware platforms)

DB Server PerformanceDB Server Performance

Typical DB server performance Typical DB server performance analysis and tuning.analysis and tuning.

Often will present as a bottleneck after Often will present as a bottleneck after resolving any network issuesresolving any network issues

Solutions are simple but can be costly Solutions are simple but can be costly in terms of hardware.in terms of hardware.

DB Server PerformanceDB Server Performancecorrectivecorrective actions actions

Data file configurationData file configurationSeparate transaction log and data files on separate Separate transaction log and data files on separate logical driveslogical drivesUse db optimization scripts to separate Project Server Use db optimization scripts to separate Project Server data and indexes into multiple file groupsdata and indexes into multiple file groupsPlace index and views file groups on separate logical Place index and views file groups on separate logical drives than other Project Server file groupsdrives than other Project Server file groups

Disk I/O hardwareDisk I/O hardwareUse a larger number of physical disks per logical drive to Use a larger number of physical disks per logical drive to ensure disk read/write activity is not bottlenecked on few ensure disk read/write activity is not bottlenecked on few physical drivesphysical drivesUse hardware RAID controllers instead of Software RAID Use hardware RAID controllers instead of Software RAID controllerscontrollersConsult you hardware vendorConsult you hardware vendor

DB Server PerformanceDB Server Performancecorrectivecorrective actions actions

Server hardwareServer hardwareCarefully test hyper-threading Carefully test hyper-threading configurations and SQL Server settings configurations and SQL Server settings related to threading and fibersrelated to threading and fibers

Consider faster processors and increased Consider faster processors and increased number of processorsnumber of processors

Partition Project Server data onto multiple Partition Project Server data onto multiple DB ServersDB Servers

Project Server SecurityProject Server Security

What data a given user has access to What data a given user has access to impacts the amount of data retrieved impacts the amount of data retrieved and transported throughout the systemand transported throughout the system

Use of restrictive permissions to limit Use of restrictive permissions to limit the amount of data available to Project the amount of data available to Project Professional users is recommended.Professional users is recommended.

RBS based security is optimalRBS based security is optimal

Project Server Data UsageProject Server Data Usage

Project Management process and standards impact Project Management process and standards impact the way data is grouped in the system.the way data is grouped in the system.

Find a balance between the number and size of Find a balance between the number and size of projects.projects.

When project sizes exceed ~ 2000 tasks consider When project sizes exceed ~ 2000 tasks consider phasing these into separate projects.phasing these into separate projects.

Use ‘View in MS Project Professional’ feature from Use ‘View in MS Project Professional’ feature from Project Center and enterprise outline codes to work Project Center and enterprise outline codes to work with ‘partitioned’ projects efficiently.with ‘partitioned’ projects efficiently.

Avoid PM Practices that require a large number of Avoid PM Practices that require a large number of project baseline saves. project baseline saves.

Consolidate non-project or Administrative tasks into Consolidate non-project or Administrative tasks into a small number of projectsa small number of projects

Front-End ConfigurationFront-End Configuration

Clustering OptionsClustering Options

Project ServerProject Server WSSWSS

No ClusterNo Cluster

Project ServerProject ServerWSSWSS

Project Server Project Server WSSWSS

Single ClusterSingle Cluster

WSSWSS Project ServerProject Server

Dual ClustersDual Clusters

WSSWSS Project ServerProject Server

WSSWSS PSPS

Clustering FactorsClustering Factors

WSS and Project usage balanceWSS and Project usage balance

Availability requirementsAvailability requirements

Future GrowthFuture Growth

Front-End HardwareFront-End Hardware

RAM and NetworkRAM and Network1 GB of RAM recommended1 GB of RAM recommended

2 GB if using Portfolio Modeling features2 GB if using Portfolio Modeling features

2 to 4 processor commodity web 2 to 4 processor commodity web serversservers

Hyper-threading is okHyper-threading is ok

HW accelerator cards can help in SSL HW accelerator cards can help in SSL implementationsimplementations

Middle-Tier ConfigurationMiddle-Tier Configuration

View Processing OptionsView Processing Options

Project ServerProject ServerViews ProcessorViews Processor

All on OneAll on One

Project ServerProject Server

Views ProcessorViews Processor

DedicatedDedicated

Project ServerProject ServerDB ServerDB Server

Views ProcessorViews Processor

DB-BasedDB-Based

View Processing FactorsView Processing Factors

Size of typical projectsSize of typical projects

Number of Project ManagersNumber of Project Managers

Frequency of PublishFrequency of Publish

Frequency of OLAP Cube BuildFrequency of OLAP Cube Build

View Processing HardwareView Processing Hardware

CPU and NetworkCPU and Network

Fast single processor speedFast single processor speed

Disable Hyper-threadingDisable Hyper-threading

High-speed link to DB serverHigh-speed link to DB server

Session Manager OptionsSession Manager Options

Project ServerProject ServerSession MgrSession Mgr

All on OneAll on One

Project ServerProject Server

Session MgrSession Mgr

DedicatedDedicated

Project ServerProject Server

Session MgrSession Mgr

MultipleMultiple

Session MgrSession Mgr

Session Manager FactorsSession Manager Factors

Number of concurrent usersNumber of concurrent users

Front-end clusteringFront-end clustering

AvailabilityAvailability

Session Manager HardwareSession Manager Hardware

RAMRAM

1 GB + recommended1 GB + recommended

Minor impact on processor utilizationMinor impact on processor utilization

Database ConfigurationDatabase Configuration

Database Options (Split)Database Options (Split)

PS DatabasePS Database

All on OneAll on One

PS CorePS CoreDatabaseDatabase PS ViewsPS Views

DatabaseDatabase

Two-Way SplitTwo-Way Split

PS WebPS WebDatabaseDatabase PS ViewsPS Views

DatabaseDatabase

Three-Way SplitThree-Way Split

PS ProjectsPS ProjectsDatabaseDatabase

Database - FactorsDatabase - Factors

Size of typical projectSize of typical project

Number of project managersNumber of project managers

Frequency of publish and cube buildFrequency of publish and cube build

LOB or Custom IntegrationLOB or Custom Integration

Database HardwareDatabase Hardware

Typical SQL Server behaviorTypical SQL Server behavior

CPU, RAM, Disk I/O speedCPU, RAM, Disk I/O speed1 GB RAM per CPU for rule of thumb1 GB RAM per CPU for rule of thumb

Hyper-threading is okHyper-threading is ok

Memory configurationMemory configurationMaximize memory available to SQLMaximize memory available to SQL

Avoid large amount of memory configured Avoid large amount of memory configured for fail-overfor fail-over

© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.