| More
All posts tagged 'saas'
 


You Will Live In the Clouds Too!

by Jim White (Instructor and Director of Training)

For the last few months, I have had my head in the clouds.  Go ahead ? insert your favorite one-liner here. My wife has already impaled me with many.  The ?clouds? I speak of are those associated with cloud computing.

If you are in the information technology community and unless you have been living under a rock for the past year or so, I am guessing you have heard about cloud computing.  So, no need to provide a definition then. ? Oops, I can tell from the RCA-dog expression on a lot of reader faces out there that you may not know what cloud computing is!  So you have heard of cloud computing, but your still a little fuzzy on the definition?

This is certainly one of the challenges of cloud computing.  It hasn?t been really well defined yet.  I saw a television commercial a midst the NCAA basketball tournament that touted the benefits of "the cloud."  I'll bet very few people watching really knew what was being advertised.  In fact, even in IT circles the words "cloud computing" are overused to the point that there is no real consensus even where there might be understanding.  The term suffers from something I call illdefinitis:  lacking in clear definition but still used all over the place to sell product, service or other  charms (just like architecture, framework and Web 2.0).  Larry Ellison, in a now famous (or infamous) rant captured on YouTube, skewered cloud computing and called it ?nonsense? and ?water vapor.? While I don?t agree with all of his statements, Mr. Ellison makes a point.  Until cloud computing is well understood and really means something, it won't be taken seriously.  And folks - I am here to tell you, some cloud computing is serious computing!

So with this blog post, I would like to accomplish two goals.  One, try to give you a way to understand cloud computing (I don't want to say define - that might be too ambitious).  Second, I want to try to provide you a reason for exploring cloud computing - at least part of it.

My first task is to provide some help in clarifying what "cloud computing" means.  Cloud computing is about providing information, software and/or computing power as a utility.  How do you get or use electricity or water?  You turn it on when you need it and pay for what you use.  Cloud computing is about turning on and off information and computing "flow" as you need it and paying for what you use.  The problem with cloud computing is that you may need hardware, you many software, you may need all sorts of information or computing flow.  That it why its so hard to label cloud computing and why so many organizations claim to offer cloud computing resources.  Let me provide you with a picture of the general "types" or "categories" of cloud computing.

image

This categorization is being used by many in IT circles today.  You can point to any one (or many together) of the boxes in this diagram and claim "that's cloud computing."

IaaS is the traditional "data center" offered as a pay-for-capacity style of service.  In fact, it is often called a utility service as you order and pay for IaaS like any utility (electricity, water, gas, etc.).  IaaS offers servers, software, data storage, network equipment as virtualized computing power to host your applications and data.  You provide the software/information, the IaaS provider gives you the environment to run it on so that you never touch the hardware.  Flexiscale and GoGrid are two often referenced IaaS providers.

PaaS is IaaS on steroids.  I believe PaaS is the future of computing.  PaaS offers virtualized computing like IaaS.  However, imagine a data center that scales all parts of your hosted environment automatically as your system needs grow.  PaaS also provides a much more sophisticated runtime environment - complete with security, monitoring, testing, and other solutions that typically require tons of application developer time to solve.  PaaS is a utility-styled IaaS hosting environment, but also offers a set of tools and API in support of cloud application development.  These tools help developers address issues of enterprise scale with minimal work.  PaaS is often described as "cloudware" or an operating system for cloud computing as it helps manages all the details of your application beyond the actual business code.

Salesforce.com is the most commonly thought of SaaS.  Microsoft Exchange Online is also thought of as an SaaS.  SaaS is about making packaged commercial software available over the Internet under a subscription or pay-for-usage service.

Now - why should you be looking at cloud computing?  I have been working extensively lately with Microsoft's Windows Azure.  Azure qualifies as one of the PaaS in the diagram above.  I would certainly not call Azure nonsense or water vapor.  In fact, this is a serious platform that I believe will impact nearly all software development in years to come.  We may not all be developing software for this exact Azure cloud computing platform (it is still in its infancy), but we will be developing for a platform like it - whether it be Azure 2.0 (or other future version), IBM's recently announce public cloud service, or other similar PaaS.

Why?  Have you been involved in setting up the development environments, staging environments, runtime environments, and the deployment procedures to get from one environment to the next for a substantially large project?  If you found that task painful and overly time consuming you might want to check out Azure or other PaaS.  If you like designing and building software to help solve business problems, but find thinking about failover, scale, security and other such software issues unappealing, you might want to look at Azure or other PaaS that provides some ready made tools, API and solutions to these common tasks.  If you have ever had the pleasure (tongue firmly planted in cheek) of supporting an application that was about to undergo a challenge in load/scale waiting for the beeper to go off, you need to take a look at how Azure could make life better - much better.  If you have ever had to architect an application that would suffer large loads at certain times but you only had a "normal" load budget for the solution you might want to look into Azure or other PaaS.

Microsoft, IBM, and others are making a big bet on PaaS cloud computing.  Chris Hay and Brian Prince describe Microsoft's work and investment in Azure and Microsoft data centers in support of cloud computing in their book Azure in Action.  I encourage you to explore Chapter 3 of that book, or if you like, take a look at the video on Microsoft's future data centers.  There investment is huge.  Cloud computing in the form of PaaS leaves the details of hardware, operating system, even system architecture, and the other non-business related details of software in the hands of the experts in an economical pay-for-what-you-use form.

I encourage you to take the time to explore cloud computing in all its forms, but particularly PaaS.  I think you'll find that it will soon be time to turn out the lights in our server rooms and data centers and it's time to turn on the cloud computing services.

To learn more about Azure and cloud computing in the Twin Cities area, I invite you to sign up for a free Azure bootcamp offered by Tim Star and I in May.  See here for details.


Posted by: Jim White
Posted on: 3/22/2010 at 12:20 PM
Tags: , , , ,
Categories: Java | Cloud Computing | Cloud Computing
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (1) | Post RSSRSS comment feed