Myth about Linux Migration
Posted On July 9, 2007 by Madhu AP filed under Miscellaneous
In order to understand what Linux is all about, it will help if you know a bit about how it all began. The following historical overview provides a concise background.
Unix and its related software was invented by Dennis Ritchie, Ken Thompson, Brian Kernighan and other hackers at Bell Labs in 1969. The original Unix of the 1960’s has undergone many changes since and there are many flavors available. Of these, Linux is the most popular. Today, when people say "Unix", they usually mean "a Unix-like operating system", a generalization that includes Linux.
Open Source software is similar in idea to "free software" but slightly less rigid than the free software movement. Users of Open Source software are (generally) able to view the source code, alter and redistribute the software. There is, however, less of an emphasis in the Open Source movement on the right of information and source code to be free. In some cases, companies are able to develop proprietary products based on Open Source software.
Whether you call it free software or Open Source software, there is one fundamental difference between this kind of software and proprietary software. And that is that free software always ensures that everyone is granted certain fundamental freedoms with respect to that software. Freedom to share copies with their neighbors, make changes to it or look at its source code to see how it works. Proprietary software strictly limits these freedoms.
In the early 1990s, Finnish computer science student Linus Torvalds began hacking on Minix, a small, Unix-like operating system for personal computers used in college operating systems courses.
In 1994, Torvalds published the first version of his kernel on the Internet, calling it "Linux". When Torvalds published Linux, he used the copyleft software license published by the GNU Project. Doing so made his software free to use, copy and modify by anyone, provided any copies or variations were kept equally free. Torvalds also invited contributions by other programmers and these came slowly at first. However, as the Internet grew, thousands of hackers and programmers from around the globe contributed to his free software project, and Linux improved immensely. The rest of this history, we will leave for the textbooks. The Linux we use today is a complete enterprise OS, equally competent if not better than the proprietary OS available in the market.
Open Source and other Unix flavors
I have tried to cover some of the most popular flavors of Unix and their origin. However, the coverage is not exhaustive due to the limited scope of this article.
FreeBSD
FreeBSD is a free, advanced operating system for x86 compatible, Alpha/AXP, IA-64, PC-98 and UltraSPARC architectures. Derived from BSD (the version of UNIX developed at the University of California, Berkeley), it is developed and maintained by a large team of individuals. Some advanced features of the OS include:
· A merged virtual memory and filesystem buffer cache continuously tunes the amount of memory used for programs and the disk cache. As a result, programs receive both excellent memory management and high-performance disk access, and the system administrator is freed from the task of tuning cache sizes;
· Compatibility modules enable programs for other operating systems to run on FreeBSD, including programs for Linux, SCO UNIX and System V Release 4;
· Soft Updates allow improved filesystem performance without sacrificing safety and reliability. It analyzes meta-data filesystem operations to avoid having to perform all of those operations synchronously. Instead, it maintains internal state about pending meta-data operations and uses this information to cache meta-data, rewrite meta-data operations to combine subsequent operations on the same files and reorder meta-data operations so that they may be processed more efficiently. Features such as background filesystem checking and file system snapshots are built on the consistency and performance foundations of soft updates; and
· M:N application threading via pthreads permits threads to execute on multiple CPUs in a scaleable manner, mapping many user threads on to a small number of Kernel Schedulable Entities. By adopting the Scheduler Activation model, the threading approach can be adapted to specific requirements of a broad range of applications.
HP-UX
HP-UX is Hewlett-Packard's implementation of Unix that runs on their PA-RISC range of processors as well as Intel's Itanium processor. Earlier versions also ran on the HP 9000 Series 200, 300 and 400 computer systems based on Motorola 68000 series of processors, as well as the HP 9000 Series computers based on HP's proprietary FOCUS processor architecture.
Major capabilities of the OS are Disaster Tolerance, High availability, Performance and Scalability, Security and Integrated Virtualization.
LINUX
Linux is an operating system that was initially created as a hobby by Linus Torvalds, a young student at the University of Helsinki in Finland. Linus had an interest in a small Unix system called Minix. In 1991, he began to develop a system that exceeded the Minix standards and finally released version 1.0 of the Linux Kernel in 1994.
Linux community's 2.6.13.4 kernel, which is in use now, supports the following features:
1. Generic logical CPU scheduler: Handles multi-core and hyper-threaded CPUs;
2. Object-based Reverse Mapping VM: Improved performance in memory constrained systems;
3. Read Copy Update: SMP algorithm optimization for operating system data structures;
4. Multiple I/O schedulers: Selectable based on the application environment;
5. Enhanced SMP and NUMA support: Improved performance and scalability for large servers;
6. Network interrupt mitigation (NAPI): Improved performance for heavy network loads;
7. Ext3 performance: Block Reservations and Hash Tree Directories improve the performance of read/write I/O and directory scanning operations;
8. Ext3 scalability: Dynamic file system expansion and file system sizes up to 8TB are now supported;
9. Logical Volume Management: A comprehensive update to the LVM provides new features such as read/write snapshots and transactional meta-data updates, along with a flexible new management GUI. Mirroring and enhanced multi-path are scheduled for delivery by mid-2005;
10. Scalability: Enhanced storage LUN management makes it possible to configure much larger storage subsystems;
11. Auto mounting: The inclusion of AutoFSv4 provides sophisticated device access control, supporting features such as browsable mounts and replicated servers;
12. Cost reduction: Support for Serial ATA disk storage provides increased performance, higher densities and reduced cost per megabyte over traditional IDE devices;
13. Mandatory Access Control: Security Enhanced Linux (SELinux) provides a MAC infrastructure that complements the existing Discretionary Access Control security features provided by the standard Linux environment. In a MAC-based environment, application capabilities and privileges are set by pre-defined policies and enforced by the kernel. This prevents errant applications from compromising system security;
14. Memory management enhancements: Several features, including Exec Shield and Position Independent Executables, combine to prevent applications from being exploited by attacks such as buffer overflows; and
15. Compile and runtime consistency checking: New buffer validation techniques in the GCC compiler and Glibc library greatly reduce the risk of faulty applications being compromised.
NetBSD
NetBSD is a free, secure and highly portable Unix-like Open Source operating system available for many platforms, from 64-bit Opteron machines and desktop systems to handheld and embedded devices. A clean design and advanced features make it excellent in both production and research environments; it is user-supported with complete source. Many applications are easily available through The NetBSD Packages Collection. Some common features are:
· Clear Design;
· Wide Platform Support;
· Full Source Availability;
· Security;
· Mature and stable;
· Hardware and Software Raid;
· High-performance PCI IDE; and
· 64-bit File system.
OpenBSD
OpenBSD is a free, multi-platform BSD-based UNIX-like operating system. Emphasis is on portability, standardization, correctness, proactive security and integrated cryptography. OpenBSD supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, Linux, BSD/OS, SunOS and HP-UX.
Solaris
Solaris is Sun's UNIX operating system, known long ago as SunOS. It is a version of UNIX that is BSD-like, with some SVR4 features, along with Open Windows 3.0. Some features of the OS are:
· Solaris 10 is fully supported on more than 400 SPARC-based and x64/x86-based systems from top manufacturers, including systems from Sun, Dell, HP and IBM;
· The Solaris 10 Operating System provides advanced security features such as Solaris Secure Execution and Process Rights Management that allow you to protect your enterprise, safely deliver new solutions and consolidate services;
· With its optimized network stack and support for today’s advanced network computing protocols, Solaris 10 delivers high-performance networking to most applications without modification;
· Solaris 10 OS includes industry-first utilization features such as Solaris Containers, which lets you consolidate, isolate and protect thousands of applications on a single server; and
· Solaris 10 release offers observability into your system with tools such as Solaris Dynamic Tracing (DTrace), which enables real-time application debugging and optimization.
Advanced Interactive executive (AIX)
AIX on the RISC System/6000 first entered the UNIX market in February 1990. Many believed that IBM's proprietary heritage would preclude it from being a player in the open systems arena. By 1994, when IBM announced AIX 3.2.5, AIX had become a mature and stable operating system.
The latest version of AIX 5L takes On Demand computing to the next level.
AIX 5L V5.3 offers simultaneous multi-threading on eServer p5 systems to deliver industry leading throughput and performance levels. With support for advanced virtualization, AIX 5L V5.3 helps you to dramatically increase your server utilization and consolidate workloads for more efficient management. AIX 5L Version 5.3 represents the latest advance in a long record of IBM operating system innovation and helps customers to accelerate their On Demand business.

Perceived Advantages of Linux and Open Source
Open Source software is touted as having several significant advantages over commercial software. The following are generally believed to be some of the benefits of Open Source software:
· Security: Open Source software is believed to have better security for two main reasons. First, it is possible to analyze the source code of the application to identify security risks and fix them before a problem occurs. Secondly, it is believed that Open Source software developers respond more quickly to software issues and tend to release fixes and patches much more rapidly;
· Performance: Linux is frequently believed to be a high-performance operating system, when used on the same hardware. A number of studies have been conducted on various common functions, including file serving, web serving and database performance;
· Stability: Linux is considered to be a more stable platform and less prone to crashes. With regard to stability, hard data is difficult to obtain, but anecdotal evidence (e.g. user testimony) does indicate that this opinion is well-founded;
· Cost: The cost of some Open Source software is indeed compelling; and
· Access to source code: One benefit to Open Source software that cannot be disputed is that of source code access. Although restrictions do exist on the redistribution of modified source code, there are generally no restrictions on modifying source code to meet the needs of the user. For this reason, organizations with internal development capabilities can derive significant mileage from Open Source software.
Critical Factors to be decided before Linux Migration
Prior to launching into a migration, make sure your reasons for migrating are business-driven. “You'll fail if you start a migration from the ideological side instead”.
To make that decision, conduct a thorough cost-benefit analysis, projected out several years, based on what it would take to migrate and what it would cost not to migrate. This should include not only financial costs, but also other costs such as the amount of overall control you want over your organization's software requirements, etc. With a Linux migration, "nobody can force you to upgrade or deny you a security fix. You always call the shots, so you are guaranteed to save money and retain more control in the long run".
Of course, reducing costs can be another driving factor in the decision-making process. According to Forrester Research, 68% of companies in North America consider lowering overall operating costs a top priority and Linux is one means to that end.
To achieve success in a Windows to Linux desktop migration, experts advise planning, planning and more planning. Before starting, take these steps:
1. Get executive buy-in: This step is crucial. Without executive support, your project may be doomed to failure. By gathering this support before launching your project, you can be sure that it will be supported, both financially and otherwise;
2. Make sure your organization is a good candidate for a Windows-to-Linux desktop migration: Those that are good candidates generally are looking for ways to reduce the cost of IT and more control of employee desktops;
3. Examine the existing environment and understand it thoroughly: Also, consider whether it makes sense to invest in new hardware, or whether you will be migrating with existing hardware;
4. Choose your flavor of Linux carefully: It doesn't matter much whether you settle on Red Hat, SUSE, Mandrake, Gentoo, Debian or another flavor altogether. It's more important that your migration team is comfortable with the Linux distribution chosen;
5. Identify which employees within the organization are the best candidates for a Linux-based alternative desktop: Often, these include transactional workers and developers — employees who rely on basic applications such as Web browsers, productivity suites and email and not workers who routinely use powerful programs like Photoshop or Macintosh-based applications;
6. Prepare employees: There is nothing worse than coming into work on Monday morning and being treated to an entirely new desktop, with entirely new expectations. In addition, set up a program to train employees on the new system before unveiling it;
7. Consider using outside consultants: Unless you or members of your team have attempted such a migration before, it can be well worth the money to hire an outside consultant. Doing so can save countless hours of frustration. "When you run into a problem like not being able to get something to print, someone familiar with Linux will be able to fix it in 10 minutes. If you don't have such a person, it could take a week to fix the problem," Petreley says. Consultants charge in various ways — by the hour or by the project. Typically, a migration consulting service may begin with a workshop, proof of concept and architecture and implementation review.
The author is the Head of Financial Services Vertical, Keane, India.
Unix and its related software was invented by Dennis Ritchie, Ken Thompson, Brian Kernighan and other hackers at Bell Labs in 1969. The original Unix of the 1960’s has undergone many changes since and there are many flavors available. Of these, Linux is the most popular. Today, when people say "Unix", they usually mean "a Unix-like operating system", a generalization that includes Linux.
Open Source software is similar in idea to "free software" but slightly less rigid than the free software movement. Users of Open Source software are (generally) able to view the source code, alter and redistribute the software. There is, however, less of an emphasis in the Open Source movement on the right of information and source code to be free. In some cases, companies are able to develop proprietary products based on Open Source software.
Whether you call it free software or Open Source software, there is one fundamental difference between this kind of software and proprietary software. And that is that free software always ensures that everyone is granted certain fundamental freedoms with respect to that software. Freedom to share copies with their neighbors, make changes to it or look at its source code to see how it works. Proprietary software strictly limits these freedoms.
In the early 1990s, Finnish computer science student Linus Torvalds began hacking on Minix, a small, Unix-like operating system for personal computers used in college operating systems courses.
In 1994, Torvalds published the first version of his kernel on the Internet, calling it "Linux". When Torvalds published Linux, he used the copyleft software license published by the GNU Project. Doing so made his software free to use, copy and modify by anyone, provided any copies or variations were kept equally free. Torvalds also invited contributions by other programmers and these came slowly at first. However, as the Internet grew, thousands of hackers and programmers from around the globe contributed to his free software project, and Linux improved immensely. The rest of this history, we will leave for the textbooks. The Linux we use today is a complete enterprise OS, equally competent if not better than the proprietary OS available in the market.
Open Source and other Unix flavors
I have tried to cover some of the most popular flavors of Unix and their origin. However, the coverage is not exhaustive due to the limited scope of this article.
FreeBSD
FreeBSD is a free, advanced operating system for x86 compatible, Alpha/AXP, IA-64, PC-98 and UltraSPARC architectures. Derived from BSD (the version of UNIX developed at the University of California, Berkeley), it is developed and maintained by a large team of individuals. Some advanced features of the OS include:
· A merged virtual memory and filesystem buffer cache continuously tunes the amount of memory used for programs and the disk cache. As a result, programs receive both excellent memory management and high-performance disk access, and the system administrator is freed from the task of tuning cache sizes;
· Compatibility modules enable programs for other operating systems to run on FreeBSD, including programs for Linux, SCO UNIX and System V Release 4;
· Soft Updates allow improved filesystem performance without sacrificing safety and reliability. It analyzes meta-data filesystem operations to avoid having to perform all of those operations synchronously. Instead, it maintains internal state about pending meta-data operations and uses this information to cache meta-data, rewrite meta-data operations to combine subsequent operations on the same files and reorder meta-data operations so that they may be processed more efficiently. Features such as background filesystem checking and file system snapshots are built on the consistency and performance foundations of soft updates; and
· M:N application threading via pthreads permits threads to execute on multiple CPUs in a scaleable manner, mapping many user threads on to a small number of Kernel Schedulable Entities. By adopting the Scheduler Activation model, the threading approach can be adapted to specific requirements of a broad range of applications.
HP-UX
HP-UX is Hewlett-Packard's implementation of Unix that runs on their PA-RISC range of processors as well as Intel's Itanium processor. Earlier versions also ran on the HP 9000 Series 200, 300 and 400 computer systems based on Motorola 68000 series of processors, as well as the HP 9000 Series computers based on HP's proprietary FOCUS processor architecture.
Major capabilities of the OS are Disaster Tolerance, High availability, Performance and Scalability, Security and Integrated Virtualization.
LINUX
Linux is an operating system that was initially created as a hobby by Linus Torvalds, a young student at the University of Helsinki in Finland. Linus had an interest in a small Unix system called Minix. In 1991, he began to develop a system that exceeded the Minix standards and finally released version 1.0 of the Linux Kernel in 1994.
Linux community's 2.6.13.4 kernel, which is in use now, supports the following features:
1. Generic logical CPU scheduler: Handles multi-core and hyper-threaded CPUs;
2. Object-based Reverse Mapping VM: Improved performance in memory constrained systems;
3. Read Copy Update: SMP algorithm optimization for operating system data structures;
4. Multiple I/O schedulers: Selectable based on the application environment;
5. Enhanced SMP and NUMA support: Improved performance and scalability for large servers;
6. Network interrupt mitigation (NAPI): Improved performance for heavy network loads;
7. Ext3 performance: Block Reservations and Hash Tree Directories improve the performance of read/write I/O and directory scanning operations;
8. Ext3 scalability: Dynamic file system expansion and file system sizes up to 8TB are now supported;
9. Logical Volume Management: A comprehensive update to the LVM provides new features such as read/write snapshots and transactional meta-data updates, along with a flexible new management GUI. Mirroring and enhanced multi-path are scheduled for delivery by mid-2005;
10. Scalability: Enhanced storage LUN management makes it possible to configure much larger storage subsystems;
11. Auto mounting: The inclusion of AutoFSv4 provides sophisticated device access control, supporting features such as browsable mounts and replicated servers;
12. Cost reduction: Support for Serial ATA disk storage provides increased performance, higher densities and reduced cost per megabyte over traditional IDE devices;
13. Mandatory Access Control: Security Enhanced Linux (SELinux) provides a MAC infrastructure that complements the existing Discretionary Access Control security features provided by the standard Linux environment. In a MAC-based environment, application capabilities and privileges are set by pre-defined policies and enforced by the kernel. This prevents errant applications from compromising system security;
14. Memory management enhancements: Several features, including Exec Shield and Position Independent Executables, combine to prevent applications from being exploited by attacks such as buffer overflows; and
15. Compile and runtime consistency checking: New buffer validation techniques in the GCC compiler and Glibc library greatly reduce the risk of faulty applications being compromised.
NetBSD
NetBSD is a free, secure and highly portable Unix-like Open Source operating system available for many platforms, from 64-bit Opteron machines and desktop systems to handheld and embedded devices. A clean design and advanced features make it excellent in both production and research environments; it is user-supported with complete source. Many applications are easily available through The NetBSD Packages Collection. Some common features are:
· Clear Design;
· Wide Platform Support;
· Full Source Availability;
· Security;
· Mature and stable;
· Hardware and Software Raid;
· High-performance PCI IDE; and
· 64-bit File system.
OpenBSD
OpenBSD is a free, multi-platform BSD-based UNIX-like operating system. Emphasis is on portability, standardization, correctness, proactive security and integrated cryptography. OpenBSD supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, Linux, BSD/OS, SunOS and HP-UX.
Solaris
Solaris is Sun's UNIX operating system, known long ago as SunOS. It is a version of UNIX that is BSD-like, with some SVR4 features, along with Open Windows 3.0. Some features of the OS are:
· Solaris 10 is fully supported on more than 400 SPARC-based and x64/x86-based systems from top manufacturers, including systems from Sun, Dell, HP and IBM;
· The Solaris 10 Operating System provides advanced security features such as Solaris Secure Execution and Process Rights Management that allow you to protect your enterprise, safely deliver new solutions and consolidate services;
· With its optimized network stack and support for today’s advanced network computing protocols, Solaris 10 delivers high-performance networking to most applications without modification;
· Solaris 10 OS includes industry-first utilization features such as Solaris Containers, which lets you consolidate, isolate and protect thousands of applications on a single server; and
· Solaris 10 release offers observability into your system with tools such as Solaris Dynamic Tracing (DTrace), which enables real-time application debugging and optimization.
Advanced Interactive executive (AIX)
AIX on the RISC System/6000 first entered the UNIX market in February 1990. Many believed that IBM's proprietary heritage would preclude it from being a player in the open systems arena. By 1994, when IBM announced AIX 3.2.5, AIX had become a mature and stable operating system.
The latest version of AIX 5L takes On Demand computing to the next level.
AIX 5L V5.3 offers simultaneous multi-threading on eServer p5 systems to deliver industry leading throughput and performance levels. With support for advanced virtualization, AIX 5L V5.3 helps you to dramatically increase your server utilization and consolidate workloads for more efficient management. AIX 5L Version 5.3 represents the latest advance in a long record of IBM operating system innovation and helps customers to accelerate their On Demand business.

Perceived Advantages of Linux and Open Source
Open Source software is touted as having several significant advantages over commercial software. The following are generally believed to be some of the benefits of Open Source software:
· Security: Open Source software is believed to have better security for two main reasons. First, it is possible to analyze the source code of the application to identify security risks and fix them before a problem occurs. Secondly, it is believed that Open Source software developers respond more quickly to software issues and tend to release fixes and patches much more rapidly;
· Performance: Linux is frequently believed to be a high-performance operating system, when used on the same hardware. A number of studies have been conducted on various common functions, including file serving, web serving and database performance;
· Stability: Linux is considered to be a more stable platform and less prone to crashes. With regard to stability, hard data is difficult to obtain, but anecdotal evidence (e.g. user testimony) does indicate that this opinion is well-founded;
· Cost: The cost of some Open Source software is indeed compelling; and
· Access to source code: One benefit to Open Source software that cannot be disputed is that of source code access. Although restrictions do exist on the redistribution of modified source code, there are generally no restrictions on modifying source code to meet the needs of the user. For this reason, organizations with internal development capabilities can derive significant mileage from Open Source software.
Critical Factors to be decided before Linux Migration
Prior to launching into a migration, make sure your reasons for migrating are business-driven. “You'll fail if you start a migration from the ideological side instead”.
To make that decision, conduct a thorough cost-benefit analysis, projected out several years, based on what it would take to migrate and what it would cost not to migrate. This should include not only financial costs, but also other costs such as the amount of overall control you want over your organization's software requirements, etc. With a Linux migration, "nobody can force you to upgrade or deny you a security fix. You always call the shots, so you are guaranteed to save money and retain more control in the long run".
Of course, reducing costs can be another driving factor in the decision-making process. According to Forrester Research, 68% of companies in North America consider lowering overall operating costs a top priority and Linux is one means to that end.
To achieve success in a Windows to Linux desktop migration, experts advise planning, planning and more planning. Before starting, take these steps:
1. Get executive buy-in: This step is crucial. Without executive support, your project may be doomed to failure. By gathering this support before launching your project, you can be sure that it will be supported, both financially and otherwise;
2. Make sure your organization is a good candidate for a Windows-to-Linux desktop migration: Those that are good candidates generally are looking for ways to reduce the cost of IT and more control of employee desktops;
3. Examine the existing environment and understand it thoroughly: Also, consider whether it makes sense to invest in new hardware, or whether you will be migrating with existing hardware;
4. Choose your flavor of Linux carefully: It doesn't matter much whether you settle on Red Hat, SUSE, Mandrake, Gentoo, Debian or another flavor altogether. It's more important that your migration team is comfortable with the Linux distribution chosen;
5. Identify which employees within the organization are the best candidates for a Linux-based alternative desktop: Often, these include transactional workers and developers — employees who rely on basic applications such as Web browsers, productivity suites and email and not workers who routinely use powerful programs like Photoshop or Macintosh-based applications;
6. Prepare employees: There is nothing worse than coming into work on Monday morning and being treated to an entirely new desktop, with entirely new expectations. In addition, set up a program to train employees on the new system before unveiling it;
7. Consider using outside consultants: Unless you or members of your team have attempted such a migration before, it can be well worth the money to hire an outside consultant. Doing so can save countless hours of frustration. "When you run into a problem like not being able to get something to print, someone familiar with Linux will be able to fix it in 10 minutes. If you don't have such a person, it could take a week to fix the problem," Petreley says. Consultants charge in various ways — by the hour or by the project. Typically, a migration consulting service may begin with a workshop, proof of concept and architecture and implementation review.
The author is the Head of Financial Services Vertical, Keane, India.
