Welcome!

Linux Containers Authors: Liz McMillan, Yeshim Deniz, Elizabeth White, Pat Romanski, Zakia Bouachraoui

Related Topics: Linux Containers

Linux Containers: Article

Is Linux Enterprise Ready?

Making the move

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.

More Stories By Rudi Leibbrandt

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

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
Cloud computing delivers on-demand resources that provide businesses with flexibility and cost-savings. The challenge in moving workloads to the cloud has been the cost and complexity of ensuring the initial and ongoing security and regulatory (PCI, HIPAA, FFIEC) compliance across private and public clouds. Manual security compliance is slow, prone to human error, and represents over 50% of the cost of managing cloud applications. Determining how to automate cloud security compliance is critical...
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
"MobiDev is a Ukraine-based software development company. We do mobile development, and we're specialists in that. But we do full stack software development for entrepreneurs, for emerging companies, and for enterprise ventures," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Recently, REAN Cloud built a digital concierge for a North Carolina hospital that had observed that most patient call button questions were repetitive. In addition, the paper-based process used to measure patient health metrics was laborious, not in real-time and sometimes error-prone. In their session at 21st Cloud Expo, Sean Finnerty, Executive Director, Practice Lead, Health Care & Life Science at REAN Cloud, and Dr. S.P.T. Krishnan, Principal Architect at REAN Cloud, discussed how they built...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
JETRO showcased Japan Digital Transformation Pavilion at SYS-CON's 21st International Cloud Expo® at the Santa Clara Convention Center in Santa Clara, CA. The Japan External Trade Organization (JETRO) is a non-profit organization that provides business support services to companies expanding to Japan. With the support of JETRO's dedicated staff, clients can incorporate their business; receive visa, immigration, and HR support; find dedicated office space; identify local government subsidies; get...
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...