Cloud Zone is brought to you in partnership with:

Nick Maiorano is an independent consultant with 20 years of experience as a software developer and architect. He specializes in building high performance server-side applications in Java as well as providing technical leadership. He has worked in the telecom, financial and aerospace industries and also co-founded a web-based start-up. Nick is a DZone MVB and is not an employee of DZone and has posted 8 posts at DZone. View Full User Profile

The Cloud: What it is and What it ain't

01.27.2011
| 6319 views |
  • submit to reddit
Cloud computing is a software engineering revolution. But what about all that buzz: are you excited, confused or annoyed? The cloud is first and foremost a blend of ideological and technological movements converging at the right place and time (which makes it all the more exciting, confusing and annoying). In this article, I'll dissect what this hot air is really all about. Just as importantly, I'll discuss what it isn't.

Face it: things haven't been this interesting in a long time. We're in the middle of a software engineering revolution, folks, and clarity is in short supply. There are still many unknowns and misconceptions about the cloud. If we're going to make the best use of this technology, we need to thoroughly understand it. Let's see if this list of what the cloud is and ain't can help.

The cloud is… An elastic paradigm for computation with a particular emphasis on service. You, the client, needs a particular hardware or software service. This can be infrastructure (IaaS: Infrastructure as a service), an application platform (PaaS: platform as a service), an application solution (SaaS: Software as a service) or any other letter you feel like prefixing to "aaS". Me, the provider, supplies you the service. You get to use a slice of the service and pay only for what you need. If you need a bigger slice, I can easily increase it and charge you a little more. This is great for you because you can manage your costs effectively. You convert massive up-front capital expenditures into much smaller but perpetual operational expenditures. You don't need to buy the entire service, you just rent it. Virtualization is often part of the offering but is not mandatory - more of an implementation detail.

The cloud ain’t… A new concept. The idea of infrastructure as a service, where a provider gives you network infrastructure, has been around for a long time. Similarly, the concept of using a website, where you don't install anything on your desktop, is essentially a SaaS. What's really new is that the cloud ideology bundles and clearly articulates these concepts.

Is… All about scalability. Cloud computing’s main focus is about achieving massive scale. The NoSQL movement, which is all about foregoing traditional relational database, has offered alternative techniques and technologies to fulfill the promise of making massively scalable storage systems. It has done so mainly by sacrificing beloved concepts such as data consistency and integrity in favor of replication, eventual consistency and key/value storage types. The consequences of this shift for real-world systems has not yet been accounted.

Ain’t… Necessarily the tool to solve all problems. In the case of persistence, it’s important to remember that life existed before and will exist after NoSQL. Some problems are well solved by relational databases. Ask yourself this: do you really need to forgo time-tested relational concepts to achieve massive scale? Is your website really the next Amazon.com? Do you really need a chainsaw or will tweezers do?

Is… Something that forces you to think differently about security, compliance, governance, trust, dependability and outsourcing. What happens to your data when you outsource your storage? Who is legally responsible to keep your data private and safe? Will your service provider comply with government agency demands? Will your service provider go bankrupt just before your website's busy season? Suddenly, the concept of owning rather than renting is starting to look good.

Ain’t… Something that early adopters have necessarily thought through. We are still in the infancy stage of this paradigm shift.

Is… A term that has been abused. Don't add to the abuse by saying “let’s put this app on the cloud” when all you really mean to say is “let’s make this app accessible by anyone on the Internet”. The worst offenders are tech CEOs and Microsoft TV commercials.

Ain’t… a fad.

This article was reprinted from www.deepheap.com
Published at DZone with permission of Nick Maiorano, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Nicolas Bousquet replied on Fri, 2011/01/28 - 4:31am

The cloud is just a buzz word like SOA, Web 2.0 and all.

SaaS is really not new. Do you know what a GDS is ? It is a Global Distribution System. A software that allows you to book flight by connecting to a network. You pay as you use it Better, if you are a travel agency, you are paid to use it. And this existed for more than twenty years.

 And for nearly ten year GDS offers the same service to airlines and travel agencies on the web. You think Airline website are really different ? For most of them, they are not. They are based on the same software, a little customized, and all data are stored by the provider, not the airline. Again, airline pay as they use.

Each time you the final user do surch of the airline website, the airline pay for it.

Just think about Google App, mail providers, facebook, The New York Time or Amazon (the website). They all offer you SaaS. One for office app,one to manage your mails, one to discuss with friends, one to give you news and one for buyings goods.

We already had companies providing standard computer ressources for years. You can rent or buy computers, bandwidth and all.

 More than that, all of theses things are really inexpensives. (Except for airlines where it is a really lucrative business).

The only real advence with modern cloud is elasticity if you are concerned by computer ressources. We already had elasticity for SaaS for years.

 

The Cloud is just an evolution, not a revolution.

Nick Maiorano replied on Fri, 2011/01/28 - 9:53am

As I wrote in the fourth paragraph, "The cloud ain’t a new concept.". So, yes, all of these ideas have been in existence for decades in some form but they never really hit the mainstream. What's different this time around is that not only do we have the proliferation of vendors selling cloud solutions, and buzz, but more and more companies actually have the need for massive scalability to serve an ever expanding Internet. For this reason, I believe that software engineering is in the midst of a revolution - not just an evolution.

Vive la révolution!

Mats Henricson replied on Fri, 2011/01/28 - 5:59pm

I think you are being too conservative, since all you're looking at is the current centralized cloud ideas. What about the idea of federated clouds, where several people, or maybe millions of people, federate their mostly idle machines into a free cloud, where applications are deployed in an anonymous manner, a bit like Tahoe-LAFS, Freenet or Popular Power, on top of a p2p DNS, so that one particular computer is selected to serve a request depending on the location of the client, a bit like current content networks such as Akamai? Then we don't just get a focus on scalability, but also on robustness, independence and freedom. Unhosted is going in this direction, and so much else will too.

No doubt this is what the cloud will look like 20 or 30 years from now. Go listen to Eben Moglen, and think again what kind of cloud you wish to use and see in the future.

 

Axel Rauschmayer replied on Sat, 2011/01/29 - 5:35pm

There is also a frontend side to it: applications that synchronize their data with the cloud. I find that it does introduce a new aspect to applications and makes them much more useful (especially mobile applications).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.