Upload
dwayne-gordon
View
218
Download
0
Tags:
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
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
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
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 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