Language Selection

English French German Italian Portuguese Spanish

Open Source to the Rescue

Filed under
OSS

Who says open source can’t measure up to commercial software for mission-critical applications? Far from being a mere quick fix or low-cost alternative, open source software is helping real-world companies solve their most pressing IT problems.

Perhaps no more dramatic example exists than pioneering social networking site Friendster. When Friendster launched in March 2003, no one imagined that within two years the site would reach 60 million page views per day.

Unfortunately, as the site’s traffic increased, so did its performance issues. The problem, in essence, was that Friendster had unexpectedly become a phenomenon.

“When I arrived it was a crisis point — absolutely, all day, every day,” says Chris Lunt, Friendster’s director of engineering, who joined the company in the summer of 2003. At that time, he says, Friendster’s architecture was nearly breaking beneath the traffic load.

“[Friendster] had taken off much faster than anyone could anticipate,” Lunt says. “We had our millionth user [when] the site had been up only six months. The thing was overwhelmed.”
Friendster’s performance problems needed to be solved, fast. Rather than stick to the paved road of commercial software, however, the company’s engineers took a major risk by betting on the open source application stack known as LAMP, which consists of — and is named for — the Linux OS, Apache Web server, MySQL database, and PHP (PHP: Hypertext Preprocessor) scripting language.

Fortunately, that gamble paid off. LAMP not only allowed Friendster’s engineers to scale the site’s architecture to address its unwieldy growth, but along the way, they implemented creative configurations that brought the LAMP technologies themselves to a new level.

In founding Friendster, Chairman Jonathan Abrams sought to create an online network through which friends could connect with friends. When it launched, the service was powered by a Java back end running on Apache Tomcat servers with a MySQL database. That original architecture was soon crushed by the coming load of traffic.

During the summer of 2003, Friendster was plagued by performance issues. Often, the millions of users pounding the site where unable to access it, and when they could, results were inconsistent from page to page. User profile changes failed to show up because of lags in the distributed architecture, and messages were dropped.

“If you had a huge network [of friends], you couldn’t search it because just building your list and comparing to the network took longer than the browser would allow you to wait,” says Dathan Pattishall, senior database and software engineer at Friendster. Pattishall joined the company in November 2003 to tackle the site’s database issues.

Tomcat and Java weren’t the problem so much as the fact that the site’s back end was not architected to accommodate millions of users. Friendster had grown to such a huge extent that simply throwing more hardware at the problem wasn’t enough. The site had to be re-engineered to make better use of the hardware and applications.

Of course, that was easier said than done. At the time, Friendster’s IT team consisted of two engineers, and the challenges they faced were daunting.

Full Story.

More in Tux Machines

Ubuntu Touch to Get Improved Desktop Mode with Next Update

Canonical is preparing a major new update for Ubuntu Touch, but it will take a while until it's going to be ready. From the looks of it, the devs are preparing some interesting improvements and updates. Read more

Parsix GNU/Linux 7.0 Will Reach End of Life on June 14 to Make Room for Parsix 8.0

The Parsix Project has recently announced that their Parsix GNU/Linux 7.0 (Nestor) distribution will reach the end of its life support in the coming weeks, urging users to upgrade to Parsix GNU/Linux 7.5 (Rinaldo) as soon as possible. Read more

Leftovers: Software

  • 3 Open Source Python Shells
    Python is a high-level, general-purpose, structured, powerful, open source programming language that is used for a wide variety of programming tasks. It features a fully dynamic type system and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl, avoiding many of the complexities and overheads of compiled languages. The language was created by Guido van Rossum in 1991, and continues to grow in popularity.
  • Google Chrome 44 (Dev) Brings Interesting New Features
  • CodeWeavers CrossOver 14.1.3 has been released
    I am delighted to announce that CodeWeavers has just released CrossOver 14.1.3 for both Mac OS X and Linux. CrossOver 14.1.3 has important bug fixes for both Mac and Linux users.

today's leftovers

  • Consumers Continue to Buy Chromebooks as Secondary PCs, Enterprise Still Uninterested
  • Video: LXD containers vs. KVM
    Since I'm such a big container fan (been using them on Linux since 2005) and I recently blogged about Docker, LXC, and OpenVZ... how could I pass up posting this? Some Canonical guys gave a presentation at the recent OpenStack Summit on "LXD vs. KVM". What is LXD? It is basically a management service for LXC that supposedly adds a lot of the features LXC was missing... and is much easier to use. For a couple of years now Canonical has shown an interest in LXC and has supposedly be doing a lot of development work around them. I wonder what specifically? They almost seem like the only company who is interested in LXC.. or at least they are putting forth a publicly noticeable effort around them.
  • Ubuntu's LXD vs. KVM For The Linux Cloud
    LXD is usable with Ubuntu 15.04 albeit not many have yet fully experimented with this new technology from Canonical given its early state. The LXD Linux container hypervisor allows for rapid provisioning, very fast performance, a REST API, and other functionality. If you're wishing to learn more about LXD, this week at the OpenStack Summit in Vancouver was a talk about LXD vs. KVM for Linux hypervisors.
  • Cloud Driving HP's Server Business Forward
    HP announced is second quarter fiscal 2015 earnings on May 21, with company executives enthusiastic about the company's upcoming split, and continued prospects in the cloud.
  • The Latest Linux Kernel Git Code Fixes The EXT4 RAID0 Corruption Problem
    An EXT4 file-system corruption problem was uncovered with Linux 4.0 that turned out to be an MD RAID0 issue with the Linux kernel in the latest stable series. This RAID corruption issue has now been fixed in the latest kernel Git code.
  • Interview with Mary Winkler
    LOVE the blending tools. I’m used to those of Paint Tool SAI, and finding a program whose brushes are far more customizable and can do more is digital art heaven. Especially an open source one!
  • Reminder: Evolving KDE survey milestone on May 31st
    Evolution is a powerful concept and tool. When harnessed properly, humans have been able to tailor and adapt crops and domesticate animals. We’ve been able to grow the Dutch unnecessarily tall and create beautiful and consequence-free theme parks as shown in the Jurassic Park documentary series on the BBC. However, when not monitored closely or left to nature’s own devices, the result is the terrifying land based sharks that have caused such recent devastation across most of Australia.
  • GNOME Shell It is!!
    It’s been a while since my last post, I was busy with my university exams and didn’t get much time to work on my GSoC project. But during whatever time I got I tried to get myself familiar with GNOME Shell coding style and get a hang of the way it works, since GNOME Shell is the main module I will be working with in this project. But things weren’t as simple as I initially thought them to be. It has been a struggle trying to find out some structured documentation for GNOME Shell code-base mainly the JavaScript part.
  • Attention Fedora 22 prerelease users
  • Fedora 21 chrooted on an aarch64 Nexus 9
    A while back I bought a Nexus 9, mainly because it has a weird processor that emulates a 64 bit ARM (aarch64). Google seem to have abandoned this platform entirely, just 6 months after I got it, so fuck you too Google. Anyway …
  • Meet SparkyLinux, a Debian-based Linux distribution
    SparkyLinux features customized lightweight desktops (like E19, LXDE and Openbox), multimedia plugins, selected sets of apps and own custom tools to ease different tasks.
  • Is Canonical going to have an IPO?
  • Mozilla shifts gears: $25 phones out, Android apps in
  • Linksys NSLU2 adventures into the NetBSD land passed through JTAG highlands - part 1
  • GCC 6 Gets Support For The IBM z13 Mainframe Server
    The latest GNU Compiler Collection code now has proper optimization targeting/tuning support for the IBM z13.
  • News for open source virtual reality, popular Linux game distros, and more