Are you feeling a bit cloudy about cloud computing? You are not alone if you are. In fact, even computer geeks and information technology (IT) experts all over the world don't seem to understand what this new phenomenon is all about.
Trust me, it's something good. Something that could save your business tons of money and improve your turnaround time if you are in the business of rolling out software applications. For a start, the "cloud" in cloud computing could conveniently be taken as the Internet. So, essentially, cloud computing is "computing on the internet." That is, from your desktop, laptop, or smart phone, you log into some far-away website and start "computing," which means running some applications or developing yours.
The cloud infrastructure is essentially that of a data center. You could actually visualize cloud computing as the third phase of Internet development, representing what the experts call the peer-to-peer relationship between the browser window (of your desktop, laptop, or smartphone) and some webserver located elsewhere (i.e., in the cloud or internet). Gone were the days when your browser window was basically a "dumb terminal," without much intelligence. In those days, all it could do was display information, such as the temperature in New York on a cloudy day. This was basically the first phase of the internet. Later on, you could actually ask the webserver to do some stuff for you, although not a whole lot. For instance, you could make some payments and ask that a flight ticket be sent to you. But then the webserver was still in control. In the peer-to-peer relationship, your browser can do a lot more than receive instructions from the webserver, moving toward being an equal with the webserver, in the sense that you can send out elaborate instructions with a bunch of data to the webserver, to instruct the server to carry out some pretty neat stuff for you.
Depending on the scale and the degree to which the cloud allows other people access, we could have private clouds, public clouds, and hybrid clouds (private plus public). You can do one of three things in a cloud. The first is "Infrastructure as a Service (IaaS)," whereby you upload your application to the cloud site and run it there for a fee, using the hardware (servers, storage capacity, network bandwidth, etc.) in the site. The second mode of usage, "Platform as a Service (PaaS)," allows you to log into the cloud site and use software tools in the site to build your own applications. This obviously enhances quick roll-out of your software. In the third utilization mode, "Software as a Service (SaaS)," you access the cloud site in order to use available software (developed by others) on the site. The cloud supplier, not the user, is responsible for the hardware that delivers this service, and also for the creation, updating, and maintenance of the software. In all cases, you pay only for what you use.
Characteristics of Clouds
In my experience, not everyone who says they operate a cloud facility actually does so, in the strict sense of the technology. To recognize a cloud deployment, look out for the following characteristics. Clouds are, of course, web-based, and usually involve a large number of servers (machines), which are built from proven commodity parts. As an example, the word is that Google's cloud has at least 600,000, and perhaps one million webservers, dispersed over at least twelve geographical locations in the world. The microprocessors in cloud servers are typically of the x86 (generic PC) variety and each server is virtualized to hold anywhere between 8 to 256 users or more, through the use of multiple cores per CPU and a couple of CPUs per machine. Also, cloud computing involves a business model that is characterized by elastic resources that are available on demand to whomever needs them, without any special qualifications required of the user.
The economy of scale brings the cost of computing on the cloud to extremely low rates. For example, Amazon charges approximately N13.6 an hour per server to run on a Linux server and N19.2 to run on a Windows server. Microsoft charges N20 per hour per server, while Rackspace charges N2.40 per hour per server on the Linux server. (Of course, additional charges apply for other things like load balancing, automatic scaling of resources, size of transferred data, use of some databases, etc.) The economy of scale comes from multi-tenancy (i.e., the large number of users - in the hundreds of thousands). Finally, cloud installations usually achieve fault tolerance through software, not hardware. Many institutions, especially in the United States of America, such as Cornell University, University of Illinois at Urbana-Champaign, University of California in San Diego, and University of Texas at Austin, have built out massive supercomputers from a cluster of small machines. However, those supercomputers would not qualify as cloud installations because they lack a few of the characteristics discussed above.
The Nigerian Scenario
A few companies in Nigeria are catching the cloud fever. However, virtually all the exposure to the cloud in Nigeria is currently restricted to placing applications in cloud installations abroad (mostly in the USA) and having customers (usually in Nigeria) logging into those clouds to use the software. AppZone Limited in Lagos currently houses its application software with the Go-Grid cloud (USA), where customers gso to use the software. TTC Technologies (Nigeria) Limited, in collaboration with the Obafemi Awolowo University (OAU) in Ile-Ife, is the only Nigerian company that I know of that is actually building (private) clouds, by carrying out the requisite cluster computing tasks. Note that only a handful of companies worldwide have gained the knowledge to build out very large clusters for general public use.
Professor Ladeinde teaches at the Department of Mechanical Engineering, Stony Brook University, Stony Brook, New York, USA. He is an Associate Editor of the AIAA Journal, the flagship journal of the American Institute of Aeronautics and Astronautics. Starting today, Dr. Ladeinde will be writing a weekly column in this section.