YOUR FEEDBACK
Working at Google vs. Working at Microsoft
Ray the Barbarian wrote: I worked at Microsoft Research, and I had an in p...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


Is Linux Enterprise Ready?
Making the move

Digg This!

Page 1 of 2   next page »

No doubt this topic has been debated to death; however, as I have a different perspective on this issue, I reckon it's worth writing down.

Over the past few weeks I've been involved with one of our local customers who, after a lot of consideration, has decided to make the jump to Linux. This was no quick decision, mind you, and was more than a "I'm tired of paying Microsoft for licenses" thing.

Why the Move?
Linux made its way into the organization when I chose to use it as a desktop system while I was still consulting for the customer as a DBA and J2EE developer. (Yeah, I know, a weird combo, but I've never liked scripting languages that much, so I chose Java/J2EE for my DBA tools.) I got pretty uptight when Eclipse and Windows (the company standard) decided to crash or hang on me every few hours, and I moved back to Linux.

As a DBA, you tend to get involved with all sorts of issues, mainly because in the case of a reasonably large or busy application, the database is normally the first thing that takes the blame in the case of a performance dip. On one of my investigations, I found that the database had trouble sending data back to the client applications (network waits). The networking guys were just laughing at me and said that the database shouldn't send so much data back. (!?!)

There were some variables involved: all of the servers (application, Web, database, mail) were hosted at a different site, and all traffic (including Web traffic) was being routed to (through) the offsite location (a local ISP). My theory was that some people were misusing the Web, as my investigation pointed out that HTTP traffic was extremely high.

This was really the first case in which I could implement Linux with a direct business benefit. After numerous consultations with the client (a Windows-only type), I decided to take an older PC that was sitting around in the storeroom, slap some SCSI drives into it, and install Mandrake Linux on it. My reasoning here was that Mandrake is a pretty friendly O/S for a Windows-skilled "LANnie" to pick up. I then went for Squid proxy and installed a Web reporting tool (squint) onto the "proxy server," as it was called. This allowed us to report, per user, the amount of time spent on Web sites, the amount of data downloaded, site details, etc. We could basically pinpoint exactly who was surfing, for how long, and what sites they were viewing. We had to change some of the client browser settings to point to the proxy (you change firewall rules to allow only HTTP traffic from the proxy server, and point all client browsers to the proxy).

We gathered statistics for two or three days, and our first report proved that my hunch was correct. Some guy in the admin department was using up a lot of our much-needed bandwidth by downloading, well, porn; some other people were using the Web for audio streaming, and others were downloading MP3s and games, etc. Now, in South Africa, bandwidth is expensive and slow. We only have one provider of leased or other telco lines (changing in 2006), and 3G isn't what it should be (yet).

We blocked some sites; the client issued some final warnings; and, by the next day, the system was flying again. I started using our "proxy server" for more things, to see how much we could get out of a simple PC (about 128MB RAM, 40GB disk space, 1 GHz Pentium, 3 CPU). We implemented CVS, an open source version control tool. We gave users in the operations department a home directory to back up documents. We set up some print queues.

The CIO was pretty happy with what we managed to squeeze out of the PC. The key thing to realize here is that Linux could significantly benefit the business by doing small things very well, at a low cost. The question was: Could it take over critical operations in the enterprise system?

To me, the best place for Linux today is with the most "invisible" part of the business: the data. A database should do one thing very well: store data and provide easy and efficient access to it. It doesn't need fancy GUIs. It doesn't need wizards, graphs, reporting, and other things associated with client applications. The database is a storage engine (with a few twists). Linux on the desktop hasn't been successful so far for many reasons, which I'll address in my next article. But for database, application, Web, and mail servers? If configured correctly (on any operating system), they tend to run in lights-off mode most of the time, or they should.

One of the issues in the environment was that you had to reboot the Windows servers pretty regular, especially the database server. The database engine uses a lot of resources and was pushing the box to the limit. I felt that a Linux O/S would be a better database server than Windows could be; you have more flexibility in tuning Linux, and I perceive the Linux O/S to be more stable than Windows, after years of working with both environments, especially for a RDBMS.

While we were contemplating the shift, the Windows O/S did its best to help us make a decision. One night, I received a call at 3 a.m. from the network admin and was told that they couldn't boot any of their servers. A virus had managed to corrupt the ntoskernel.dll file (or something like that), and the O/S had to be recovered. (At least backups were complete....) Something went wrong on the recovery. By the time I arrived on site, I was told that the O/S had to be trashed and we would have to revert to backup. We lost about four days, due to wait time for hardware and O/S configuration. After that, the writing was on the wall - we were going Linux, wherever we could. As a matter of fact, we already had two Linux servers in the rack: our integration server and a server that was responsible for client communications (generated PDF documents and mailed it out).

Even before this happened I presented a greater Linux strategy to the customer. Here is a high level:

1.  Move the database servers to Linux.
This is the lowest risk, because the users aren't affected at all, except maybe we expected more uptime and better scalability. In effect, we didn't anticipate too much of a performance boost - moving to Linux on the same 32-bit hardware wouldn't make too much of an outright performance change, but we were expecting a small improvement.

2.  Move the Web server (IIS) to Apache or Tomcat.
Most Web servers in the world run Apache, and it gets rid of having to pay licenses for a commodity. Another thing to mention is that the customer's enterprise application runs a J2EE Webapp, and it was felt that we should standardize the corporate Website to something like JSP, which could be supported by more than one person and can run on multiple environments.

3.  Move the application server to Linux.
This should've been easy, but it wasn't. The early application developers used the PowerBuilder DataWindow in their J2EE app, and we weren't convinced that the move would be seamless. So we left this until last.

4.  Convert all remaining client/server apps to thin client, browser-based apps.
A browser-based app would mean that the end users could use any OS and browser they felt comfortable with. Also, it puts the business in a position to test out Desktop Linux, and do this at their own pace. Why would they want to? The most significant savings to be made out of a corporate Linux shift is at the desktop level for application users. Power users may still want to run Windows, but for the person who comes to work in the morning, switches on his PC, and fires up his e-mail client and the application he requires to do his work, he could use any operating system - Mac, Linux, Windows, Solaris.

Even better, you probably don't need the "enterprise" version of Linux at the desktop level, meaning that the O/S won't cost you a cent. Now, calculate this for an organization with 500 users. And remember to add up Office and any other Windows license, etc.

5.  Desktop Linux, where it makes sense.
More of the above. There are some good articles on the Web from various authors who point out that most Windows fans are really Office fans. Microsoft Outlook is the de facto standard for organizations because of the integrated collaboration. However, the largest percentage of employees in a standard-sized organization probably use about 15% of Office. It makes sense for these users to try out OpenOffice. The tactic here was to install OpenOffice on Windows, swap the mail client to something like Thunderbird, and do proper UAT to see how that goes.

6.  Mail servers.
Depending on the business and how the organization uses the Outlook Calendaring (if they use Outlook at all), this could be an easy or difficult shift. In this case, about 30% of the users in the organization uses Outlook with calendaring, so it's not practical yet. How do we do this? In this case, it doesn't really matter. Windows and Linux can co-exist pretty easily in the environment, and I would never advocate a "rip and replace" strategy. The best strategy we can think of now is to go for a CRM (the client needs and wants to implement CRM) that integrates collaboration. First choices for now: SugarCRM and possibly Compiere.

The customer was ready for phases one, two, and three. When we started strategizing the Linux shift, an interesting question came up, and it's one that comes up quite a lot now: While we're doing this move, how about investigating 64-bit architecture? Surely this will also make a massive difference? Our initial test showed that we would get a 10-15% performance increase by using our same hardware, but that's fairly insignificant. Sooner or later we would run into hardware limitations. The Linux shift would extend the use of the current hardware to about eight months, and this seemed to be a short-sighted strategy.

The customer asked what was needed for a "significant" performance improvement at the database level, and how can we ensure that our hardware lasts us for the next five years? The key thing about a database is that it's only as fast as the amount of I/O requests it can process. Generally, disk writes and reads are very expensive and slow I/O operations. To offset this, you throw RAM at the problem and increase the database cache so that it doesn't have to do as many direct disk reads and writes. There's a lot more to this, but that's the basic rule. This is especially true if you are sure that the database engine has been properly configured to use the machine resources efficiently, and that all of the queries thrown at the server are optimized.


Page 1 of 2   next page »

About Rudi Leibbrandt
Rudi Leibbrandt works at Sybase South Africa managing the Sybase development toolset.

LATEST LINUX STORIES
Cloud Computing Expo - Novell Virtualization, Google, HP and Wind River
Novell says it's going to 'simplify' pricing and discounts on SLES for mainframes for the rest of the year. That means it's going to cut prices by 33%-47% by offering a three-year subscription for the price of a two-year subscription or a five-year subscription for the price of a three
Adobe's Kevin Lynch and Microsoft's Scott Guthrie to Keynote AJAX World RIA Conference & Expo
Two of the biggest launches in Rich Internet Application history took place in 2007/2008 when Adobe launched AIR 1.0 in February '08 and Microsoft launched Silverlight (September '07). At the 6th International AJAXWorld RIA Conference & Expo in October SYS-CON Events is delighted to be
Linspire Collapses into Xandros
Xandros acquired Linspire's Linux assets after Linspire changed its name to Digital Cornerstone. With the acquisition Xandros CEO Andy Typaldos has been telling the press, 'Xandros is already the third-largest Linux company in the world, and ... we may already be the largest private Li
Red Hat Delivers on Linux Automation
Red Hat announced advancements that extend the Company's Linux Automation strategy by providing expanded capabilities and incorporating broadened community involvement for secure management of both users and systems across virtual and physical enterprise infrastructures.
Invitrogen Standardizes on SUSE Linux Enterprise From Novell
Novell announced Invitrogen has selected SUSE Linux Enterprise as the core operating platform to standardize and virtualize the company's servers. A global provider of essential life science technologies for research, production and diagnostics, Invitrogen conducts business in more tha
Reiser's Lawyer Says He's Nuts
On Monday, nine days ahead of his sentencing on July 9 for the murder of his wife, William DuBois, the lawyer for ace Linux programmer Hans Reiser, filed a brief with the court saying - for the very first time since this case began - that under penalty of perjury that he think Reiser '
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE