This paper may assist you in understanding the 32 to 64bit migration: published by the Aberdeen Group
Strategically Attacking Software Sclerosis An Executive White Paper February 2001
Strategically Attacking Software Sclerosis Preface Independent software vendor (ISV) executives and Information Technology (IT) executives now face the job of upgrading their existing business-critical software to Itanium - a task of unprecedented magnitude. The price of failure is "software sclerosis" - the increasing inability to adapt to new system demands, because the software "arteries" on which the enterprise depends for cost savings and competitive advantage "harden" (i.e., they cannot scale, they are prone to failure, and they do not adapt to new end-user demands). The immediate answer is to use strong migration tools to make sure that the applications run well on Itanium. The long-term answer is to use these migration tools as part of a comprehensive software evolution strategy that not only proactively improves software to avoid software sclerosis, but also delivers major cost savings.
Over the next two years, there will be a large market for good migration tools, because upcoming innovative hardware architectures will demand massive software migrations. That is especially true of Intel's Itanium architecture, which Aberdeen predicts will appear in nearly half of all new hardware solutions by 2005. Over time, Itanium will require more than recompilation from ISV and IT executives. For peak performance, Itanium will call for careful re-tuning and selective rewriting of a large mass of IA-32 Windows- or Unix-based existing code.
Beyond Itanium looms the job of readying existing software for the Internet. In order to cut costs and to achieve competitive advantage - or avoid losing the installed base - organizations need to tap into their proprietary content and leverage that content in business-to-consumer (B-to-C) and business-to-business (B-to-B) applications. To access and leverage back-end content effectively, users must do more than put a "screen-scraper" Web browser in front of existing applications and data. They must make the legacy content-accessing software more scalable, more robust, and more flexible by migrating it to powerful new platforms such as Itanium, improving its quality, and adding Web-transaction capabilities - a process called Web enablement.
Itanium migration and Web enablement are not only massive challenges but also excellent opportunities to adopt a software evolution strategy to avoid software sclerosis. For ISV executives and IT executives alike, improving software to make it more scalable, more robust, and more flexible yields major long-term cost savings in maintenance and administration, as well as the ability to access more proprietary content more easily. A software evolution strategy allows organizations to monitor application assets in a rational, global fashion and to migrate at the right time, for the right reasons. An effectively implemented software evolution strategy allows ISVs and enterprises to turn a "vicious circle" of ever-increasing maintenance costs for ever-more-elderly code into a "virtuous circle" of ever-decreasing administration and learning costs, increased flexibility in meeting user needs rapidly (by adapting existing code), and the ability to use the information captured by a software-migration tool set in other areas, such as system administration.
This Aberdeen Executive White Paper examines the details of how to choose a good Itanium migration tool and use it as part of an effective software evolution strategy. The paper uses as an example MigraTEC's migration tools, which - alone or combined with an effective software evolution strategy - can help users to meet the oncoming software demands of Itanium and the Web with confidence.
Executive Summary This Aberdeen Executive White Paper examines IT and ISV migration tasks necessary for the next two to three years and identifies the characteristics of migration solutions and strategies that are most effective in assuring successful migration efforts. Following is a summary of Aberdeen research findings:
Both enterprises and ISVs face major migration tasks over the next two to three years. Over 100 billion unique lines of code are eligible for Itanium migration - about 60% of total world code is actively maintained and eligible for Itanium migration (Figure 1), as well as more than 20 billion unique lines of C/C++ code. Intel's 64-bit Itanium architecture will offer a strong alternative to existing RISC (reduced instruction set computer) platforms and will drive Microsoft's Windows 2000 and Linux operating systems into enterprise applications. Itanium will thereby encourage upgrading today's ISV and enterprise-workgroup Windows applications to take advantage of Windows 2000's and Itanium's performance, scalability, and availability features. Both markets are in their infancy and will peak over the next two to three years. These upcoming migration tasks will cause a large increase in the average organization's overall development and upgrade requirements, just as a python requires a much larger temporary digestive capacity to eat a pig. The average migration task is substantial. Aberdeen finds that the average migration project involves 100,000 lines of code, a four- to six-month time frame, and $821,000 in costs - $262,000 in external costs, $320,000 in labor costs, and $239,000 in capital costs. Migration yields strategic benefits. Aberdeen research shows that effective migration of existing content-accessing applications improves end-user access to competitive-advantage proprietary content - especially on the Web - by leveraging these applications, and saves costs by reusing code for new purposes and by decreasing long-term software maintenance costs. Users can increase migration benefits by adopting a software evolution strategy. A software evolution strategy emphasizes thinking of all of an enterprise's or an ISV's software as an aggregate - a "portfolio" - whose components are in different stages of aging. The strategy proactively migrates and otherwise improves mission-critical software that is "ready for evolution" - that is, the software is neither too old to improve easily nor too young to be in danger of obsolescence. A software evolution strategy extends migration benefits across the organization's software portfolio, allows the CIO (chief information officer) to wield software evolution as a strategic weapon (along with "make" or "buy"), and offers a key side benefit of gathering information about an organization's software assets, uncovering hidden "content jewels" that can be leveraged for competitive differentiation. Key criteria for migration solutions are performance/scalability, availability, and flexibility of resulting applications. Itanium migration tool set buyers should also note the importance of Itanium compiler knowledge and a broad scope to cover all Itanium platforms. MigraTEC's MigrationSuite is a strong example of a migration solution targeted especially at Itanium that focuses on these key criteria. Figure 1: Overall and C/C++ Code Available for Migration Worldwide (2000)
Source: Aberdeen Group, February 2001
The Pig in the Python: Upcoming Migration Tasks When faced with an existing piece of software, there are only so many approaches a software developer can use to create a desired new application. Aberdeen defines the most commonly used of these approaches as:
Migration - moving the existing application to a new and more powerful platform, such as moving from the mainframe to Unix, Linux, or Windows 2000 over Sun SPARC or Intel Pentium or Itanium hardware. Migration yields the additional scalability, robustness, and openness that a new platform brings but does not typically add features to a program. Enablement - rewriting small sections of the application's code to access new software technologies such as browsers. Enablement will superficially improve the program but, if applied too much, is like putting lipstick on a pig: It improves the user interface, but not the functionality, scalability, or robustness of the application. Functional enhancement - adding new code to implement new features or improve existing features within the existing application. Where functional enhancement requires minimal changes to an existing program, it can have profound effects on an application's scalability, robustness, and flexibility. Writing a new application ("make") - a frequently used approach in Web development that runs the risk of creating less scalable, less robust systems that do not access competitive-advantage proprietary content easily. Acquiring the necessary code from elsewhere ("buy") - can sometimes solve the user's needs; however, typical code acquired from outside still requires significant enablement and functional enhancement. Approaches 1, 2, and 3 are collectively referred to as software "improvement."
Over the next few years, a main area of enterprise and ISV activity will be migration. That is because over the next three years, enterprises and ISVs face a major software migration task. As Figure 1 shows, there were more than 320 billion unique lines of code in use in the world in 2000. The majority of the code can be accessed and leveraged for content if it is migrated to platforms that can deliver scalability, and if its robustness and flexibility is improved. The need for software migration spans geographies (Figure 1), vertical industries (Table 1), and operating systems (Table 2).
Aberdeen research shows that two needs will impel a major IT and ISV migration effort over the next two to three years: new hardware architectures such as Intel's Itanium, and Web enablement.
Table 1: Vertical Industry Breakdown of Lines of C/C++ Code
Vertical Industry Total Lines of C/C++ Code (%) Military/Defense 18 Manufacturing 12 Finance and Insurance 10 Communications 8 Retail and Wholesale 8 Software 6 Government (Federal, State, Local) 5 Energy and transportation 3 Healthcare 3 Other 27
Source: Aberdeen Group, February 2001
Table 2: Number of Programs Available for Migration Worldwide in 2001 (millions)
Custom (IT) Packaged (ISV) Total market 87.2 5.6 Windows-based 5.9 0.4 Unix-based 15.7 1.0 Other operating system 65.5 4.2 Source: Aberdeen Group, February 2001
New Hardware Architectures New hardware architectures - especially Intel's Itanium - will drive Windows 2000 and Linux into a new role: supporting enterprise applications. That means existing Windows and Linux applications will need upgrading to deliver enterprise performance, scalability, and availability. Itanium will be particularly attractive to Information System (IS) buyers because it offers a long-term scalable architecture plus a popular chip set.
Particularly, Itanium calls for software migration because it fundamentally changes the typical hardware architecture. In order to optimize performance, Itanium gives compilers much greater control than before over the use of the Itanium processor. That means all Itanium compilers have been written in fundamentally new ways and that many of the traditional developer techniques for increasing performance are obsolete. Running an existing application on Itanium without recompiling is likely to decrease performance slightly; simply recompiling it is not likely to yield much performance improvement, at least until the compilers learn to use the new code-optimization techniques. Therefore, applying a strong migration tool before recompiling and rewriting key performance-critical code to take advantage of Itanium and the new compilers will have an unusually large impact on performance.
Savvy users, needing to migrate, typically follow a three-stage process:
Run all applications without recompiling on the new architecture; Recompile the applications one-by-one, file-by-file; and Rewrite the applications one-by-one to tune for performance. Aberdeen anticipates two problems with the three-stage process approach when upgrading to Itanium. First, running the application without change may result in errors and application failures in the new environment - and, even if the user successfully recompiles the application, the new compilers may not catch all the errors. Second, users have found in the past that they cannot depend entirely on either Intel or Microsoft to provide comprehensive support for such a migration, particularly for steps 2 and 3.
Aberdeen's qualitative research suggests that one-half of all ISVs and enterprises are aiming at full migration for their mission-critical applications - going directly to step 3. However, this strategy will require careful planning, good advice, and a strong tool set. For example, the new compilers will have different code-optimization techniques so developers, aiming to optimize performance, will need to understand fully the new techniques and plan carefully to target the code that will benefit most from the new performance-enhancing features. Whatever the approach, it is clear that a good migration tool can help.
Web Enablement The Internet economy demands links between existing applications and databases and new Web capabilities, which means that existing code must be readied for the Web by migration to "Web-appropriate" platforms - i.e., scalable, robust, and standards-driven ones - and by enablement and functional enhancement to make the software more scalable, more robust, and more Web accessible. For example, retail/e-Commerce and B-to-B/portal/e-Marketplace e-Businesses are finding that the better adapted the application is to the Web, the better the differentiation through content. This adaptation requires migration not only for Web enablement but also for Web scalability/availability, as well as for new flexibility to support features such as personalization. Migration and other improvements must be done rapidly in "Internet time."
What Migrations Lie Beyond? Even beyond the "pig in a python" migration tasks of the next two to three years, there will be an ongoing need for migration and for a migration strategy. In many cases, Web and Itanium migrations will need to continue beyond the next three years. Moreover, new technologies such as XML will involve retrofitting today's code.
Effective Migration Yields Strategic Benefits The Year 2000 (Y2K) problem delivered two strong messages to Fortune 1000 chief executive officers (CEOs): the enterprise is far more dependent on legacy applications than previously imagined, and these applications can be changed en masse, using replicable processes.
In the past, the two obvious strategies that IS has used to deal with legacy applications were "leave it alone" (the status quo approach) and the "make or buy" approach. The "make or buy" approach is a radical change in existing software, and both approaches are increasingly costly ways of doing business.
Consider the status quo approach. Before the Y2K problem surfaced, the typical IS organization spent little time planning to change key applications - often because they saw no low-cost way of doing so. However, what the enterprise has often failed to understand is that the net result of the status quo approach has been constantly increasing "inventory costs" of legacy applications:
Maintenance costs - associated with outdated applications about which key information has been lost and whose software and hardware is no longer adequately supported inside the organization or by suppliers; Opportunity costs - incurred as maintenance spending crowds out new-application development and packaged-application acquisition spending; and Inefficiency costs - incurred as the failure to proactively migrate causes crisis-mode costly legacy-application fixes; periodic directives to "move to a new platform" waste time and effort on flawed or failed major software improvement projects. These costs often feed on themselves in a vicious circle, leading to software sclerosis: Choosing to maintain instead of improve an application means that the application continues to age, not only increasing maintenance, opportunity, and inefficiency costs but also making the gap between the legacy application and today's technologies wider, therefore making improvement costlier and access to legacy content more difficult.
But, writing brand-new applications is also increasingly costly. As the application portfolio expands, the number of new applications and "replacement candidates" is expanding faster than IS programmer productivity. Buying new packaged applications is a viable strategy, but customizing these applications for the enterprise's needs and retiring older software is a tricky process - as recent implementers of SAP R/3 Enterprise Resource Planning (ERP) solutions have reported. Conclusion: Improvement is needed, but it must be a minimal, evolutionary migration.
Therefore, one key business benefit of a good migration or functional enhancement tool set, is that IT is better able to cut software inventory costs and to turn a vicious circle of increasing costs into a virtuous circle of decreasing ones. Moreover, such a tool set allows developers to reuse more code, improving programmer productivity and reducing development costs. Effective software evolution has other major business benefits, as well, including:
Decreased administrative and learning costs: By allowing more improvement of legacy applications, migration tools allow enterprises to cut down on the number of platforms and environments supported and on training costs for developers and administrators. Increased flexibility in meeting user needs: By evolving a legacy application, IS extends the application's useful life while adapting it to user needs rather than having to rewrite it. By allowing more improvement of legacy applications, a migration tool set gives IS more options when a legacy application begins to cost more than its benefits bring. Ability to use the information captured by the tool set in other IS areas: Migration and other improvement tools give the enterprise never-before-collected information on its key legacy applications, including data on heretofore undetected errors, information on business rules and code logic, and - if combined with an asset management system - an inventory of the enterprise's application assets. Users of software configuration management systems, for example, typically use their new knowledge to increase reuse of old code in new application development; to provide better audit/monitoring information to the administrator of an enterprise architecture; to make the development process more rapid, more flexible, and more robust; and to drive IT software strategies - including software evolution strategies.
Above all, effective software evolution allows an enterprise to access its proprietary content via existing code and applications more effectively. That is particularly true for the enterprise's Web solutions, and the migration tool set can help the linked legacy applications satisfy today's key Web success criteria: scalability/availability, flexibility, and rapid development.
Case in Point: Server Consolidation Today's server consolidation activities can be classified as one of four types, listed below in order of increasing sophistication:
Centralization - relocates existing servers to fewer sites; Physical consolidation - replaces many smaller servers in the same architecture with fewer, more powerful servers; Data integration - focuses on the proliferation of databases across the enterprise by physically combining a wide variety of data into a single repository. An obvious example of this approach is data warehousing; and Application integration - involves actually evolving multiple applications to integrate together on a common platform. The resulting architecture or integrated architectures contain multiple/mixed applications or workloads. Aberdeen research shows that the business value from application integration migration can be greater than from the other three approaches, in decreased application administrative and acquisition costs, architectural simplicity, and opportunities for business process synergy - e.g., between OLAP (online analytical processing) and OLTP (online transaction processing).
An Effective Software Evolution Strategy The effective software evolution strategist should view the application portfolio as a kind of garden: some applications are to be added, some applications are to be grown or pruned, and some are to be cut down, but none are to be left untended or thrown away.
As ISV executives and IT executives look toward the major application-portfolio tasks of the next two to three years, such a "gardening approach" to software evolution strategy would suggest that they:
Do a software audit to determine what existing not-yet-Web-enabled or IA-32 applications that they have (IT Y2K efforts may have already provided this information); Triage the applications into three categories: "buy a new one," "improve," and "leave alone"; and Target improvements to bring "evolved" applications into synchronization with the latest (Web/Itanium) technology. Such a software evolution strategy can have benefits beyond those of simply applying a migration tool set on a case-by-case basis, including the following:
It extends the benefits of evolution, discussed previously, to the entire software portfolio; It provides a comprehensive, in-depth picture of the organization's application portfolio. Note the lesson of Y2K: What an enterprise does not know about its applications can indeed hurt it; and It gives the CIO or ISV CEO another strategic weapon: the ability to migrate at will, rather than being forced to make or buy. Key Criteria for Choosing a Migration Solution Users of migration tool sets should consider the following criteria when seeking an effective solution for their Web and Itanium migration needs.
Itanium Criteria Itanium criteria include performance, compiler knowledge, and scope.
The tool set should have in-depth knowledge of how to write code for Itanium and allow the developer to automatically get the most out of that knowledge to achieve high application performance; The tool set should have knowledge of Itanium compilers to help the developer avoid programming errors and to take advantage of each compiler's code optimization approaches; and The tool set should cover most, if not all, of the major Itanium platforms, including Windows, Solaris, Linux, HP-UX, and IBM 5L. Web Criteria Web criteria include scalability/availability, flexibility, and rapid-development support.
The tool set should allow the user to migrate applications to support 24×7 Web operations and handle rapid surges in user demand, typical of the Web; and The tool set should support rapid Web-enablement migration. MigraTEC's MigrationSuite: A Strong Example of Migration Tool Value-Add MigraTEC's MigrationSuite is a comprehensive Itanium application migration toolset for C/C++ code, running under Windows 2000, Linux, and AIX operating systems. The MigrationSuite tool sets work with major Itanium compilers (e.g., Intel, Microsoft, and IBM). MigraTEC is also a close partner with Intel and is now used in Intel's new Itanium migration support centers. MigraTEC supplies services for customers who have migration needs beyond simple migration to Itanium or do not have internal resources for migration projects. Thus, users who are seeking to migrate to Itanium to create a stand-alone application or to upgrade existing applications as part of a Web-enablement strategy can get MigraTEC's help in ensuring that the resulting applications work well in an Itanium environment.
Developers who are upgrading code to the Itanium architecture will encounter the usual straightforward but time-consuming migration tasks, such as handling new Itanium data types. In addition, developers will need to deal with the following:
Missing or incomplete function prototypes that lead to data conversion issues; Data-alignment problems, especially within structures and unions; Hard-coded constant values; Operating system application programming interface (API) changes, including changed data sizes returned by operating system functions; Explicit data-size assumptions used to calculate data offsets and for other purposes; and Constructs specific to an IA-32 implementation that bypass supported APIs and attempt to read or to manipulate specific registers or memory locations.
MigraTEC's MigrationSuite products offer developers a more automated alternative to using compiler warnings as part of a manual, iterative modify/compile/de-bug cycle and detect 64-bit issues that compilers do not find. The MigrationSuite tool set approaches code migrations as three separate but interrelated phases:
Inventory - locating all affected source code and header files, third-party libraries, and linkages to and dependencies on other applications; especially useful when dealing with applications that have complex dependencies on a poorly organized code base; Analysis - identifying and categorizing required code changes, including the separation of substantive code warnings that affect the migration from other warnings; and Repair - performing the actual code changes while maintaining consistency of coding changes and documenting them. Potential advantages include a reduced need for experienced programmers, increased speed to migration, and improved consistency of application "style" across programs, which makes them easier to maintain and less prone to human error.
Aberdeen finds that MigrationSuite meets Aberdeen's migration-tool criteria in C/C++ over Windows/Linux/AIX environments in the following ways:
MigrationSuite's in-depth knowledge of C/C++ code allows users to migrate existing code that supports parallel access via Web and application servers to back-end applications and databases. It thereby allows these applications to use Itanium's new scalability and robustness features to scale more in the number of Web users and to "fail over" to other copies of an application or database if one copy fails; As noted, MigrationSuite supports automated rapid migration; MigraTEC's Itanium package has been developed in close coordination with Intel, ensuring that it has real-world experience in achieving Itanium compliance; MigraTEC's close work with compiler suppliers ensures that MigrationSuite works seamlessly and effectively with their compilers; and MigraTEC aims to support all major Itanium platforms as the first implementations of those platforms arrive.
Users should also note that MigraTEC and MigrationSuite combine effectively with a software evolution strategy. MigraTEC's partnerships with suppliers, such as Intel, ensure that users can take a comprehensive, well-supported approach to C/C++ code migration to the Web and Itanium. And, MigrationSuite's support for a broad array of
platforms and for the most popular programming language for Windows on the Web and Itanium ensures that it can cover a wide range of migration needs.
Aberdeen Conclusions In most of today's enterprises and ISVs, strategists, CIOs, and CTOs (chief technology officers) know little or nothing about migration, enablement, or functional enhancement - even though these tasks are ongoing in their organizations. The problem is that such ignorance can lead to evaporation of the funds that are needed to carry out migration effectively and strategically. And, the oncoming wave of migrations and other improvements for Itanium and the Web dramatically increases the stakes for those that fail to understand the effects of software sclerosis, the importance of a software evolution strategy, and the right way to go about it.
The solution is twofold: The organization must, in the short term, attack its migration needs with the right tool, and it must, in the long term, develop and implement an effective software evolution strategy. Such a strategy views the application portfolio as a whole; picks the right targets to improve, replace, or leave alone; and leverages the information gained in the process. An effective tool set like MigraTEC's MigrationSuite meets the needs of short- and longer-term strategies: It delivers scalable, available, high-performance applications by moving them to scalable, robust, open platforms, and acts as one effective component of an overall software evolution strategy. The end results of this "good fit" are decreased costs and better competitive differentiation, each impacting the bottom line.
Itanium will not wait for the ISV or enterprise to catch up; neither will the Web. Therefore, Aberdeen urges ISV and IT executives to investigate effective migration solutions, such as MigraTEC's MigrationSuite, alone or as part of a solid software evolution strategy.
migratech.com |