Unless you’ve been stuck on a time-traveling island for the past few years, you can’t fail to have noticed that the hype behind such “next-generation” approaches as SOA, Web Services and REST has been simplified under the banner of cloud computing. The danger is that those who have traveled the well-worn Hype Cycle will simply discard this latest set of buzzwords (e.g., Platform As a Service and Infrastructure as a Service) as just another example of analyst-driven or vendor-driven marketing. However, the reality is significantly different. As with the other “hype-driven” terms mentioned previously, cloud has been incubating within the industry and academia for many years. Its roots can be traced back beyond grid computing (data grids as well as process grids) through ubiquitous computing and beyond. For example, in the early 1990s the European Union was funding research projects into utilizing a network of PlayStation One’s as a cheap pool of processors that could host services (typically ones needed graphical processing capabilities) on demand.
So just what is cloud and why is Red Hat a key player? To answer the first question it sometimes seems easier to try to catch a cloud! Because of its background, there tend to be several different definitions of cloud computing. But in general we shall assume that cloud represents a way to provision an array of Web-based services aimed at allowing users to access a range of capabilities on a pay-as-you-go basis, where the hardware and administrative investment is met by the cloud provider. This is in stark contrast to the traditional methods, where the end user had to provision and manage the hardware and software required to execute these services. With cloud comes the ability to give to end users across the world the illusion of low-entry-barrier, virtually infinite compute power at a fraction of the cost (in fact they only pay when they use this power and no longer need to be concerned about hardware investments languishing idle for most of the time.)
From an IT perspective, this is incredibly important. Very few companies can afford to buy all of the hardware they need, let alone administer it 24×7, especially as they grow. Peaks and troughs in usage make it difficult to know precisely what hardware is required to obtain an optimal level: buy too much and it remains unused a lot of the time; buy not enough and you cannot cope with additional demand. Cloud offers a solution to this that allows IT to invest in their own hardware and “plug in” to the cloud for additional on-demand requirements. In fact when people talk about the cloud today they are typically referring to public clouds or external clouds, i.e., those that exist outside of the corporate firewall. However, private clouds or internal clouds (within the firewall) are more likely to be the biggest users of cloud services for very important reasons: security and trustworthiness (where your data resides is often more important than how you access it). That’s not to suggest public clouds are not useful: far from it as has already been mentioned. But cloud users who are only interested in public clouds are likely to be the minority as adoption grows. The integration of public and private clouds is inevitable.
As with real (weather) clouds, clouds don’t just pop into existence like some exotic particle in physics. They need the right set of circumstances to come together in order for them to exist. At a minimum they need the right low-level infrastructure (VM and operating system) to support clustering of machines that have to be able to cope with arbitrary service requirements (this is often called Infrastructure-As-A-Service). Then of course you’ll need a way of developing applications for the cloud (Platform-As-A-Service). From a Red Hat/JBoss perspective we are working with many others in driving the understanding, adoption, interoperability and standardization of cloud computing at all of these levels. When you deploy on a Linux-based cloud, chances are that you’re using Red Hat Enterprise Linux. When you deploy your POJO’s into a cloud, you may well be using JBoss Application Server. As with SOA, open source is rapidly becoming key to opening up the cloud to everyone and not simply keeping it as the domain of the select few. Furthermore open source infrastructure technologies for cloud computing offer transparency and view of code and APIs in an effort to ensure strong interoperability from the start – no hidden APIs, no traps. Red Hat is uniquely positioned to help drive this adoption, with components that are needed at all levels of the cloud. For example, the work we’re doing around cloud-based data caching with Infinispan, or the high-performance messaging with Red Hat Enterprise MRG (of which JBoss Messaging is now a key element). In the future we expect to make more cloud announcements as we expand our vision and continue to develop these components into solutions in collaboration with our partners. Open source is a natural fit for this new growing market area.
Additionally, we expect that other open source projects and suppliers will continue to develop cloud technologies to break down the industry’s current barriers. We are inviting participants across the industry to join us in presenting new ideas and emerging open source cloud technologies at the Open Source Cloud Computing Forum that Red Hat will host on July 22, 2009. Submit ideas to present here.