Today there was a debate among the #clouderati about whether OpenStack should standardize their APIs around AWS APIs. Even though two years back I had an opinion that standardizing around AWS API will be good because of interoperability advantages, I have since changed my position and I now feel that it is too early to standardize the APIs. The back and forth debate on Twitter brought in enough emotions, marketing pushes, etc.. I thought I will do a quick post to list out my arguments against standardization (keep in mind I am not arguing against standardizing on AWS API but rather I am arguing that we don’t standardize now against any API). Here are some of the reasons why I am against standardization.
- We are still very early in the cloud services maturity. Any efforts to standardize at this point will stymie innovation. Using Simon Wardley’s (one of the biggest proponent of standardization around AWS APIs) own technology lifecycle model, it is my argument that we are still either in the innovation part or early custom development part of the curve for cloud infrastructure. We can worry about standardization when we get to the products stage of the lifecycle. There is no need to short-circuit this natural evolution and productize everything around AWS APIs. Update: Simon is arguing that my application of his lifecycle model is not right. He says it has to be applied for infrastructure as a whole and see cloud as the utility phase. He may be right in the application of the lifecycle model but I still feel that it is too early to standardize the cloud infrastructure because it is a very tiny piece of the entire infrastructure market.
- AWS APIs are proprietary and Amazon hasn’t open licensed them. Even though we could reverse engineer the API and take advantage of DMCA safe harbor provisions, it is still not worth the risk when we take into account the fact that we are still in the early stages of cloud infrastructure technology. I will be suspicious of Amazon’s future intentions in spite of them having a large ecosystem. Just ask some of their ecosystem players how they feel after being poached by Amazon.
- Even though AWS has wide reach and many want compatibility with AWS API, there are third party tools that ensure interoperability. One of the criticisms against the use of third party tools is that it works on lowest common set of features. I do agree with this argument. However, the pain levels among the customers hasn’t reached a point where there is large scale demand for standardization. Whenever the pain levels becomes intolerable, there will be enough market pressure calling for standardization with all the players sitting across the table and working things out (much like the election year payroll tax cut in US politics). Till that point, any efforts to standardize the APIs is premature.
- If reliance on third party tools is the case of compromising on lowest common set of features, premature standardization on AWS API is a case of stymying innovation around what AWS APIs can allow.
- One of the arguments put forward for standardization around AWS API is the guestimate putting AWS revenues at 1 Billion. Even though it is a big number if we just consider the cloud segment, it is peanuts when we consider the entire IT. One cannot standardize the future of IT based on such small marketshare.
- If PaaS is going to be the future face of IT, why bother about standardization at the infrastructure now stymying any potential innovation up the stack?
Anyhow, I always tweak my models based on the real world data, as opposed to economists approach of wanting real world data to fit their models, and I am ok with changing my opinion (didn’t I do it already on this topic?) if there are enough evidence to demand an early standardization. Till I see any need for it, I will keep arguing against any standardization around AWS APIs NOW.