2009年6月19日金曜日

Amazon to Open Source Web Services API's

Amazonの進めようとしている、と噂されている自社のAPIの公開についての分析。 
 
API公開によって、既に事実上の標準仕様となっているEC2とS3に対して、さらに市場を広げる効果がある。 
 
また、Private Cloud環境の構築の促進にもつながり、Enteprise市場でのAWSの採用が広がるきっかけになる可能性も高い。  その例として、SunのOpen Cloud PlatformやEucalyptis Project等の開発がさらに進む可能性が高い。 
 
このコンセプトの延長線上にUniversal EC2 API Adaptor、という事が議論されている。  これは、ODBCと非常に似たコンセプトで、さまざまなプラットホームにプラグインのライブラリのような形を取り、そのプラットホームのインタフェースに全く依存しないAPIを提供する技術の事を指す。  このプラグインが導入されればどのような環境上でもEC2のアプリケーションが稼動する、という仕掛け。

I usually try to avoid posting rumors but this one is particularly interesting, I first heard about it a few weeks back but recently had independent confirmation. Word is Amazon's legal team is currently "investigating" open sourcing their various web services API's including EC2, S3 etc. (The rumor has not been officially confirmed by Amazon, but my sources are usually pretty good)

If true, this move makes a lot of sense for a number of reasons. The first and foremost is it would help foster the adoption of Amazon's API's which are already the de facto standards used by hundreds of thousands of AWS customers around the globe thus solidifying Amazons position as the market leader.

By actually giving their stamp of approval, they would be in a sense officially giving the opportunity for other players to embrace the interface methods while keeping the actual implementation (their secret sauce) a secret. If anything this may really help Amazon win over Enterprise customers by enabling an ecosystem of compatible "private cloud" products and services that could seamlessly move between Amazon's Public Cloud and existing data center infrastructure.

This would also continue the momentum started by a number of competitors/partners who have begun adopting the various AWS API's including Sun Microsystems in their Open Cloud Platform and the EUCALYPTUS project.

From a legal standpoint this would help negate some of the concerns around API liability. Amazon is known to have an extensive patent portfolio and in past has not been afraid to enforce it. A clear policy regarding the use of their API's would certainly help companies that up until now have been reluctant to adopt them.

Lastly this provides the opportunity to foster a ecosystem of API driven applications to emerge (
EUCALYPTUS is perfect example). Another possible opportunity I wrote about awhile back is the creation of a Universal EC2 API adapter (UEC2) that could plug into your existing infrastructure tools and is completely platform agnostic.

At the heart of this concept is a universal EC2 abstraction, similar to ODBC, (a platform-independent database abstraction layer). Like ODBC a user could install the specific EC2 api-implementation, through which a lightweight EC2 API daemon (Think Libvirt) is able to communicate with traditional virtual infrastructure platforms such as VMware, Xen, Hyper-V etc using a standardized EC2 API. The user then has the ability to have their EC2 specific applications communicate directly with any infrastructure using this EC2 Adapter. The adapter then relays the results back and forth between the the other various infrastructure platforms & API's. Maybe it's time for me to get moving on this concept.