Tuesday, February 23, 2010

A Reliable "Cloud on the Horizon"?

In my previous blog post "The Private Computing Cloud. Balancing Control with Cost" I explored some of the big picture issues facing enterprises as they consider whether to pay for hosted software services versus deploying them as premise software solutions. The issue I focused on there was the concept of how much control an enterprise would have over hosted software services versus those deployed in corporate data centers.

A related concern for enterprises considering hosted software solutions is the issue of reliability. Will a hosted software solution be more or less reliable than a premise based solution? Another factor affecting this choice is how much reliability is actually required for a given type of software solution?

There is no single answer to this question. It will vary from one enterprise to the next. A highly trained and well staffed enterprise IT team at one company may be able to deliver reliability in deploying and supporting software solutions that is superior to that provided by a cloud computing vendor for a hosted "cloud-based" solution. But another less well-staffed enterprise may not have that luxury.

Each and every enterprise will also have to factor in how important reliability is for each and every solution they deploy. Some solutions, such as "call center" telephony systems, require extremely high reliability and quality as they are often directly related to an enterprises ability to generate revenue.

Other solutions, such as a customer tracking database used by a company's sales force, while important, won't have as high a standard for reliability and up-time as the call center does. An example of a very popular cloud based solution for tracking sales leads and interactions is Salesforce.com. It is one of the most, if not the most, popular and successful cloud applications available today. But the requirements for reliability, while significant, don't extend to achieving the "gold standard" of "Five 9's" reliability required by a call center.

Cloud computing vendors will argue that you can get very, very high reliability in cloud computing through the redundancy of having the same SW running on multiple/clustered servers deployed across geographically distributed data-centers. The economies of scaling definitely add weight to that argument. Deployed properly, hosted solutions can be extremely fault tolerant. Google, Amazon, Yahoo and others have proven that they can support 100s of millions of users on a continuous basis with only very rare instances when their hosted solutions are not reachable and available.

However, those solutions are largely web-based solutions where the requirements to manage a lot of dynamic, real-time information that must be continuously synchronized between server and client, are minimal. These kind of applications are what are called "stateless applications". A stateless application server simplifies the server design because there is no need to dynamically allocate storage to deal with storing the entire past and peresent state of every client/server conversation in progress. If a client web-browser session dies in mid-transaction, no part of the system needs to be responsible for cleaning the present state of the server.

This kind of stateless interaction is the common case for the majority of internet hosted solutions. As an example; customer-facing banking applications. There are a massive number of cloud-deployed solutions in the banking sector while their are few if any purely "cloud-based" real-time call-center solutions is use by medium and large enterprises.

Bottom Line: Reliability requirements for one enterprise and software solution are likely to be very different from reliability requirements for another enterprise and their software solutions. Reliability, like beauty, is in the eye of the beholder.

One thing is certain though. Cloud computing solutions will only get more "beautiful" over time as the access reliability to the cloud and the redundancy of the cloud solutions continue to improve.

What does hosted software reliability have to look like from your enterprise's point of view?

Labels: Cloud Computing Reliability Server Salesforce.Com Call center Enterprise Software

Friday, February 19, 2010

The Private "Computing Cloud": Balancing Control with Cost

Just before Christmas I had the pleasure of attending a dinner event hosted by Ken Hausman from Mirador Capital .  I want to thank Ken for being such a gracious host for an excellent evening of discussion. 

A highlight of the dinner was an excellent discussion on Cloud Computing. One of the most interesting discussions was, "Is the cloud ready for the enterprise and is the enterprise ready for the cloud?" 

There were attendees from all corners in this debate including enterprise CIOs, IT Professionals and Cloud Computing services vendors and System Integrators. Those attending who are providers of cloud computing services were strong in their belief that the "Cloud" is in fact ready for the enterprise. They claimed they are seeing very strong interest in their cloud computing offerings from enterprise CIOs and CFOs." One CIO from a major bank added some support to this claim saying, "cloud penetration will be in the high double digits in 2-5 years time." 

Both of these guests felt this adoption is certain to happen because you can, with cloud computing, more closely quantify and track the cost of an application. Today's average CIO, with purely premises-based computing infrastructure, has real issues answering that question. Given the state of the economy corporations are placing a heavy cost focus on IT spending and the total cost of ownership (TCO) of their computing resources and staff. One result of that push is it is now common in many corporations for the CIO to report to the CFO. Recognizing this desire for cost metrics and the "CIO reports to CFO" trend, many cloud vendors are now targeting their sales pitches directly to the CFO. 

However, several other attendees raised an very important issue that may be the biggest barrier to adoption: "Vendor Lock-in". Several in the audience elaborated on the challenges of vendor lock in in observing/questioning; "How difficult will it be is to export data from the cloud if you want to switch vendors?"

My 2 cents: While it is true that "vendor lock-in" is a concern with Cloud Computing solutions, this problem is not a new one. "Vendor Lock-in" is always a goal of every enterprise solution vendor whether they are selling premises solutions or hosted solutions. 

What I see as the real barrier to cloud computing adoption is the issue of control. No matter how much a cloud software vendor argues that they "give customers full control of the SW and even HW elements of a hosted offering", the reality for an enterprise is a premise deployment will always offer more physical and management control. As a CEO/CIO, if you always run your own data center and manage your own software in-house, you always have someone in IT who works for you to hold accountable. This is the famous "throat to choke". 

Cloud Computing is certainly a growing trend and it is certain to take over some large and perhaps even a majority share of IT spending from the current premises-based vendors. But this is not an all or nothing transition in how enterprises deploy IT solutions. Depending on their size, enterprises will continue for the foreseeable future to have attractive choices for premises-based AND cloud-based solutions. So enterprises should expect to have, and demand from IT professionals, a mix of cloud-based services and premises-based infrastructure that interworks in a way that works best for each enterprise. This blended mix of premises and hosted solutions is where the the optimal solution lies for almost every enterprise.

One form of that range of choice that is likely to be attractive to the large enterprise in particular will be what I call the "Private Cloud". A Private Cloud is a hosted architecture for your software solutions but the servers and software and IT staff will all be on your premises. Some of the staffing may be in-house and on your payroll, some may be contracted and some may work for your third party vendors.

Of course it's a very gray area in delineating what is really "yours" versus "theirs" when it comes to IT equipment and software and even employees. Cloud vendors will argue that they view your servers and data racks in their data center as "your" data center and the staff they assign to you as "your" staff. But as hard as they may argue that point, the equipment and software and staff that isn't directly on your books or rolls is always, at the core, under the control of a third party vendor.

What do you think? Is a "Private Cloud" approach a good compromise solution for your enterprise for balancing control with TCO? What other solutions have you found to this dilemma of hosting versus premise for you business solutions?  I'm looking forward to your comments.


Tags: Cloud Computing Mirador Capital CIO Enterprise Software Hosting

Sunday, February 7, 2010

Real Time Collaboration in a Virtual Desktop Environment

The scenario:  In a virtual dektop environment the users have only a thin client on their desk. The thin client (a web browser, citrix client or Wyse terminal) accesses the business and office applications running on a server in the data center or in the cloud.. Technical terms used for this are Desktop Virtualization (DVI, Microsoft Web Access) or Cloud Computing (Google docs and Apps).
In my humble opinion (IMHO) desktop virtualization is great when you want to ensure nobody can copy your customer data and walk away with it. There is simply no way to copy any data on a USB drive if you have no active USB connector, WiFi or bluetooth.  Or get data by stealing the desktop PC/laptop with the data on the harddrive. Customers loving this are banks, financial instituations or any other highly regulated industry or security concerned customer.

The challenge: IMHO currrent VDI solutions with integrated voice and video don't deliver what's required to make this scenario a success. The voice and video quality is not good enough to deliver a good customer experience. That's a strong inhibitor for broader deployments.

The solution: IMHO,  the solution is decoupling voice and video from the thin client functionality. There are various ways how this can get achieved:
1) The simplest method is to place a VoIP desktop phone on the desk together with the thin client terminal. Using the ethernet switch in the VoIP phone the thin client terminal gets connected behind the phone. Great voice quality results.
2) Another way is to run a voice/video softclient on a desktop PC together with the thin client software. To satisfy the security needs you want to lock down the desktop PC so that no other SW can run and all USB interfaces are disabled.
Voice&Video and the thin client data then travel together over the ethernet to the datacenter. Here the thin client data gets connected to the virtualization servers while the real time voice/video packets hit the real time communication servers. Both get connected through Web Services or CTI Interfaces.

The Implementation: Is straightforward.

Please let me know what you think, and share your experiences with Real Time Collaboration in a Virtual Desktop Environment.

Christian von Reventlow: vonreventlow@yahoo.com, reventlow@avaya.com, twitter: vonreventlow, Skype: vonreventlow, linked_in: vonreventlow