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

Programming: Pyenv, GitHub, LLVM

  • Pyenv – Python Version Management Made Easier
    You’re a programmer who wants to test your python code on multiple different Python environments. What would you do? Install a specific python version and test your code and then uninstall that version and again install another different version and test code? No, wait! It is completely unnecessary. Say hello to Pyenv , an useful utility to manage multiple Python versions, simultaneously. It made the python version management easier than ever. It is used to install, uninstall and switch to multiple different versions of Python.
  • GitHub Predicts Hottest 2018 Open Source Trends
    As the world’s largest repository of open source projects, GitHub is in a unique position to witness what developers are up to. GitHub staff recently sifted through the site’s 2017’s data in order to identify top open source trends they predict will thrive in 2018.
  • What is LLVM? The power behind Swift, Rust, Clang, and more
    New languages, and improvements on existing ones, are mushrooming throughout the develoment landscape. Mozilla’s Rust, Apple’s Swift, Jetbrains’s Kotlin, and many other languages provide developers with a new range of choices for speed, safety, convenience, portability, and power. Why now? One big reason is new tools for building languages—specifically, compilers. And chief among them is LLVM (Low-Level Virtual Machine), an open source project originally developed by Swift language creator Chris Lattner as a research project at the University of Illinois.

Security: Reproducible Builds, Windows Phones, Debian, Mageia Identity Security Breach and More

  • Reproducible Builds: Weekly report #147
  • Windows Phones Get Cumulative Update KB4074592, PDF Support Now Broken
    Just when you thought Windows 10 Mobile is dead, here’s Microsoft rolling out a new cumulative update for the platform as part of its February patching cycle. Windows 10 cumulative update KB4074592, which is also released on PCs running the Creators Update (version 1703) – phones have never received the Fall Creators Update, comes with little changes for mobile devices, though it does something that many users might notice. Microsoft doesn’t provide a separate change log for mobile and PC, so the release notes that you can find at the end of the article include all the improvements and security fixes that Microsoft included in KB4074592 for both platforms.
  • Time to Join Extended Long Term Support for Debian 7 Wheezy
    Debian 7 Wheezy LTS period ends on May 31st and some companies asked Freexian if they could get security support past this date. Since about half of the current team of paid LTS contributors is willing to continue to provide security updates for Wheezy, I have started to work on making this possible.
  • Hackers Infiltrated Tesla to Mine Cryptocurrency
    While Elon Musk was busy planning how to launch his Tesla Roadster into the depths of space last month, a hacker was silently using Tesla’s computing power to mine an unknown amount of cryptocurrency. The unidentified attackers found their way in through cracks in Tesla’s cloud environment, according to a report issued by RedLock security on February 20. The miners were able to gain access via an unprotected Tesla Kubernete console—an open source system that manages applications. Included on this console were the access credentials to Tesla’s Amazon Web Service. Once they obtained access to the console, the attackers were able to run scripts that allowed them to stealthily mine cryptocurrency.
  • Hacking at EPFL Toastmasters, Lausanne, tonight
    ...remember to turn off your mobile device or leave it at home, you never know when it might ring or become part of a demonstration.
  • Mageia Identity Security Breach
    A user was able to gain access to our LDAP database and has published the email addresses and names, as well as apparent password hashes, of anyone who has signed up to identity.mageia.org. However, the published hashes do not match those on record, and all capitalisation has been removed, so it is not clear that the actual passwords have been compromised. All of the passwords have since been reset as a security precaution. New rules have been added to prevent access to the LDAP server. The sysadmins are investigating how the fields were read, as the configuration should have specifically prevented this. The passwords stored by the Mageia LDAP server are hashed and salted, meaning that the full decryption of the password, if they have actually been leaked, into a human-usable format would require significant computing power for safe and complex passwords.

today's howtos

Canonical Donates Ubuntu Phones to UBports to Continue Ubuntu Touch Development

UBports devs announced today on Twitter that Canonical sent them a few old Ubuntu Phone devices to continue the development of the Ubuntu Touch mobile operating system. Now that Canonical has ceased the development of its revolutionary Unity 8 user interface for the Ubuntu Touch mobile operating system used on smartphones from Meizu and BQ, the company decided to donate several devices to the UBports community. UBports is recreating Ubuntu Touch, maintaining, updating, and modifying its code to offer the world a free and open source mobile operating system for those who want to use something else than Android, iOS, and what else is still out there. Read more Also: Ubuntu Server 18.04 LTS Will Default To The New Installer The New Ubuntu 18.04 LTS Server Installer