Tuesday, June 2, 2009

On Cloud 2.0

Today seems like an era of highly cryptic, though actively spun words. In order to be able to maintain valid small talk in the circles bold enough to assume themselves IT savvy, any self-respecting person needs to be aware of the necessary technical vocabulary entailed – the system is relatively closed as of yet, but there’s no limit to perfection, as they say. The must-haves within such a technical inventory include, but are not limited to, (a) Web 2.0, (b) agile, and (c) cloud computing. These are pretty much enough to keep the buzz going, but, as it often happens when things come to buzz, no one is one hundred per cent capable of locating the sound source. The distinguishing characteristic shared by the must-haves is their extreme conceptual looseness – a tendency actively augmented by the blogosphere (to ensure complete unbiasedness, present company will probably have to be included, despite all the best intentions). A randomly selected average netizen will readily expand on the essence of, say, Web 2.0, and the greater overall flexibility it brings with itself in the web, and I must say I’m happy with that, but it somehow seems to me that the flexibility substantially consists in the approaches to defining the term.


On the list of my preferences among the above buzzwords, cloud computing is probably closest to the top, partially due to the term’s rich metaphoric potential. Cloud as a metaphor used to refer to Internet as a whole is now safely trite, but there’s the excitement of finding a silver lining or assigning a numeric value to it (seven might work, given the lovely Windows connotation). Here it should be mentioned that it’s not just me who is seized by the sheer excitement of it (see an Office Offline comic strip, for instance).


The Wikipedia definition for cloud computing positions it as “is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet”. Definitions from elsewhere vary from a version of utility computing to anything that is used out there in the Net, including outsourcing of any kind, come to think of it. Related, yet not identical, concepts include grid computing and autonomic computing, although here the confusion is relatively easily rendered negligible by the underlying narrowness of these counterparts.


Most of the variations emerge when it comes to the cloud versus utility distinction. Even more than that, this leads to the not-so-easy task of classifying the types of services available with cloud computing.


Basically, cloud computing is all about boosting computing capabilities and capacity with little to no upfront investment. This means that a certain company may get its data storage and programming needs satisfied by tapping into cloud computing services. The billing is most commonly used on the amount of resources consumed (hence the utility part of the name). Since the payments can also be made through subscription, some authors feel reluctant completely merging the terms of cloud computing and utility computing, although many a tech guy feels perfectly comfortable with that.


Moving on to the much-dreaded classification, the principle types singled out across various sources are Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), Infrastructure-as-a-Service (IaaS), as well as Managed Service Providers (MSPs) and web-based end-user services. Again, it needs to be noted that there’s a great deal of overlapping to these types, so the more or less convenient way of outlining the scope of the services is referring to the major service providers.
By this virtue, what is offered by Amazon.com is known as utility computing, which is providing storage and virtual servers set up, accessed and configured on demand. Thus, Amazon’s Elastic Compute Cloud (EC 2) allow users to acquire additional processing power, and S3 – Simple Storage Service – is the option to meet data storage needs. Similar sets of services are available with IBM and Sun.


Next, Google App Engine and Force.com are associated with Platform-as-a-Service, which essentially implies delivering development environments as a type of service. The major pitfall here is that a developer is not granted full control over the development process. Thus, interoperability and portability may turn out problematic.
Google Apps, as well as Zoho Office, is also an example of web-based end-user services, which offer functionality principally associated with desktop applications only.
Additionally, there are peer-to-peer cloud-based networks, such as Skype and BitTorrent.


On the whole, although the buzz is getting heavier as, in the squeezed circumstances of an economic downturn, companies are seeking to reduce costs by any means available. What is also a significant contributing factor is probably the tendency of surrendering a trend gaining momentum. While bloggers argue their approaches to the cloud computing phenomenon, the nebulous substance is unfolding in its due course, with companies, large and small, trusting their non-critical data to the cloud. It seems that a warning voiced back in 2008 by Richard Stallman, the non-proprietary software advocate (relying on cloud computing “is worse than stupidity; it’s a marketing hype campaign”) will by and large remain on the margin on the computing atmosphere.

1 comment: