Archive for May, 2009

We are the World

May 29, 2009

Some weeks back I happened to have a rather interesting conversation with the folks out at Baynote on behavioral analysis  and the wisdom of crowds (cue “we are the world”). This caused me to buy the  book Emergence by Steven Johnson, which is proving to be an entertaining read … I will never look at ants the same way again .. I also laid my hands on Programming Collective Intelligence by Toby Segaran, which looks at implementing a lot of these ideas in the context of Web 2.0 applications and mining of social interactions.  One thing I do like about Toby’s book is that it links to another passion of mine – dynamic scripting languages .. In that he uses Python as the programming language to render all of his example implementations. I’ll share more of my thoughts once I finish reading … In the meantime I am off to JavaOne, where, no surprises, among many things I will be dropping in on quite a few sessions on dynamic scripting languages and developing in the cloud …..

 And just because I could not resist .. Another trip down memory lane ….



May 18, 2009

Elasticity – the property of a substance that enables it to change its length, volume, or shape in direct response to a force effecting such a change and to recover its original form upon the removal of the force.

This property is in essence the defining characteristic of a cloud; the ability for the cloud to grow and shrink based upon the resources required to support the services being delivered. Now to some extent much like most algorithms for random numbers which require a seed there is a pseudo aspect to cloud elasticity in that the cloud is always bounded in some way by the physical resources (read that as the physical machines that host the virtual machines) that are available to the cloud, so elasticity really reflects a behavior experienced as opposed to a true physical characteristic.

Probably the most obvious illustration of cloud elasticity experienced is with Infrastructure as a Service (IaaS), Amazon EC2 being the most famous example, where compute resources are made available as a service and the user of the service can scale up or down the amount of compute resource required in a frictionless manner.

One other example that I have been noodling is related to distributed caching platforms; high performance distributed in-memory object caches / grids, which by design run across multiple servers/machines. It’s not a leap of faith to see distributed caches running as a service in a cloud, with the cloud growing and shrinking to accommodate the size and requirements of the cache. I manage such an offering called Websphere eXtreme Scale and Billy Newport has been discussing some of these scenarios in his blog.

Another key aspect of elasticity that has me thinking is elasticity as it relates to business models, particularly pricing and licensing of software running in a cloud, here my thoughts center around the provider of a cloud service and the licensing of software that supports that service.  As we evolve to running more and more virtual servers in a cloud, whose role and function may vary by the minute, the notion of license pools will need to be fleshed out to support this use case.  One might envision something analogous to the cell phone model, with a license pool representing cell minutes, and overage structures being available to deal with license overruns. These kind of structures will drive new capabilities and indeed philosophies when it comes to billing and metering and the notions of software compliance. 

Through this year, both aspects of elasticity; delivery of middle ware services and licensing models, will have a position of prominence on my to-do list, who knew that high school physics lab on elasticity of objects (remember the one with the metal ball and ring) would prove so relevant!

Rainmaking – Seeding the Clouds

May 10, 2009

… picking up on my premise that the value of the cloud lies in the services it provides I quickly progress to the discussion of what are the key considerations that the provider or consumer of such services has specifically of their enabling Infrastructure. Along with Yefim Natis of Gartner, I presented a detailed point of view on this at the recently concluded IBM IMPACT 2009 Conference in a session titled “Understand SOA-enabled Clouds and What They Can Do For you” (Session # 3102)

In it I surmised that the Provider was most focused on considerations that included:

  • Virtualization of infrastructure
  • Government and management of services
  • Multi-tenancy support
  • Consistent deployment
  • Chargeback and pricing
  • Security & access control

While the Consumer was in turn concerned with issues such as:

  • Ease of access
  • Discovery of services
  • RESTful interface support
  • Lower cost
  • Speed & availability
  • Security and data privacy

So what does any of this have to do with Rainmaking? Well if we go with a generally accepted definition that rainmaking involves seeding clouds to do something productive as in produce rain, then in addressing these considerations I can bring value and enable my customers to become rainmakers and derive productive value from adopting cloud computing. To this end, at IMPACT this week we launched a new product offering in the WebSphere Application Infrastructure Portfolio that I manage called WebSphere CloudBurst, an appliance that allows users to marshal a set of virtualized resources (think physical servers with a hypervisor) into a cloud into which are dispensed WebSphere based application environments, that enable various kinds of cloud services to be easily delivered (e.g. PaaS or AaaS).

As I fly home typing this at 35000ft, and noodle on all the discussions I have had over the last 5 days, with Customers, Press, Analyst, I think I can safely say I like the concept of Rainmaking and the role I personally and the IBM team I work with can play in seeding the cloud. So while I have this warm fuzzy feeling I think I’ll stop here ….. Since I am above the clouds … literally!!!

The Sky looks Misty and Cloudy

May 1, 2009

I expect very few people to recognize the opening line “The sky looks misty and cloudy” to Majek Fashek’s hit “Send Down the Rain” (it was a hit in Nigeria!) , but I must confess that every time I think or hear about cloud computing that line jumps into my mind unbidden.

There is no doubt that everyone is talking about cloud computing and while it has not exactly made it to headline news (that honor is reserved for Twitter), you can’t get an IT weekly on your desk anymore without seeing a cloud on its cover (please don’t tempt me to create a collage).

As a Product Manager in IBM, I have tracked many a technology trend, and noodled on how they bring value and how that value might be harnessed. As Majek says “Everything in life has got its time and seasons…” and the season of “shared resources” is definitely among us. For anyone willing to look back in time, we have in the IT industry moved through cycles of “sharing”, at first it was not an option, there was the mainframe and we all shared it, then client/server came to the fore, and the client became fatter, more independent, all powerful and the desktop was born, and some might say we didn’t think about sharing as much. Then the Internet was born and we all got connected and now find ourselves in the mode of sharing everything. It is interesting to note how much time we spend on our powerful desktops (portable or otherwise) using browsers and driving shared computing resources out there to do our bidding (thin client anyone? Yes I said it!) indeed we do this so much, that most of the real interesting logic gets executed out there somewhere in the Internet … Cloud.

So what is the or a cloud? What interests me more is less an absolute definition, but more a notion of how would you know one if you saw one, applying Duck Typing principles (Walks like a Duck, Talks like a Duck … Must be a …) one thing that immediately bubbles to the top is a cloud provides a service, be it compute resources or functional capabilities, we interact with a cloud to get a service. Access to that service is typically simple, cloud based services being characterized by a low barrier to adoption, no install, minimal setup, just point and use … and typically usage of these cloud services can thus be metered and appropriately charged for.

Now from this perspective .. The perspective of the user of of a cloud service, the question that bubbles to mind (applying the principles of service abstraction and service orientation) is given all the user wants is an easy to use service, do they care that it is in the cloud? If truth be told probably not, it could be in a raindrop for all they care. That said there is an emerging level of expectation that a user has in interacting with an entity termed a cloud (in no small part shaped by those who deliver cloud services).

Which leads to the next thought, “so who really cares about cloud computing and clouds?” … and to this I respond the service provider, cloud computing and cloud is really about an infrastructure management and services delivery method …. which encapsulates notions of desired/required user experience and very different business models … but more on that later. For now enjoy Majek Fashek singing about clouds and rain .. And maybe you too will be afflicted with not being able to get the tune out of your head whenever you hear Clouds …..