Tuesday, April 08, 2008

Amazon vs Google

Today, there has been a lot of talk about Amazon vs Google in the cloud computing world. In my opinion Amazon could be facing a losing battle.

Why? To explain this, I first need to cover a bit of recent history. A couple of years back, the company I ran, built a utility computing service with an application development framework known as Zimki

You can think of it as an earlier GoogleAppEngine but with JavaScript not Python. Now, a key part of the product strategy was to open source the technology in order to encourage a competitive ecosystem of providers. This was designed to overcome the lock-in issues associated with Software as a Service

By aiming to create a competitive ecosystem, we were adopting an approach of a small piece of a big pie rather than a big piece of a small one.

The key to building an ecosystem is to have a standard language, a standard set of primitives and complete portability of code and data. For a developer, if your code uses these standards then you know it will run in any standard environment, no matter who the provider is. You also can switch to any other provider. To make this work required two things:-

  1. A fast way for vendors to operationally implement the standard without losing strategic control of their business. This requires open source.
  2. Some form of assurance and monitoring service, to ensure primitives were complied with and portability maintained.

Now, whilst Google hasn't provided their environment as open sourced, it has provided an open sourced SDK that "emulates all of the App Engine services on your local computer". This appears, though I'm not a python expert, to contain all the primitives and information needed to build a compatible environment to GoogleAppEngine. This allows for companies, vendors and ISPs to create competing but compatible systems. It's almost as if Google has offered a blueprint for a web operating environment and asked the rest of the community to come compete with them. It appears that way, because that's exactly what they have done.

I suspect that challenge will be taken up rather rapidly. It may not be the fastest way of creating a standard but it potentially will achieve the same result, especially if a credible competing open sourced version is created.

As soon as that ecosystem starts, I personally think it's curtains for any alternative environment that doesn't adopt such an approach. A market of competing providers is always more attractive to a consumer than a monopoly. There is one exception to this, which I've highlighted before.

Interesting times ahead. I'm becoming more impressed with Google's move and the SDK. Of course, I'm looking forward to the JavaScript version.

One last thing, if there are group of people out there suddenly thinking why don't we build a highly scaleable open sourced service which matches the standards outlined in the GoogleAppEngine Open SDK, please let me know!

--- 16th April 2014

In the end, there was little adoption and provision of an alternative GAE based upon the SDK other than the work of AppScale. Hence no market of alternative providers was built. However, the above game has been once again played (but much later) with Cloud Foundry which is providing a fully open sourced platform. This looks more promising.