|
LOCATION: Pittsburgh, PA, US YEAR: 2009 STATUS: Laureate CATEGORY: Business and Related Services Technology Area: Management of application development/performance and solutions delivery |
ORGANIZATION:
University of Pittsburgh
ORGANIZATION URL:
http://www.pitt.edu
PROJECT NAME:
Application Virtualization for Effective Software Delivery
Introductory Overview
The University of Pittsburgh, with its main campus in Pittsburgh and four regional campuses located throughout western Pennsylvania, is one of the nations top public universities and regarded as one of the worlds leading research institutions. The Universitys 32,000 students and nearly 12,000 faculty and staff, along with visiting scholars and researchers from over 100 countries, depend upon the central IT organization, Computing Services and Systems Development for a wide range of enterprise applications and services ranging from the Universitys network to the installation and support for end user applications in seven general-purpose student computing labs and on several thousand faculty desktop computers. The challenge lies with the central delivery of more than 100 Windows applications to more than 1,000 desktop computers in Pittsburgh and the regional campuses. The greater the number of programs installed, the greater the likelihood that shared resource and other conflicts will occur and that one or more applications or the operating system can crash. Initially, snapshot technologies were used to record everything that occurred as an application is installed and then copy those changes to the destination machine. This process was time consuming and clumsy because the destination machine had to have a specific configuration and operating system. In other words the hardware had to match for all computers destined to receive a specific disk image. Different hardware configurations required different images, each of which required significant amounts of time to prepare and regression test. Correcting problems was also difficult because the snapshot process had to be repeated in order to capture and distribute the fixes. An entire team of development staff was largely dedicated to supporting applications. To ensure that students were not negatively impacted when one application caused conflicts with others already installed, policies were in place allowing new applications to be delivered only during academic term breaks three times each year. The complexity of software installation and maintenance led to the implementation of an image-based installation process. Applications were installed on a development computer and then a disk image was captured. This disk image was then distributed to all of the end user computers. The imaging process allowed more flexibility in applying updates, patches, or bug fixes, but if any of the core applications changed, it was necessary to create and distribute an entirely new disk image. This process might occur several times in a given academic term and required the efforts of lab support staff to pull the image from a server to each machine. CSSD provides development support and applications for the seven general-purpose Pittsburgh computing labs along with one or more labs at each of the Universitys four regional campuses located across western Pennsylvania. The software delivery processes were complex and difficult to begin with, but became more complicated when considering the regional campuses which may have had different computers with different hard disk sizes. Each regional prefers some applications to others and for these reasons, multiple disk images had to be prepared, tested, certified, and delivered for the start of a given term. Summertime preparation of computers for the fall term began in May of each year and often continued until classes began in late August. Further complicating software delivery procedures is the existence of a program to provide faculty with access to centrally supported software. Known as the Faculty Computing Program, a faculty member can download a software application for local installation on his or her workstation. No disk image is required since the faculty member may choose a small subset of the available software, but the distributable copies of the application still needed to be prepared.
The Importance of Technology
How did the technology you used contribute to this project and why was it important?The underlying technology is the chief reason for the success of this project. The difficulty of operating computing labs across a major flagship campus and four regional campuses existed because there was no technology available that would permit delivery of applications separately from the underlying operating system. Microsoft Corporations Application Virtualization software solved the problem by allowing the delivery of applications without the need to install them on each computer or, as the University had done, install them all on a single machine, prepare a set of images that are compatible with each specific computer configuration and then deliver the images to the individual computers. With Application Virtualization in place, the University is able to purchase desktop computers with different configurations running the Microsoft Windows operating system. The machines are configured to run on the University network with common user authentication and security settings (for example, users are not permitted to store files on the local workstations hard disk drive and are not permitted to modify the computers configuration settings). The Application Virtualization client and any software applications that must run locally are then installed along with the Application Virtualization client. Virtualized application packages are then prepared for all applications that are suitable for over-the-network delivery. Reducing (to the point of nearly eliminating) applications installed on each local desktop significantly improves the performance of the machine. Device and driver conflicts are completely eliminated because the technology permits applications to run in their own virtual environments. The student notices that the machine is fast and reliable. Support staff spend significantly less time helping to troubleshoot application issues and senior staff in the back office no longer need to spend countless hours resolving conflicts and application issues. The most significant benefit of the technology lies with the isolation of application software. The technical benefits of this approach include: Ease of deploying updates and hotfixes. The significant increase in the size and complexity of applications has resulted in a significant increase in the number of bug fixes, updates, and security patches released by vendors. Previously, installation of these patches and updates had to wait until the number warranted the amount of time and effort required to update an image. Because the applications are now isolated, patches can be applied as they are released and tested. Elimination of most regression testing. Virtualized applications do not interact with other applications on the computer or with the underlying operating system. Therefore, it is no longer necessary to conduct lengthy, recursive regression tests as each of the more than 100 applications is made available. Ability to deploy multiple versions of an application. One challenge to general use computing labs is the likelihood that one instructor is ready to move forward with the new version of an application while others expect the older version to remain available. Without virtualization it is usually impossible or impractical to release more than one version of a package, but since the applications are now isolated, this restriction has been overcome. Elimination of Javaź version conflicts. Applications often expect to use specific Java versions, but only single Java version can be installed on an operating system. Reduction in image delivery time. Prior to virtualization, the full operating system and application image took several hundred hours to deploy all the target computers.
Benefits
Has your project helped those it was designed to help?
Yes Has your project fundamentally changed how tasks are performed? Yes What new advantage or opportunity does your project provide to people? The opportunity afforded to our students is not new in the sense that the University has offered campus computing facilities for many years. What is new is the method by which the applications our studetns depend on are made available to those lab computers. Previously, all applications were installed locally and extensive regression testing was required to resolve device driver problems, shared resource conflicts and so forth. University students depend on the campus computing labs for high speed printing, email access (particularly for commuter students who may not otherwise have access to a computer), and statistical and discipline-specific applications. Particularly useful are those applications used in engineering and advanced disciplines that are very expensive and the cost would be unapproachable for a student who might only need to use the application during one course term. If possible, include an example of how the project has benefited a specific individual, enterprise or organization. Please include personal quotes from individuals who have directly benefited from your work. Given the nature of the project, it is not practical to include a specific example.
Originality
Is it the first, the only, the best or the most effective application of its kind?
Most effectiveWhat are the exceptional aspects of your project? The most exceptional aspect of the project is its scale. More than 100 applications are delivered to each of more than 600 computers at the main campus in Pittsburgh alone. More than 1,000 devices receive centrally-packaged and delivered software throughout the Universitys five-campus system. Technologies such as Norton Ghost exist that allow images to be copied from a server to target computers. Pitt made extensive use of these technologies prior to the implementation of Application Virtualization as the easiest, least time-intensive means of preparing computing lab computers for student use was sought. These technologies work delivering images to smaller numbers of computers and even Pitt broke the delivery process down into smaller lots of computers to make this easier. Packaging and preparation of applications is far more time and labor intensive than the actual delivery, however. The likelihood, rather than just the potential, for application conflicts with other applications, with Java or shared libraries installed on the operating system were costly in terms of resource time to overcome. Re-imaging and regression testing added significantly to the amount of effort required to delivery applications. Finally, the need to prepare multiple images for delivery to different computer configurations on various campuses compounded the process even further. There are companies and educational institutions utilizing Application Virtualization, but not to the extensive degree found at the University of Pittsburgh.
Difficulty
What were the most important obstacles that had to be overcome in order for your
work to be successful? Technical problems? Resources? Expertise? Organizational
problems?The process of installing software on a standalone personal computer can be problematic. Installing more than 100 packages on more than 1000 computers is extremely complex. The University has developed several different systems to handle this process over the years. These systems required significant modification as new versions of the Windows operating system were introduced and new technologies have become available for application to the problem. Application virtualization has eliminated the problems at the end point with shared resource conflicts and the problem of installing patches and updates for the operating system and applications. The most complicating factor in this process involves concurrent licensing and the need for software license metering. Concurrent license models are those in which a certain number of licenses for a particular application are shared among all users. For example, the University might purchase 30 licenses for a desktop publishing application even though the software could be run from any of the more than 1,000 computers that can access the software license pool. If 30 users run the application at the same time, the 31st user who attempts to use the package is denied access until one of the other users finishes with it. This is accomplished through the use of license metering software. License metering software requires the application to be prepared for use with the system. Application virtualization also requires the application to be packaged, or prepared for delivery. The machines themselves must be set up with stronger security settings to prevent users from modifying critical settings and interfering with the computer setup. All of these issues had to be addressed along with the actual learning curve involved with implementing application virtualization technology. The paradigms changed completely for the development analysts and computing lab staff, requiring completely new processes to be developed. Ultimately, fewer resources and resource hours are required to deliver needed software applications to the students who need them. The time spent learning how to develop new software delivery processes in order to implement this critical new technology is well worth the effort given the significant time savings preparing computers for the students and maintaining them once preparation is complete. Often the most innovative projects encounter the greatest resistance when they are originally proposed. If you had to fight for approval or funding, please provide a summary of the objections you faced and how you overcame them. No significant obstacles were encountered in implementing this project.
Success
Has your project achieved or exceeded its goals?
Achieved Is it fully operational? No How do you see your project's innovation benefiting other applications, organizations, or global communities? The benefits of application virtualization are by no means limited to student computing labs. The University envisions utilizing Microsoft Application Virtualization technology in other areas such as the delivery of centrally supported software to faculty desktop computers. Educational institutions faced with the same challenges for managing student computing lab desktops and other applications can make effective use of this technology. Any company that manages entire desktops or specific applications for employees can also realize considerable benefits and cost savings. It is important to recognize that this technology did not enable the University to provide computing lab services or and it will not enable the University to centrally offer faculty computing applications. The availability of the technology significantly enhanced the process of delivering applications, eliminating a large number of tedious and error-prone tasks. How quickly has your targeted audience of users embraced your innovation? Or, how rapidly do you predict they will? The University has provided centrally-supported computing labs for several decades and in spite of the widespread availability of personal computers (more than 97% of University students own a computer), utilization of the student computing labs remains very high. The project did not change the appearance of the lab facilities or significantly modify services. Users continue to encounter the same reliable services the University has always provided, but with significantly less intense labor, coordination, and planning on the part of central IT staff.
Digital/Visual Materials
The Program welcomes nominees to submit digital and visual images with their Case
Study. We are currently only accepting .gif, .jpg and .xls files that are 1MB or
smaller. The submission of these materials is not required; however, please note
that a maximum of three files will be accepted per nominee. These files will be
added to the end of your Case Study and will be labeled as "Appendix 1", "Appendix
2" or "Appendix 3." Finally, feel free to reference these images in the text of
your Case Study by specifically referring to them as "Appendix 1", "Appendix 2"
or "Appendix 3."Currently Uploaded Appendices: No appendices currently uploaded. |
|
Site Map Contact Us
The Computerworld Honors Program is governed by the Computerworld Information Technology
Awards Foundation
©
2010
Computerworld Honors Program |