Wednesday, February 3, 2010

Choosing a Cloud Computing Consultant

I published a link to my post Choosing a SOA Consultant in Utilizer.  Utilizer is a new pre beta site.
The site provides a portal like page for every author. You can look at my page as an example.
Each article's page includes related articles. For example choosing a SOA Consultant page includes the article Anatomy of a Cloud Consultant - What defines a "cloud expert"?, written by Reuven Cohen, a leading Cloud Computing expert.
The interesting article demonstrates deep understanding of Cloud Computing and I do agree with most of the ideas expressed in it. However, I have different opinion on some issues as described in the following paragraph.

"You are only as good as your last job"
In my opinion you are as good as your experience and capabilities and not as your last job.
A consultant is not a CXO (CEO, CTO etc.) who makes the decisions and is also responsible for performing the projects derived from the decisions.
Many years ago when I was a CTO I was responsible for technological decisions, especially for the unusual decisions i.e. not choosing IBM's or Microsoft's products.
Fortunately, my unusual products selection decisions  turned to be better products for less money decisions.
Many times customers' decisions were opposite to my advice as consultant.
For example, one of my customers choose a Workflow product which I thought will disappear from the market in few years (I was not an expert in Workflow but after talking to experts and reading Research Notes I understood why there is no future to that product). I wonder if anybody remembered three years later when the vendor stopped supporting the product, that I warned the client not to base its solutions on that product.
As far as SOA is concerned, I am aware of companies failing in their SOA initiatives executed wrongly, despite of totally different approach recommended by me or by another expert.
Even an integrator is not as good as its last project is. As a consultant for a large Core Banking endeavor, I evaluated integrator's bids. I wondered why Accenture failed in a similar project in a European bank. According to someone neutral (not employed by the bank and not employed by Accenture), who was involved deeply in that endeavor "The endeavor was a moving target. It is not Accenture's fault that it failed".   

The real question is not if experience matters – real world experience matters.
The real question is: will you be able to find a Cloud Computing consultant similar to the very respectful and experienced names cited by Reuven Cohen?
In most cases the answer will be no. Cloud Computing is new and most consultants lack significant and relevant experience. You may find an "experienced" consultant whose experience is in "Internal Cloud", but it will be difficult to tell if it has any relations to Cloud Computing.
The "Internal Cloud" could be a Data Center Consolidation project, a Virtualization project, very different from moving applications to Amazon's Cloud.

If you will not be able to hire an experienced Cloud Computing consultant who should you hire as a Cloud Computing consultant?
In an Agile and Dynamic world hire an Agile Consultant, even if he lacks experience.
Some of the significant characteristics of an Agile Consultant's are:
  • ·    Experience in a variety of concepts and technologies
  •      Proven Ability to learn and understand new paradigms and concepts
  •     Ability to generalize from experience to new concepts such as Cloud Computing
  • Ability to discriminate i.e. ability to understand what differentiate between Cloud Computing and other concepts (e.g. Utility Computing).
  •      Enthusiasm and curiosity for new paradigms and technologies

1 comment:

David Gruzman said...

I read the article You referenced. It is good, but I think it defines a general approach for the consulting evaluation, applicable to many areas and not specific to the cloud.
I am interesting in the cloud from the application architecture perspective. So I can speak about this part only. In my opinion the main shift (or let say one of them) cloud brings is a way we manage the data. So if I would look for cloud consulting to design application I would evaluate his experience in various scalable data management solutions.
To be more specific - I would check understanding of relative advantages and disadvantages of RDBMS and non-RDBMS data management systems.

About Me

Share on Facebook