Amazon Web Services: an instance of weakness as strength

“Perhaps ironically, the less Amazon do themselves, the more popular AWS will be. Instance-based clouds are portable… unlike the fabric offerings of Amazon competitors. What other firms see as a weakness (“not enough IP in AWS”) is actually a strength…”

It was my business partner Stephen O’Grady who made the simple Instance vs Fabric distinction, and I find it pretty useful in contextualising the cloud. Of course any instance cloud has some fabric qualities, and any fabric also has some instance to it.

When you look at the market though its pretty clear the fabric players are suffering from feature-itis. No surprises there given cloud definitions are so flaky, but in the meantime Amazon is just getting on with it.

Compare and contrast with other players.

Take the Google cloud fabric, otherwise known as App Engine. Google seems to be puttering around, in some cases carrying out science experiments like porting Jaiku to AppEngine, before working out it doesn’t know what it actually wants to do with it (“Google will no longer actively develop the codebase”).

Or lets consider Microsoft Azure – the fabric fell down for 22 hours last weekend, but seemingly noone noticed. Azure is in limited beta, and so on… but my question for Microsoft is: why not just offer some Windows machine instances for developers to deploy to, a kind of simple Azure onramp? Note to self: ask Amazon how Windows in EC2 is going. Its especially surprising that Microsoft is delivering something that requires developers to learn a bunch of new methods because normally the firm is all about backwards compatibility. The beauty of instance simplicity is… no new skills.

The problem with fabric complexity is the promises being made: “your apps will scale linearly”.

What about the enterprisey types? Salesforce.com is clearly the most successful fabric play at this point, by some margin. Third parties like Coda have built entire financial applications, namely Coda2go, from the ground up to run on Force.com.

I have had some interesting chats with some senior technical leaders at companies like IBM and SAP in the last few months who have been dismissive of the Amazon Web Services cloud offerings. My favourite comment – “there isn’t much IP in there”.

Not much IP perhaps. But check out the success. I have seen all this before. A few times. There was a time IBM thought the Oracle database couldn’t threaten its own Mainframe DB2. IBM later ceded x86 virtualisation to VMWare partly because it thought there “isn’t much IP in there”. IBM invented virtualisation- no upstart was going to be able to do what IBM could. Maybe not- but perhaps virtualisation has some different roles to play.

Amazon is the new VMWare. The adoption patterns are going to similar. Enterprise will see AWS as a test and development environment first, but over time production workloads will migrate there.

IBM now supports AWS (check it out, it really On Demand!), joining Adobe and Oracle. None of these programs required code rewrites. That’s the genius of AWS. The Amazon blog talked to the Oracle offering like so:

What does this mean? Instead of budgeting for and acquiring hardware, setting it up, installing an operating system and several layers of complex packages, you can simply launch one of these AMIs on EC2 and be up and running in minutes. This is definitely no-fuss, no-muss application development and deployment.

Amazon isn’t the de facto standard cloud services provider because it is complex – it is the leader because the company understands simplicity at a deep level, and minimum progress to declare victory. Competitors should take note – by the time you have established a once and future Fabric infrastructure Amazon is going to have created a billion dollar market. And what then? It will start offering more and more compelling fabric calls… People will start relying on things like SimpleDB and Simple Queue Service. Will that mean less portability? Sure it will…

Brandon Watson from Microsoft alludes to the dynamics I am describing here.

I think the key takeaways would be that Amazon has built some very cool technology and they continue to innovate. However, that must be tempered with some cost considerations (tied to growth) and the fact that the platform itself doesn’t solve any hard problems for you. Google, on the other hand, has little in the way of cost concerns (they have a stated goal of supporting up to 5 million page views for free), but what you can do with the framework is pretty limiting in the context of the richness of applications now possible. Lastly, Azure is a contender, but we have some things yet to prove, and of course, we are late to the game.

“Amazon is the new VMWare. The adoption patterns are going to similar. Enterprise will see AWS as a test and development environment first, but over time production workloads will migrate there.”

love that bit, and completely agree. what was once a pilot project or a toy is inevitably and inexorably becoming a production workload, and woe to those that assume the status quo vis a vis the perception of the service will indefinitely remain.

James, I completely agree that provisioning machines is a hard problem. However, that problem has largely been solved with innovation in system center management options available. Even using something as simple as Ghost, a startup can clone and deploy new boxes. Now, solving some of the problems associated with *when* to add that new box, and (perhaps more importantly, when to take it down…that’s not solved by Amazon.

Further, consider the difficulties in scaling a MySQL instance. Amazon helps you get that instance onto more machines, but that’s where their help stops. Sharding and user data partitioning are hard problems. The simple answer is having a single connect string and forgetting about the database, and that’s what is being offered with SQL Data Services. Furthermore, the collective knowledge around RDBMS make solutions like BigTable and SimpleDB harder to take on – leaving MySQL, Postgres as the options for startups, or MSFT SQL through the BizSpark program.

Amazon is a great hoster, and we love them as a partner in that regard. Microsoft is a platform company, and while we might be a little behind now, I hope you guys aren’t counting us out. Do a search over Twitter for #Mix09 to see the excitement about the breadth of our platform offerings that hit this week. We’re about making web, not war, and getting developers and designers what they need to build great apps, not be system admins.

Kenneth Bellsays:

I like to think of ‘the cloud’ having two tiers – the Instance Tier (EC2) and the Service Tier (Azure, SalesForce). The Service Tier is your Fabric Tier.

The Service Tier should be able to run on the Instance Tier – even better distributed across many Instance Tier providers.

Because Service Tiers come with their own hosting capability, you’re actually being locked into a single vertical stack.

I want to select my Service Tier based on functionality, ease of development, etc – in the knowledge there’s some degree of lock-in. I want to select my Instance Tier on geographic location, compute price, storage costs, etc – and use my Service Tier to prevent lock-in.

The challenge for the Service Tier – although it’s where the IP is, how do you monetize it, to make it attractive? When there’s a good, Free (as in beer) Open Source Service Tier that runs on multiple Instance Tiers – why would I ever pay for a proprietary Service Tier?

There’s inherent value in the Instance Tier – energy, capacity, etc – easier to monetize and not something that comes for free.

Amazon’s simplicity is very attractive. Compile your linux-based program, upload and run. The fact that you can flip a switch and be hosting on another continent is also attractive.

A few years ago I would probably have blindly gone with salesforce.com in that they have the platform and the tools. But if something happens to them, what do you do with your application? If they don’t fall, what if they feel like doubling their prices? Likewise, their per user pricing makes them more of a business partner than a hosting company.

I have seen such large companies fall in recent years that I believe no one is immune.

Kenneth, that’s some good thinking. I like it and may steal it from you. 🙂 That said, I think with some of the announcements from Mix09 around geolocation and non-managed code hosting from Azure that your tiering model breaks down a little as it applies to Azure.

James Governorsays:

Ric – you are such a sweetie. I told Alexis Richardson you had name checked CohesiveFT, but I see CEO Patrick Kerpan is already here.

Brandon – be a little careful. I understand the Azure downtime was due to an OS upgrade, right? I take your point though, and frankly, the SQL Data Services stuff was the most interesting to come out of PDC. I just haven’t heard about people *using* it. Azure has lots of goodness, but until we see developers using the services we can’t really get a view.

Matt Patterson and Pat Patterson – thanks a lot for the confirmations. For obvious reasons I greatly respect both your opinions.

Kenneth- what Brandon said. Great stuff.

Paul- nice to hear from you. Thanks for confirming the point with some real world thinking.

Patrick Kerpan- we try! “apps that aren’t Channel4 or Animoto. Just the tedious day in – day out stuff of IT.” hah!

AWS is a market on a network, in Kenneth Bell’s model the network is first the instance tier, and the Market is the service tier. They build the network, the market builds itself and reinforces the network.

Unfortunately when viewed through IP colored glasses the fabric/IP/service layer appears designed to corner the market hence Azure/App engine and other similar approaches = less attractive to market participants.

I think Amazon gotta a lot right, I also believe that Ubuntu could proliferate the model assuming Amazon don’t throw them to many speed bumps 😉

[…] recently been arguing, Amazon is doing fantastically well for pretty much the opposite reason – it keeps things simple and delivers functionality for the many, rather than the few. Of course I am also the guy that said […]

[…] pattern similar to what we see today; James is exactly right, in my view, when he says that Amazon is the new VMware. In other words, we can expect pilot projects to be followed by discrete, tactical employment of […]

[…] Simplicity, as Cloudscaling’s Randy Bias notes, scales. And Amazon, more than any other cloud provider or online retailer, knows simplicity – and scale. This is perhaps Amazon’s greatest strength, as Redmonk’s James Governor illustrates. […]

[…] at least initially, is going to be used as a dev tool, under what James Governor calls the VMware pattern. Containers are used to improve dev, staging and production, rather than being aimed initially at […]

[…] So far Lambda adoption has been a little slow, partly because it doesn’t fit into established dev pipelines and toolchains, but also almost certainly because of fears over lock-in. Amazon historically has dominated the Cloud market precisely becuse it was Infrastructure, rather than platform services play. As I said back in 2009: […]

[…] subsidiary the firm needs to be more careful than ever. Also note HSBC is using AWS for dev/test, a standard pattern for new platform adoption, but chose Google for a data intensive compliance workload that is literally existential to the […]