Friday, May 16, 2008

Cloud computing the future of software

Time to talk business again and this is something that I've being doing a lot of research on lately.

First of all, my take on what "cloud computing" really is all about.  Essentially, server rooms, data centers and IT guys with beards that look like they've never seen the light of day all GO AWAY.  All processing power, storage, security, memory (RAM), etc is going to be facilitated soon by the cloud.  The cloud contains all of that and more.  Businesses will be able to formulate applications strategy WITHOUT a dependence on what IT says can and cannot be done technically.  So, Mr. CFO would you like Oracle Financials installed with your company's account structure, corporate entity layout and accessible to all of your users starting next month?  No problem, I've got a VM in the cloud that I can duplicate from a similar company, I'll get some consultants to come in and figure out the nuts and bolts of the application configuration and I'll start giving access to your users.

Now, I know that I'm simplifying things a bit here (especially the time frame), but this really isn't that far-fetched.

The easiest way for someone like me to really get their hands around cloud computing is to imagine a large grid of computers running some operating system (it really doesn't matter which one as long as it's massively scalable) and supporting hundreds or thousands of virtual machines.  These virtual machines in turn can be running any operating system (VMS, Windows Servers, UNIX, Linux, etc).

Again, a simplistic view of what the cloud is really all about, but for starters that's a good "baby step" in the right direction.

Also, again from the server/application side of things.  If you need more processing power, no problem we ratchet up the MIPS (or whatever measure you may want to use).  Do you need more storage space?  OK, no problem the virtual machine architecture supports dynamically changing storage.  More RAM, well really in a true cloud environment storage is storage, but sure we'll give you "more RAM" to make you feel better.  Backup and disaster recovery?  Hey, we just back up the VM or maybe just run two side-by-side in two different data centers with fail over capabilities.

From a front-end, end-user perspective things don't really change too much with one exception.  The user interface to these applications "in the cloud" become ubiquitous.  It simply will not matter if you're using Windows XP, Vista, Fedora, Ubuntu or a mobile device.  A URL or IP address does not care what device you are using to access it.

So, what's the business benefit here?  Well, it's a true win-win situation.

From the provider side, there is a constant revenue stream.  Customers are changed monthly (or yearly) for access to the cloud infrastructure and their applications.  NO MORE MAD DASHED BY YOUR SALES FORCE TO MAKE "QUARTERLY" NUMBERS!  Customers are charged for the service that goes along with this as well.  Administrative duties, adding more users or tweaking the configuration is at one service level and more involved tasks (application upgrades, major changes) are structured at a different rate level.  The personnel that you use to administer this service can be ANYWHERE?  IT staff can be in midtown Manhattan (not recommended) or Manhattan, Kansas.  Central office, home office, flex-time office, it matters not.  If you've got access to a high-speed Internet connection anything is possible.

What's the advantage to the customer?  Well, how would you like never to have to buy a server again?  Also, how would you like never to have to BUY an enterprise license for a piece of software again?  There is only going to be a monthly or yearly fee for access to the application of your choice (possibly a yearly commitment at the beginning to help offset origination costs).  Did you company recently grow from 50 to 100 users?  No problem, we'll adjust that and give you your new periodic bill rate.  Did you company shrink due to layoffs from 100 to 50?  Same thing, we'll adjust your periodic payment and usage amounts and dial back the resources appropriately that you're using.  Want that new version of the software that you're using?  Cool, we'll get that up and running for you, give you a URL for testing and when you're ready to put it into "production" we'll swap out the old URL and the next morning your users bookmarks will take them to the new version.

EASY!

So, what's holding us back?  Well, businesses for the most part are still run by guys who went to business school back in the 60s.  Some executives even date back to the WWII or baby boomer generation.  This is a strange new paradigm and very few of them are going to accept it, much less bet their enterprise application strategy on it.

How will it evolve?  Here's what I think.

Software as a service (SaaS) was cloud computing version 1.0.  Now, we're moving to the second generation.  Amazon, Oracle, Google, and (yes, Virginia) IBM are currently the BIG guys leading the charge.  Companies will soon begin to tip their toes into the cloud.  They'll probably start with non-mission critical applications, skunk-work projects at a departmental level with their current application infrastructure still in place.  It's a low risk way to start.

Eventually, big ticket applications like ERP, CRM, data warehouse and business intelligence applications will move there.  Service vendors will need to ramp up and Amazon and Google will need to make their cloud operating systems more compatible with current application technologies.  Sorry Jeff (Bezos), but I don't see SAP or Oracle re-writing their code base to work with your cloud platform.  It might be better for your to develop a VM technology that can support all of the current application technologies right out of the box.  I think a purchase of VMWare from EMC is imminent unless EMC makes a strategic decision to start touting their cloud infrastructure soon.  Oracle's On-Demand team is heading in the right direction, especially with their business intelligence delivery initiatives.  That might be a fairly low risk application set to get the ball rolling.

All always, feel free to post comments, agree, disagree or just call names.  Just back up whatever you say - that's all I ask.