Is Cloud Computing on the developer RADAR? Really?

As kids head back to school, I went back to school as well. I was extended an invitation to attend the No Fluff Just Stuff conference which is a small and compact conference where everyone seems to know everyone else. The attendees all seemed to be hard core developers or architects who seemed to be in tune with the future but mostly focussed on the present.

The sessions I attended were varying in technical depth, but, mostly had stuff and minimal fluff. I did manage to pick up some great nuggets. It was definitely worth my time. I was at a 60-minute expert panel where questions ranged from the future of Java after Sun is consumed by Oracle, future of Java 7, scripting languages, deployment, EJBs, Rich Internet Applications including Flex and JavaFX and the gamut.

What surprised me most was that there was not a single question on the cloud and the word was barely even mentioned. It did come up once as a substitute term for the internet.

While Amazon and Infrastructure as a Service has made a huge dent on startups and small companies and IT organizations for the ability to outsource the data center, I think the cloud has made a very minimal impact on the developer mindshare — for now anyway.

The reasons for this are certainly varied. Developers are probably waiting for the hype to die down to make an assesment of the reality. Unlike evolving distributed system models, from socket programming, to RMI, to web services and so on, the cloud does not seem to be introducing a new programming paradigm. The developer tools are still evolving and there does not seem to be a set of APIs for the cloud other than the Platform as a Service which are relevant to that particular platform alone.

In my informal conversations with the attendees, there were lot of other things besides the cloud that occupied their minds. So, the question that was foremost in my mind after attending the conference was “Is Cloud Computing on the developer RADAR? Really?” Or was it too small a sample size to be representative?

My daughter made the JV softball team. Yipee! The [million] activities balancing act follows now!!

What about Data Latency and cloud computing?

Over a decade back when we were still in the CORBA days, Peter Deutsch came up with the fallacies of distributed computing. Many distributed systems have been flawed due to willfully ignoring some of the fallacies and expecting technologies to obviate some of the inherent limitations in distributed computing. The premise was that those developers and designers who ignored these fallacies would in effect end up with a distributed system that would have some serious limitations in its functionality sooner or later. It was best to plan for some of these problems which was (and still is) inherent in distributed computing.

One of these fallacies is that “Latency is zero“. In traditional computing, the compute and data was typically hosted on the same system and the data latency was determined by the storage disks and the data bus speeds.  It was a simple matter of buying better hardware to overcome data latency if it was ever an issue. In cloud computing and especially when we get to network of clouds with data expected to flow around different clouds, latency (however minimal it is) could be an  issue depending on the data being manipulated, the network speeds and so on. Add to this the fact that the entire data or part of the data should be encrypted and decrypted when it moves around unreliable and public networks, and the fact that data needs to be streamed, latency will soon add up and could become a serious issue.

In the web era, many companies like Akamai have specialized in making data available closer to use and minimizing network latency. Some of these and other companies are already looking into this issue vis-a-vis the cloud, but, just the other day when I was twiddling my thumbs waiting for a not-so-big file to upload from my desktop to my EC2 machine instance, I was wondering how many of those dabbling with cloud computing would eventually be faced with the same question that I did, “How does Data Latency affect my cloud solution or design?”.

Just back from my Son’s championship game. They went undefeated in the playoffs.

My son’s teams’ thrilling come from behind 3-point victory. They need to win just one more game to be the champs.

Heading over to watch my son’s double elimination playoff game.

Back from http://ping.fm/SONJY where my daughter was an appraiser and my son did not make the state finals narrowly, but, had fun nevertheless

What is the most important criterion in picking your cloud vendor?

With the recent launch of the Blackberry App World program in line with Apple’s App Store and Microsoft expected to launch it’s own app store in the not too distant future companies are expecting developers to have their own skin in the game. The Blackberry App World program requires a registration fee of 200.00 USD which is no chump change. In return, freelance developers are able to market their applications to the global customer base that they typically would have difficulties reaching without a huge marketing budget. In the ideal scenario, as more applications become available and more users start using it, more developers start participating, creating what I heard as the “flywheel effect” from Wener Vogels, CTO at amazon.com. The faster this flywheel turns, the sooner it will result in a significant drop of prices for everyone involved.

In my previous blog I alluded to the different taxonomies of cloud computing and how as a developer Platform as a Service might be more interesting. There are more 1-off applications in an Infrastructure as a Service (IaaS) cloud rather than a Platform as a Service (PaaS) cloud. However, applications deployed in a PaaS cloud are more focussed on solving a (or a set) of business problem(s) for a typically large community of users. Drawing a comparison to the  app stores,  the goal of Platform as a Service is to offer a superior platform (technology matters, but, is not the main focus)  that helps leverage the ecosystem and the community.

How important is it for you application to leverage an existing platform and an existing user base? Is it important enough that it might become the sole criterion to choosing a particular cloud vendor?

Would you rather own or timeshare?

I just returned from a vacation last week (from which I still need a couple of days to recover) and any discussion on clouds was simply unwelcome. In talking to some developers this week it’s becoming apparent that we’re still at the stage of “why and what is cloud computing” rather than “how to do cloud computing.” There are plenty of cloud storage case studies as opposed to cloud computing. There is undoubtedly a lot of experimenting and early implementations of cloud computing, but, there are lot of developers still wondering about the relevance of cloud computing.

This vacation was a little bit different in that we (actually my wife flat refused) did not sit through a 90-minute timeshare presentation. However, having sat through a number of presentations, we’ve certainly pondered and sometimes come very close to buying a timeshare ownership.

The analogy between cloud computing and a timeshare ownership is pretty remarkable. There are some major differences as well, but, work with me here. To own properties at different vacation spots would be a major investment upfront and significant investments to maintain and upgrade throughout the life of ownership. It would also lead to poor occupancy unless it’s converted to some type of rental property. Plus for argument sake (or not) consider that these properties significantly depreciate in value. When you factor this depreciation cost, timeshare ownerships seem very promising.

The promise of cloud computing and storage is to decrease the initial investment, or what is referred to as Capital Expenditure or simply CapEx. The running investement thereafter, referred to as Operational Expendire or OpEx needs to be controlled or maintained. A timeshare certainly offers this. Also, it’s less riskier to dump a timeshare ownership rather than a property that you own.

However, there is a concern of security and privacy and being able to interoperate between different clouds. The concrens of security and privacy could be significantly alleviated with appropriate technologies. Since you end up buying a fractional ownership, you are much less vested in the upkeep of the property that you end up using and this could be a huge issue with a timeshare ownership of a property versus timeshare ownership of storage or compute cycles. You buy a timeshare ownership with an agency and the sales pitch is that they have working arrangements with other agencies to be able to use the properties that thet control. However, the reservation and billing procedures are significantly convoluted that it may not be easy to transfer your ownership to that favorite property easily. Likewise, with the lack of standards in cloud computing it may be very difficult to transfer the ownership.

The main allure of cloud computing is the promise of infinite scale. The analogy somewhat breaks down here. I guess there is a reaching argument to be made that you could buy more weeks of a timeshare ownership much more easily than to buy more properties, but, maybe you can help me fill this in.

Is it the tail wagging the dog?

The World Mobile Congress which was one of the craziest conferences I attended for it’s sheer size gets underway next week. Good luck finding a room in Barcelona with the conference coinciding with the Valentine’s day weekend.

As the mobile platforms start to dominate information consumption and information manipulation, what are its implications on the backend?

The Apple’s Appstore, the Android market, the Blackberry business solutions, and other mobile applications is rendering platforms relevant again.

Is it the case of the tail wagging the dog, or from a developer perspective is it a different paradigm?