Friday, 5 February 2010

1, 2, 3 – Scale!

I decided it was time to wake up when I saw tips on cloud computing in the January 2010 edition of Readers Digest. (Page 119 “1001 things that everyone should know about”) Although the tip had oversimplified the cloud to be a mere synonym of the Internet, it seemed like an invitation to use Amazon Web Services or GoogleApps. And the author had gone a step ahead and declared that it is safe to cloud compute.

This had me thinking. Is it time for us to accept the cloud to be part of our daily life as RD suggests? Has cloud computing become an officially-scheduled-train from point A to B in solution-space rather than being a band-wagon we loved jumping on? Maybe or maybe not. It depends on who you are – a business decision maker or a cloud service provider - you will have a different perspective on the technology zeitgist.

Unfortunately, we technology consultants/service providers cannot afford to oversimplify the cloud like RD did as we deal with enterprises that are likely to use the cloud beyond planning weddings. An objective look around the IT industry, consisting of service providers, businesses and academics, highlights several key issues in bringing the cloud as close as possible to the real world.

Don’t get me wrong. I am neither a cloud-agnostic nor a nitpicker. I am someone who wants scalable computing technologies such as cloud-computing to be an enabler of: innovation, simplification and wealth creation.

I am dedicating this blog to three causes:
  1. To identify and articulate key concerns that relate to service providers and service consumers of scalable computing technologies
  2. To discuss technical, business and methodological solutions to problems identified
  3. To aid in assembling the mosaic of scalable computing technologies by discussing other relevant concepts

To achieve my goal, I will be banking on my variety of experience with competing technologies, years of practice in software engineering processes, exposure to business development and my academic mindset.

Enough of my lofty ambitions ... now coming back to the earth from the clouds...

In the past two years or so, perhaps you have noticed the following trends in the IT industry:

  1. A variety of words related to cloud have appeared in the industry – which had gone quite deep into SOA. I refer to these words as “cloudy words” – because they are related to cloud computing, their meaning is perhaps at a level that is as high as the clouds and they help grey-out the rest of the technology landscape!

  2. Every major (and not so major) economy is announcing or has already announced a conference on cloud computing within its geography and in each of its possible time zones.

  3. IaaS, PaaS, SaaS, XaaS - all the aaS series of words have been used up. Even the term “EaaS – Everything As A Service” has also appeared – perhaps coined by a frustrated academic or a service provider. If you want your own aaS series term, rush now! There were days when I wanted to launch a business around MaaS – Methods As A Service!

  4. Some authors have introduced new concepts – some of them seem to be reinventing the wheel. For example “Technology Agnostic Design (TAD)”. But isn’t design supposed to be technology agnostic by definition? Mind you, I am yet to understand TAD in detail.

    I am also creating new terms – watch out for a separate post on it. But here are a few terms for now:
    • “Cluff”: Marketing fluff associated with cloud computing
    • “Clobberation”: Repeated attack of a cloud malware on a cloud application
    • “Cluser”: Clueless cloud application user

  5. Without blinking, almost everyone identifies security as a major problem associated with cloud computing. Yes, cloud service providers have lost data and have faced nightmarish scenarios unable to recover lost data. Though the first cloud-virus or cloud-worm is yet to make news, some service providers are developing anti malware for the cloud. Better safe than sorry, eh?

  6. Case studies related to successful migration to cloud are emerging. These green-shoots hold promise of a lush growth.

  7. Scalability of hardware and software’s ability to catch up is out of synch. Chip makers, proving Moore’s law, are churning out high capacity, high speed and versatile hardware quarter on quarter. And obviously software is lagging behind in producing results proportional to their hardware counterparts. But, hardware makers seem to be raising expectations of the industry by painting a bright picture of futuristic software capabilities in a relatively short term period based on their high capability hardware.

  8. There is a cry about non-availability of standards associated with cloud/scalable computing. While it is true, the focus should possibly shift towards safe-practices in the absence of standards, rather than looking for quick-hatched standards. Ever wondered which one comes first – the standard or the practice? It is no chicken-and-egg problem, but a framework of a standard is likely to emerge first whose details are filled by industry best practices over time.

  9. The best 3D object for modelling scalable computing technologies seems to be the cube. There are several cube-based-methods to model scalable applications and possible cloud formations. But could the real-world problems be embodied in a mere three dimensions?

  10. There is evidence of detailed work being done to see how present architectural constructs and patterns scale to the needs of cloud computing applications. This will lead to new frameworks, architectures and patterns. Few universities are already trying to design new language constructs to help applications for the cloud.

  11. The need for qualitative and quantitative measurement of QoS for scalable computing technologies seems to be better understood by business than the service providers or academia. Proposals for measurement and monitoring frameworks are yet to take shape with the exception of a sharp focus on software metering.

  12. Due to the lack of robust measurement of QoS, licensing models of scalable computing applications are still non-standard and often difficult to comprehend.

  13. Many businesses have realised that some of the fundamental, straightforward looking business methods/tools such as capacity planning, and make-or-buy decision making will prove to be difficult in the cloud.

  14. There are some good books that look at scalable computing to be a techno-business challenge (or even a socio-technological challenge) rather than just another new technology. Scalability of processes, organisations and people are discussed in such books.

  15. There are few very interesting programmes taken up by leading universities with industry sponsorship to address multi-dimensional problems of large scale, complex IT systems.

Are you getting frustrated with my random observations and a laundry list of problems, knowing that some of the problems listed cannot be solved without years of research and millions of dollars of funding? And perhaps wondering what exactly my point is?

True, it is a long list and some of the listed problems are very good candidates for PhD dissertations. Unfortunately, it is only a subset of problems an enterprise would face in reality! Obviously most businesses cannot wait until these problems are solved before they adopt an acceptable version of a cloud/scalable solution. But, it is not surprising if a commercially successful adaptation of cloud computing would have some sort of an answer for each of the listed problems.

Despite many positive developments listed above, to me it looks as though everyone is looking around in the industry for something. Perhaps the song “Sweet Dreams Are Made of This” (Annie Lennox, Eurythmics) is apt for the present situation

Sweet dreams are made of this
Who am I to disagree?
I travel the world
And the seven seas--
Everybody's looking for something.

Some of them want to use you
Some of them want to get used by you
Some of them want to abuse you
Some of them want to be abused.

Before you context switch to YouTube to listen to this song, let me clarify what I meant:

As I see it, business decision makers (CIOs mainly) are looking at their peers, service providers and academics for success stories of cloud computing, pitfalls to avoid, best practices and true benefits of the cloud based solution. Service providers are looking at business decision makers hoping that they buy their cloud computing services so that they can prove the benefits and (obviously) attract more business. Academics holding few frameworks and models on hand are looking at service providers for trials and at businesses for results from commercial implementations to ratify their research.

Interestingly, there are consortiums and knowledge transfer networks such as the one I am in, which are trying not only to identify and articulate issues but also to coordinate development of solutions and standards.

I don’t think that this is a gridlock of stakeholders – but a strong multi-dimensional dependency that demands collaborative work. Key stakeholders, especially those who have the power and ability to influence, must voice these issues and dependencies rather than vociferously declaring that cloud computing is the panacea for industry woes. This might help prevent the development of a series of applications without fully understanding the multidimensional problem that, in future more likely to be reworked.

This multi stakeholder mutual dependency pushes us back to the proverbial drawing board with an aim of designing new/modified methods to help building high quality, collaborative, scalable, self-managed, secure, reusable, user-centric, resource optimising applications. But wasn’t that already the primordial challenge of our industry?

I shall explore as many challenges as I can and keep blogging. I hope that knowledgeable readers will steer my thoughts in appropriate direction through their valuable feedback.

Adios amigos - till next post ... take care ... it might rain as it is quite cloudy out there.