written by: allychevalier•edited by: Michael Dougherty•updated: 10/5/2009
With the rise of the Internet comes the increase of cloud computing, making virtually every computer service available online for anyone to use. But how does Linux take advantage of this paradigm? This article provides an overview.
slide 1 of 6
What Is Cloud Computing?
First, a quick overview of what cloud computing precisely entails. Basically, cloud computing is a paradigm that allows a variety of resources to be accessed via the Internet. This can anything from in-browser office software to renting servers. Everything is virtualized to the greatest extent possible.
This means that you don't need to necessarily own the server, the software, storage space, or even have physical access to it to use it. All of these are services that can be provided via the Internet for a small fee, which is often more affordable. There are many nuances to cloud computing; check out this IBM article for a detailed analysis of how cloud computing works.
slide 2 of 6
Advantages of Linux for Cloud Computing
Linux has numerous advantages to add to the cloud computing paradigm. Instead of using inflexible proprietary software, there is a myriad of different distros of Linux that can all be customized to fit whatever the cloud computing need. Think of the difference between a fenced-in sandbox in which you can only build a limited number of things with the tools provided to you by the Almighty service provider, and an endless beach where you can bring in whatever tools you want.
slide 3 of 6
Infrastructure as a Service
Your typical cloud standard for a platform—or for that matter, most of the Internet—consists of a solution stack known as LAMP, which stands for Linux, Apache, MySQL, and one of a few scripting languages, including Perl, PHP, and Python.
Linux is an incredibly powerful OS for this purpose, really the OS of preference when it comes to cloud computing infrastructure. This includes raw servers and storage.
Amazon, for instance, actually runs a cloud computing-style service called Elastic Compute Cloud, or EC2 where one can pay for whatever amount of server, storage and network capacity you need and also provides you with many in-browser tools for managing all this. A number of Linux distros are accommodated with EC2, including Ubuntu, Red Hat, Debian OpenSolaris, Fedora, openSUSE, and more—all Linux options being significantly cheaper (and significantly more popular) than their Windows counterparts.
Some other examples include Eucalyptus Project, which provides for an open source infrastructure for cloud computing, and Zimory, which caters exclusively to Linux operating systems.
slide 4 of 6
Platform as a Service
Often combined with the above are platform as a service applications. This includes operating systems and specific applications and tools. Included in this are packages called “middleware", the tools that are used to build web applications for use in cloud computing. These include everything from Apache and MySQL to Ruby On Rails and Perl—all open source, and closely associated with Linux. Additionally, there is definitely a bias towards Linux in the choice of operating system for cloud computing systems, not just for servers.
slide 5 of 6
Software as a Service
While there aren't any examples of Linux-specific software that is available as a service and not just as a download (or if there are, do share!), there are plenty of these so-called “web apps" that are based off of Linux and Linux-related tools, such as those discussed in the above section.
There are some fears that cloud computing may actually kill off Linux, and for that matter, the whole open source movement. Why? The argument is that, because both cloud computing and the open source movement cater to the same market: those who wish to reduce costs and reduce dependence on any one vendor. Check out this article for a more detailed exploration of the fears. More likely, however, is that the two will just become increasingly wedded together.
Also, some people question that the sheer openness of Linux might actually be bad for cloud computing. There are no real established standards. This can make it exceedingly difficult for clouds to communicate with each other as technologies evolve and diverge. However, cloud computing services from a variety of companies currently use basic web standards, from programming languages to the LAMP stack. This fear is likely unfounded.
All that being said, cloud computing is an emerging paradigm, and new ideas and models are appearing all the time. Keep a close eye on cloud computing in the future, as it is likely to grow and evolve greatly from year to year.