Cloud Computing: Coming out of the fog

Cloud computing is a term that has been around for a while but has been storming into the mainstream lexicon again, although with a lot of confusion about what Cloud Computing really means. Many vendors are jumping into Cloud like solutions and are labeling every new activity as somehow related to cloud computing. This paper explores some aspects of what makes a cloud, and distinguishes cloud computing from provisioning, utility computing, application service providers, grids, and many other buzzwords, primarily by focusing on the technology components that make up a cloud. Further, this paper will briefly explore the factors that have made cloud computing a popular topic, including the current availability of Linux R ©, the advances in some of the virtualization technologies, and some interesting evolution in terms of provisioning and virtual appliances, and, of course, some of the current providers of technologies that are debatably clouds today. This paper also makes a projection as to the rise of a new era of Internet scale computing which will be enabled by the cloud and identify some of the technologies that will need to further evolve to make cloud computing as ubiquitous as the Internet. 1 Clouds everywhere! Or is it just fog? You’ve seen the buzz by now. Cloud computing is it. The next big thing. The future of computing. There will be only five clouds in the future. Computing power is on the verge of being as pervasive as the network bandwidth on the Internet. But, wait a minute. What exactly is a cloud, you might ask? And, the answers are a bit more foggy. Some of the first answers point to Google. There! That’s a cloud! Look at Amazon’s EC2—the Elastic Compute Cloud—it has the word cloud in its name, it must be a Cloud, right? Microsoft must have a cloud, right? Or, another favorite response: We’ll know it when we see it. Probably the best way to start to understand what cloud computing might actually mean is to look at some of the existing technologies that are not cloud computing. There are quite a few of these, and all have some distinct properties of their own. As it turns out, cloud computing encompasses a number of the properties from these technologies which is probably why they are so commonly confused. Some of the alternate technologies covered here include utility computing, grid computing, cluster computing, and distributed computing. We’ll also look at Application Service Providers (ASPs), Software as a Service (SaaS), and Hardware as a Service (Haas). Later, this paper will also briefly show the relationship between cloud computing and Software Oriented Architecture (SOA). After examining the technologies that exist distinctly from clouds, this paper examines the challenges in the industry are driving a push towards cloud computing, and how cloud computing evolves from a number of existing technologies. Cloud computing expands beyond these current properties, usually by drawing on the best techniques present in those pre-existing technologies. Clouds are often seen from a user perspective, but creating, managing, and ultimately implementing a number of the advanced capabilities of clouds is a key topic discussed later in this paper. Finally, we’ll provide some insights on the evolution of clouds, where we really are with respect to clouds in the industry, and when cloud computing will be as prevalent as the Internet.