Linux isn't new. It's not even new on the iSeries. On the other hand, most iSeries shops haven't put Linux applications into production today. Why not? Let's take a look at our shop's experience and see if it's time to reconsider.
Without looking at anyone else's marketing foils, I can summarize our interest in Linux at this point:
- It is a very low-cost environment (not just operating system) compared with OS/400 or Windows.
- It is very reliable.
- It is a great performer, especially for our Web applications.
- It is easier to administer than I expected (for just the basics so far).
- There are lots of software packages that run on Linux but NOT OS/400 that we might use.
iSeries Linux scenario
We talked about doing a marketing request-for-information application for the Web with our IBM business partner. It's just a simple one to get started based on budget constraints.
They gave us the option of putting the application on a shared hosting Linux server they run at their data center instead of loading the application onto our existing 270 running WebSphere Express. While WebSphere Express runs fine, our 270 is fully loaded. Since this application DIDN'T require the level of real-time integration that some other Web applications do, we could consider the shared hosting idea.
The advantages of using Linux in the shared hosting environment for us included the following:
- There's no server or software to buy, just a low monthly rental fee for usage.
- We didn't have to configure Linux initially.
- We can remotely administer our Linux server successfully with VERY LIMITED skills.
- We use FTP to update the application as needed.
- We didn't need to buy any server software to run our Java Web application. The Linux server has Apache HTTP server, Apache Tomcat application server and MySQL for a database server.
Basically it's a very low-cost Web alternative that could get us started with Linux with VERY LITTLE training needed.
A divergence from the IBM iSeries Linux plan
When IBM first tried to get us to "move" to Linux on the iSeries, they discussed how great it was to consolidate Linux servers on the iSeries in a partition vs. using Intel boxes. Following the IBM marketing lead, in late 2002 we looked at Linux on the iSeries as an option to Linux on Intel and found a few things
The SUSE distribution of Linux for iSeries at the time was priced 100% higher than the SAME Linux distribution running on the pSeries (a fact never mentioned in IBM marketing foils). What's interesting about that is SUSE was selling the SAME binary code to run on the SAME processor platform for double just because the operating system was OS/400! That was $1,500 higher than the pSeries version.
Also, running Linux on the iSeries REQUIRED an OS/400 primary partition. At the time, the smallest iSeries would have added another $4,000 for the OS/400 partition just to get Linux running. All told, the extra $5,500 premium to run it on the iSeries didn't make sense for us. We actually did nothing at the time with Linux.
How we started using Linux on our iSeries
Our partner had a Red Hat 8 Linux production server setup. They created user accounts for us. They helped us do the following:
- Install the Apache HTTP server. (Download it for free from www.apache.org.)
- Install the Tomcat application server. (Download it for free from www.apache.org.)
- Install MySQL database server. (Download it free from www.mysql.com.)
The Apache and Tomcat servers have simple, browser-based administration screens similar to WebSphere Express that make administration easy. MySQL has a GUI console that makes administration easy, but we prefer using the command line shell because we can run automated scripts easily to maintain the database.
We use PuTTY for a secure, remote access Linux command line shell to administer the server. PuTTY is a free implementation of Telnet and SSH for Win32 and Unix platforms, along with an xterm terminal emulator. It is written and maintained primarily by Simon Tatham. You can download it from http://www.chiark.greenend.org.uk/~sgtatham/putty/.
We use standard FTP to move the application and database updates back and forth. After testing our Linux environment, we simply did the following:
- Sent an database script to create the database and the tables we needed to the Linux server.
- Ran the script to generate the database from the MySQL command line.
- Uploaded our Web application to the Tomcat Web apps folder.
- Went to a browser and tested our Web application.
It worked great. We had actually tested the Web application using IBM's WDSC workbench test servers so we knew the application was good.
What we've learned about running Linux on the Web -- so far
Here's what we learned from our iSeries Linux experience:
- The whole Linux environment really IS low cost.
- The server really performs well. (The partner has a good T1 connection to the Web, too.)
- Mastering the administrator basics of our Linux Web environment is easy from the command line (compared with what we thought).
- For this type of application, moving data back and forth in batch is fine.
- The application runs very reliably in this environment.
One of the keys to reliability is the open-source software we ran had VERY few bugs. (We actually didn't find any, BUT that doesn't mean there aren't some.) I think the reason open-source software is so stable compared with stuff we sometimes get from vendors such as IBM and Microsoft is the open-source vendors try to point you to the most stable versions of their software. They usually tag different releases with quality tags: alpha, beta and production. We always choose the latest production release, which cuts down on problems.
What's next for our iSeries Linux?
We realized we'd be able to do more if we learned how to do scripting in the BASH shell command line environment. It's not very different from the Qshell environment on the iSeries in my opinion. If you're not familiar with that, it's a little like writing a CL program without the need to compile it. You have statements, variables, flow control, parameters, exception handling and so on in a script.
We're happy with the versions of Apache HTTP server, Tomcat server and MySQL server. They were very simple to learn, especially with the help of our mentor.
I'd also like to learn how to install a Red Hat distribution of Linux from scratch. We bought one at the store for $79 to test with. I'm hoping that when we look at the iSeries for Linux that the Red Hat install there will be very similar.
Why Linux on the iSeries is looking better now
Linux pricing is relatively better. We're actually using Red Hat distribution (not SUSE) today. Also, I understand SUSE has cut the price of the iSeries distribution to make it more in line with the pricing on other platforms. Additionally, iSeries server price/performance is getting better at the low-end.
I'm betting Linux performance on the iSeries has improved since we're not looking at the first release of Linux distributions for the Power PC architecture now.
Given our success to date using Linux, I'm interested in trying it in-house for other Web applications that need tighter integration with our existing RPG applications on the production iSeries server.
After the new announcements later this year, we'll consider getting a dedicated, low-end iSeries server as our in-house Web server to front end our application server. I wouldn't be surprised if it's very affordable.
Where are you on your Linux plans?
In hindsight, this was a great move for us to get started easily with Linux. Thanks to our partner's support, the Linux server has been rock solid for almost eight months running our production application. Now that we've successfully delivered Linux Web applications in our company, we can look at what our next phase with Linux should be.
With IBM's upcoming iSeries announcements on V5E3, it makes sense to look at implementing Web applications on Linux in house. Will there be problems making the transition? Sure, we'll have some. We know we need more Linux training. The mentoring approach our partner gave was productive, so we'll probably go back there first for help.
Second, our existing Linux environment can run on the iSeries Linux processor for sure WITH the possible exception of MySQL. There are Linux and AIX versions of MySQL but none specifically for iSeries. Options include trying the AIX version on iSeries Linux (that MIGHT work?) or compiling from source (not something we have the skills to do). Another option is to just buy IBM DB2 for Linux workgroup edition. It's affordable, performs well and has more functionality than MySQL for sure. It might be a more strategic database choice than MySQL.
Let me know what your Linux plans are. Also, tell me what your issues and challenges with Linux on the iSeries are -- if any. You can reach me at firstname.lastname@example.org.
About the author: The Value Manager is an IBM iSeries IT manager trying to make the right decisions to deliver better value for his company. He welcomes your comments and feedback. E-mail him at email@example.com.
- IBM, ISVs unveil 300 Linux and WebSphere apps for iSeries
- IBM expands Linux to more servers
- iSeries in the limelight at LinuxWorld