Wednesday, October 14, 2009

Unix-to-Linux migration

Unix to Linux migration: Now that you have your Linux server up and running, what's next? We can turn it into a Web server, an e-mail server, or even more fun, let's port your Unix-based applications to that new box. That's easy for me to say, but it's not going to be a snap for you. This is certainly not an overnight project, nor a project that should be taken lightly. Here are some tips that can make a Unix-to-Linux migration less complex and more fun.

Though Linux certainly is Unix-like, it is not Unix. Even if it were, there still would be a lot to do to port your application over successfully. For instance, you may have an application that runs on Sun Solaris, but perhaps it has not yet been ported over successfully to IBM's AIX. It would be shortsighted and foolish of you to undertake such a task on your own without support either from your hardware vendor or applications group. Similarly, porting your functioning Unix based application to a Linux environment is going to take some work and proper planning.

Planning and planning well is the key to success. That's the first tip. Let's look at a migration project to see what can happen along the way. I'll keep things vendor- and productneutral.

In this way, you can see that the basic steps will work regardless of the specific platform you are running. For example, you have an application X, which is running on a Y database. It is running on a server made by Z running W Unix.
First off, behind the scenes without your knowledge, the CIO has already been tasked to cut costs in all areas of IT. After doing a detailed cost analysis, she has determined that using Linux would cut support costs of your application 200%. You've been tasked to make it all work.
Where do you start? The most important piece is the assessment. You must write down exactly what you want to accomplish and what you have to work with. Start with what you've got, and break it down by hardware, software, database, data and network. Get all the version numbers down carefully, because you will find that some versions might run better than others on Linux, and some might not be supported at all.

Do some research and find out if your application has already been ported to Linux (and if it has, what variant, and on what kernel). You don't want to rewrite the same script if it already has been written. If it has, then you're in good shape. If your application is home-grown running on a Y database, then your first step must be to contact Y. Ask if Y has been ported to Linux. If not, you may be out of luck. If it has, you can move on.
Your next step: Find out what is involved in moving the database over to Linux, and get your DBAs start learning about how to support this database on that platform. From here, you'll move on to determining the right Linux server for your environment. As you know, there are many Linux variants out there. What is right for you? As usual, it depends. Are you the type that likes a lot of handholding, or do you tend to Google around for all your answers?
Breaking my code of neutrality, I'd go with either SuSE or Red Hat; you can't go wrong with either one. After you've picked your distribution, bring it in as quickly as you can, and start playing. Make sure you spec out your Intel or AMD PC wisely. If your RISC box is a four-way IBM p690 with 4GB of RAM, don't bring in a single processor box with 512 MG of RAM and expect the application to run nicely. I also would advise you not to get a pre-installed version of Linux on your hardware, but to install it yourself. That's the only way you'll learn.




No comments:

Post a Comment