System Implementation 28th Edition (Fall 2010)

Fall 2010 System Implementation 28th Edition

Successful system implementation requires good leadership and careful planning. A good understanding of every component of the system is critical in  putting together an implementation strategy. Enterprise IT environments involve integration of a variety of vendor technologies. Interoperability standards within commercial software environments are voluntary, and even the most simple system upgrade must be validated at  each step of the integration process.

Enterprise GIS environments include a broad spectrum of technology integration. Most environments today include a variety of hardware vendor technologies  including database servers, storage area networks, Windows Terminal  Servers, Web servers, map servers, and desktop clients,—all connected by  a broad range of local area networks, wide area networks, and Internet  communications. All these technologies must function together properly to support a balanced computing environment.

A host of software vendor technologies including database management systems,  ArcGIS Desktop and ArcGIS Server software, Web services, and hardware  operating systems—all integrated with existing legacy applications. Data (including business layers, basemap layers, and Imagery) and user  applications are added to the integrated infrastructure environment to  support the final implementation. The result is a very large mixed bag of technology that must work together properly and efficiently to  support user workflow requirements.

The integration and implementation of distributed computer technology have become easier  over the years as interface standards have matured. At the same time, enterprise environments have become larger and more complex. The complexity and risk associated with an enterprise system deployment are  directly related to the variety of vendor components required to support  the final integrated solution.

Centralized computing solutions with a single database environment are the easiest  environments to implement and support. Distributed computer systems with multiple distributed database environments can be very complex and  difficult to deploy and support. Many organizations are consolidating their data resources and application processing environments to reduce  implementation risk and improve administrative support for enterprise  business environments.

GIS Staffing
People are the most valuable asset to any organization. GIS managers have the special opportunity and challenge to bring people across their  organization together to share responsibility for building and  maintaining enterprise GIS operations. In most cases, building a GIS is not a single department responsibility – and in many cases the quality  of the GIS depends on people outside the organization. GIS brings people together because they depend on each other in establishing the  framework for building geographic information products that support  their business needs.

Management Committee
An enterprise GIS will not be successful without senior management support  and leadership. The first step in establishing your GIS team is to understand the mission of the organization, the mandate and role of GIS  within the organization, and to establish executive sponsorship for the  planning effort. Figure 12-1 identifies the key membership for the senior Management Committee.



The Management Committee is established to formally manage project scope,  schedule and budget, and availability of planning resources. They will be kept informed of progress during the planning effort and will be  responsible for directing the GIS implementation phase that follows.

GIS Planning Team
Building a good GIS starts with good planning. Figure 12-2 identifies the management structure for the GIS planning team. The GIS planning team must include business representatives that understand the organization,  the business processes (how work gets done), and the business  information needs. The team also needs technical experts that understand GIS technology and the systems required to make them work.



A small organization will need a GIS Manager, a Business Representative  to represent each major business process, and a GIS technical expert  responsible for developing the proper technical architecture. Larger enterprise organizations will need to establish this basic structure  (GIS Manager , Business Representatives, and GIS  Technical Expert) at each site location with a Geographic Information  Officer (GIO) or enterprise level GIS Manager coordinating the overall  planning effort. A GIS planning expert or consultant will be responsible for the overall planning process and will report to the  senior GIS Manager/GIO. During the GIS planning phase, all of the planning team members should formally report to the GIS Manager for the  duration of the planning.

GIS Implementation Team
Once GIS planning is complete, the focus will transfer to implementing the  plan. Formal implementation approval and funding will come from the Management Team. Figure 12-3 identifies the management structure for the GIS implementation team.



The GIS Manager, GIS technical expert, and business representatives will  normally transition to the implementation team. An additional GIS data specialist and a senior software engineer will be included on the team  to manage the GIS implementation tasks. For large enterprise implementations, each GIS Site Facilitator will have a complete  implementation team for their specific site implementation. During implementation, the Site Facilitators will report to line management  staff working under direction of the Management Committee. The senior GIS Manager/GIO will manage GIS operations across the enterprise  coordinating with the various site facilitors.

GIS Organizational Structure
Figure 12-4 shows an overview of a traditional GIS matrix organization. Enterprise GIS operations must be supported by an executive committee with influence and power to make financial and policy decisions for the  GIS user community. The GIS manager should establish a coordinating committee responsible for providing technical direction and leadership. Committee leaders should chair working groups assigned and aligned with each technical discipline to address organizational issues and report on  system status. The user community should be represented throughout the review process.



A formal organizational structure provides a framework for establishing  and maintaining the long-term support required for successful enterprise  GIS operations. This basic organization structure can be useful in managing GIS in small to large organizations, and the same type of  organizational structure can be effective in managing community GIS  operations.



System Architecture Deployment Strategy
Planning is the first step in supporting a successful system deployment. A system design team should review current GIS and hardware system  technology, review user requirements, and establish a system  architecture design based on user workflow needs. A deployment schedule, as shown in Figure 12-5, should be developed to identify overall  implementation objectives.



Phased implementation strategies can significantly reduce implementation risk. Computer technology continues to evolve at a remarkable pace. Integration standards are constantly changing with technology and, at times, may not be ready to support immediate system deployment needs. New ideas are introduced into the market place every day, and a relatively small number of these ideas develop into dependable long-term  product solutions. The following best practices are recommended to support a successful enterprise GIS implementation.

Pilot Phase • Represent all critical hardware components planned for the final system solution. • Use proven low-risk technical solutions to support full implementation. • Include test efforts to reduce uncertainty and implementation risk. • Qualify hardware solutions for initial production phase.

Initial Production Phase • Do not begin until final acceptance of pilot phase. • Deploy initial production environment. • Use technical solutions qualified during the pilot phase. • Demonstrate early success and payoff of the GIS solution. • Validate organizational readiness and support capabilities. • Validate initial training programs and user operations. • Qualify advanced solutions for final implementation.

Final Implementation Phase • Do not begin until final acceptance of initial production phase. • Plan a phased rollout with reasonable slack for resolving problems. • Use technical solutions qualified during previous phases. • Prioritize rollout timelines to support early success.

Virtual Desktop and Server Technology
Virtual server technology is continuing to mature and reduce the cost of  managing a rapidly changing IT environment. Figure 12-5 identifies a deployment strategy taking advantage of virtual server technology. Many GIS operations are being deployed into virtual server environments. Many ESRI development and testing operations are currently supported in  virtual desktop or virtual server environments. Vendors are improving management and performance monitoring of virtual server environments,  and it is becoming more practical to manage and deploy production  environments in virtual server deployments.



Platform virtualization technology provides IT managers with a way to abstract  the installed platform software environment from the physical platform  hardware. There are two fundamental levels of virtualization, one being virtual desktop environments hosted within a physical platform operating  system that interfaces with the physical platform hardware and the  other being a virtual server environment hosted on a hyper-visor layer  that interfaces with the assigned physical platform hardware. In both cases, the virtual desktop or server contains its own dedicated  operating system and software install separate from other virtual  systems deployed on the same hardware.

There are many recognized benefits and some potential disadvantages with virtual desktop/server deployments.

• The benefits include faster provisioning times, physical server  platform consolidation, fast recovery from system failures, simplified  production delivery and recovery, and optimum configuration control. All of these benefits directly contribute to lower overall systems  management costs and a more stable operating environment.

• The disadvantages include additional software cost and some performance  overhead. There may also be functional limitations (limited access to hardware graphic cards and performance monitoring software) which in  many cases can be managed with the proper deployment selections.

The real need for more rapid adaptive deployment schedules (to keep pace  with changing technology) which also must be coupled with more stable  production deployments (reduced production downtime and more rapid  failure recover) drive the need for virtual platform environments -  virtualization is one solution that addresses some real IT management  needs.

The potential disadvantages can be managed by proper deployment strategies. The performance overhead for virtual desktop environments is much higher than for server environments, and  for this reason virtual desktops are normally limited to software  development environments where performance and scalability is not a  critical factor.

Server consolidation benefits can be leveraged in a Staging environment, were multiple release candidates can  undergo test and validation in preparation for production deployment. Several production release candidates can be testing in parallel on the same physical server platform.

Production deployment can benefit from deploying an existing virtual server install (Staging  configuration that has completed final test and acceptance) to a higher  capacity production physical server by simply moving the Staging server  release to the production platform. If there is a production failure identified after deployment; it is a simple process to move the  production environment back to the previous release. Deploying virtual server staging environments to a physical server production environment  is also a viable option - ensuring optimum performance and scalability  for the production environment. Virtual server migration software is available to accomplish these provisioning tasks during live operations  with no production downtime.

Virtual server performance impacts will depend on the workflow environment, and can vary between  20 - 50 percent (and sometimes higher) in the most efficient virtual  server configurations. Hardware platform performance has improved over 80 percent within the past two years, which more than overcomes the  virtual server processing overhead. The new servers also provide higher capacity (discussed in chapter 9), which opens the door wider for server  consolidation benefits.

Virtual server deployments appear to be moving to mainstream IT production environment. The big question is no longer whether it makes sense to deploy on virtual  servers, but rather when and which software vendor solution will provide  the highest return on investment.

Technology Product Life Cycle
Figure 12-6 provides an overview of the technology product life cycle, from  initial introduction of a new idea (product innovation) through end of  life. Technology is changing faster every year, and managing technology change within a production environment is a challenge for GIS managers  and IT administrators.



We are seeing an increasing number of new ideas introduced into the  marketplace, with each idea promising improved user productivity and  simplified system administration. These new ideas must integrate with existing systems that are constantly changing, and initial  implementation can be painful.

Some of these ideas deliver on their promises, and in time they provide significant  productivity advantages and reduce overall cost of administration. Soon a new idea comes along that performs better at reduced cost, and  organizations must move on to new frontiers leaving legacy systems  behind.

Selecting the right technology at the right time will optimize business performance. Introducing new technology before it is ready for prime time can reduce productivity and increase  implementation cost. Delaying too long can result in missed opportunities. Getting the timing right promotes success.



System Testing
Conducting proper testing at the right time can contribute to implementation  success. Functional component and system integration testing should be conducted for new technology during prototype development and before  introduction into production. The primary focus during this testing is to make sure everything works. Performance targets established during the initial system design can be evaluated during early testing, paying  close attention to map display performance and layer complexity (see  Chapter 3 Software Performance). This is an opportunity to evaluate workflow functions and reduce processing overhead.

Enterprise system environments are becoming more complex. Testing should be conducted in a production software environment (same operating system,  service pacts, software architecture, etc). Configuration challenges such as firewall access, security, and high availability should be  configured and tested before deployment. Development and test environments should be established to represent the complete software  configuration for each production release cycle.



Functional Testing
Figure 12-8 identifies best practices for planning and conducting functional  system testing.

A test plan should be developed with clearly defined test requirements, establish  configuration control (software versions, operating system environment),  and provide test procedures. Testing should be completed before production deployment. Testing should be conducted using the software versions and operating system that will be deployed in the production  environment.



Performance Testing
Figure 12-9 identifies some best practices associated with system performance testing.

Performance testing can be expensive and the results misleading. Normally initial system deployments need to be tuned and optimized to achieve final  performance goals. Often system performance bottlenecks are identified and resolved during initial deployment. Early application development focuses primarily on functional requirements, and performance tuning is  not complete until the final release. Actual user workflow environments are difficult to simulate, and test environments seldom replicate  normal enterprise operations.

The scientific method introduced with grade school science fair projects  provides some fundamental best practices that directly apply to system  performance testing. Performance testing should only be conducted to validate a hypothesis (something you think you know). The primary objective of a performance test is to validate the hypothesis (confirm  what you know). The test is a success only if it proves the hypothesis (testing does not teach you what you don't know).

Initial performance testing often fails to support the test hypothesis. With further analysis and investigation, test bottlenecks and/or improper  assumptions are identified that change the test results. Performance testing is only successful if it validates the test hypothesis. A scientific approach to testing (Scientific Method) can help develop a  true  interpretation of the technology. Technology is changing with each service pack release, and this requires an open mind and willingness to  continually change what we believe to be true.

System performance testing is best conducted during the initial production  deployment. During this phase, real users doing real workflows can generate a real user environment. Critical system components should be monitored during the initial deployment to identify processing  bottlenecks and resolve system conflicts. Compliance with design performance targets can be validated by observing system throughput and  utilization during initial user operations. Initial deployment acceptance should include validation that user workflow performance  goals are met.

Systems Integration Management
Basic project management practices promote implementation success. Project teams should be established, individuals should be assigned specific responsibilities, a task plan  should be developed to support implementation planning, a configuration  control plan and change control process should be established, and an  implementation schedule should be published to support project  deployment milestones.

A system architecture design can provide the framework for establishing an implementation plan. The implementation plan should be developed after final selection of the  hardware vendor solution. Figure 12-10 provides a typical system deployment schedule. Specific decision milestones should be included in the schedule and each major task effort clearly identified.

An implementation project manager should be assigned to make sure all  tasks are well-defined, and every participant has a clear understanding  of his/her responsibilities. A clear set of acceptance criteria should be developed for each implementation task and a formal acceptance  process followed to ensure integration issues are identified and  resolved at the earliest opportunity.

The capacity planning tool can be used by project managers to establish performance  milestones and validate performance targets are met throughout  deployment. Peak users can be identified for different project milestones, and system throughput and server utilization can be reported  at each milestone to demonstrate performance goals are met.

Performance Monitoring
Figure 12-11 shows some of the ArcGIS Server and system tools used for performance monitoring. Additional performance validation tools were discussing in Chapter 3 (ArcGIS Server 9.3.1. map optimization tools and the mxdperfstat  performance monitoring tools). The performance terms and relationships discussed in Chapter 5, particularly the relationship between throughput  (peak users or peak transaction rates) and utilization (server CPU or  network bandwidth utilization), can identify if the deployed solution is  performing within the initial project performance milestone.



Monitoring live performance metrics can provide excellent validation that the system environment is  designed to support peak throughput loads. The challenge is to collect appropriate throughput and utilization metrics that represent actual  business workflow loads (what are the current system loads). Figure 12-12 shows how throughput and utilization metrics (at any level) can be  used to identify peak system capacity.

Department (Business) managers can often identify the percentage of peak user loads  (throughput) generated on the system during high volume events – these  are the same high volume events that drive staffing and business  planning needs. System performance monitoring tools can measure and report platform CPU utilization and network traffic during these high  volume events. The problem is that business management and IT administration staff seldom share these metrics. These live performance measures are the most accurate resource for understanding whether the  existing system environment has the capacity to meet expected peak  system loads.



Performance Validation
Figure 12-13 shows how the capacity planning tool (CPT) can be used by project managers to  establish specific project performance milestones and measure  compliance. Measuring display render time when authoring a service is the first opportunity to validate performance. Measuring deployed service render time is another opportunity to validate performance. The CPT test tab is designed to translate throughput and utilization  measurements to workflow service times that can be compared directly to  the initial project workflow performance targets. Monitoring progress in meeting performance milestones can reduce deployment risk and ensure  project delivery success.

When performance issues are identified early in deployment, proper adjustments can be made before  impacting production workflow productivity (simpler map displays - less  layers or generalize layers with large number of features, reduce number  of current batch jobs during peak system loads, evaluate preprocessing  alternatives (map cache, generalized geodatabase layers, etc). Chapter 3  identified a variety of ways to improve GIS display performance.  Identifying and resolving performance issues before they become  production level performance problems will promote deployment success.



System Tuning
System tuning is a critical part of final system integration and deployment. Initial system deployment is the first opportunity to begin performance tuning. Heavy batch processing efforts should be identified and separated from interactive user  workflows and supported through a separate batch process queue. System backups and heavy processing workloads should be scheduled during  off-peak workflow periods.

System component performance metrics should be monitored on a periodic basis particularly during  peak workflow periods to identify performance bottlenecks and address  system deficiencies. Figure 12-14 provides an overview of the components supporting an enterprise GIS environment. Any component has the potential to introduce a weak link in the overall system performance  equation.



Business Continuance Plan
Every organization should carefully assess the potential failure scenarios within its system  environment and protect critical business resources against such  failures. Enterprise GIS environments require a significant investment in GIS data resources. These data resources must be protected in the event of a system failure or physical disaster. Business recovery plans should be developed to support all potential failure scenarios. Figure 12-15 provides an overview of the different system backup strategies. A business continuance plan should be developed to address specific  organizational needs in the event of a system failure or disaster  recovery.



Managing Technology Change
Enterprise GIS operations require a combination of strategic planning and a continued  investment in technology. Technology is changing very rapidly, and organizations that fail to manage this change fall behind in  productivity and overall cost management. Managing technology change is a major IT challenge.

Enterprise operations should include a periodic cycle of coordinated production system updates. The planning and technology evaluation should occur one periodic cycle ahead  of each production deployment, and these efforts should be coordinated  to support operational technology needs. Figure 12-16 identifies a conceptual system architecture planning and deployment strategy for  technology change management.

Planning and Evaluation: Planning activities should be established in a periodic  cycle, coordinated to support the organization's operational and budget  planning needs. Strategic plans should be updated to support a multiyear deployment strategy and published periodically (normally on an annual  cycle).

The planning and evaluation process should include a requirements evaluation (strategic plan update), technology  refresh (training and research), requirements analysis (process and  requirements review), test and evaluation (evaluate new technology  alternatives), and prototype validation (pilot test programs). Efforts should be scheduled to support the annual system deployment upgrade  cycle.

System Deployment: Operational system upgrades should be planned on a periodic cycle, scheduled to implement  validated operational enhancements from the planning and evaluation  program. System deployment phases should include initial implementation (implementing changes in an operational test environment) to support  deployment authorization. The program should also include planned schedules for new technology procurement and deployment on a periodic  schedule (in some cases deployment upgrades can be implemented on a  monthly or quarterly basis). All production system upgrades should be planned and scheduled with full support for ongoing operations.

Conclusion
Successful implementation depends on a good solid design, appropriate hardware and  software product selection, successful systems integration, and careful  incremental evaluation during installation. A phased approach to implementation reduces project risk and promotes success, providing the  opportunity for early success and flexibility to incorporate new  technology at low risk prior to final system delivery.

Guidelines are available to support a successful system design, even for large  complex systems. Final purchase decisions are influenced by both operational requirements and budget limitations, introducing unique  challenges for system design. Good leadership, qualified staff, and proven standard practices support successful deployments.

Previous Editions
[Spring 2010 System Implementation 27th Edition]

Page Footer Specific license terms for this content System Design Strategies 26th edition - An Esri ® Technical Reference  Document • 2009 (final PDF release)