I'm also realistic, most users who have deployed to the cloud have
written their applications specifically for the Amazon Web Service API
, making it currently the De facto standard. So it occurred to me,
that a potentially big opportunity might be to create an open
universal EC2 API adapter / abstraction layer (UEC2). Unlike
EUCALYPTUS, the EC2 API adapter can work with your existing
infrastructure tools and is completely platform agnostic.
At the heart of this concept would be 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 cloned EC2 API is able to communicate with traditional
virtual infrastructure platforms such as VMware using the 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.
I admit the downside of a universal EC2 abstraction layer is the
increased overhead to transform statements into constructs understood
by the target management platforms.
The Universal EC2 API adapter complements our current unified cloud
interface efforts because in a sense it is a logical inverse. Where
UCI is a semantic representation for all API's, (One API to Rule them
all) the EC2 API is very specific to an infrastructure as a service
environment. The EC2 adapter could easily utilize UCI as an
interchange format allowing for a one to many deployment methodology.
An EC2 abstraction layer will reduce the amount of developer work by
providing a consistent API . To put it another way, rather then coming
at the problem from the top down, your coming at from the bottom up
with UCI in the middle.
To be clear I don't have the time or resources to make this project
happen myself, between my various cloud advocacy efforts and a new
baby, I'm totally overwhelmed. So I'd like to propose we crowd source
this idea. Make it an open source project governed by an enterprise
friendly open source license such as BSD.
If others think this is a good idea, I created a UEC2 Google Group,
(http://groups.google.com/group/UEC2) please go ahead and signup.
Next we round up some sponsors (Starting with CloudCamp / CCIF
Sponsors), put together a Google code project and jointly get to work.
If it's a bad idea, well just ignore my ramblings.
Comments please.
--
Reuven Cohen
CCIF Instigator
Sure, a salesforce API abstraction is cool too.
And yes, I do make this stuff up as I go.
r/c
I was more curious as to why we neeeded an EC2 abstraction layer, since there's already an API for EC2, and libraries for it for the major development languages I'm aware of.
Perhaps I'm missing the goal.
Thanks,
Matt
--
Matthew Zito
Chief Scientist
GridApp Systems
P: 646-452-4090
mz...@gridapp.com
http://www.gridapp.com
-----Original Message-----
From: cloud...@googlegroups.com on behalf of Reuven Cohen
Sent: Thu 3/5/2009 2:58 PM
To: cloud...@googlegroups.com
Subject: Re: The Universal Amazon EC2 API Adapter (UEC2)
All the tools and libraries for EC2 are specific to the Ec2 cloud.
What if you wanted to take your application which was built to scale
against the EC2 API and move it somewhere else?
r/c
Hi Folks
I think what Reuven was trying to say is, there are a lot of folks who are developing various tools, environments, and applications on top of AWS. Some use just EC2, some use EC2 and S3, some use more of the API’s that AWS offers like SimpleDB and so on.
Please consider tools like Rightscale, Elastra, Hyperic and many others.
Other cloud operators have other APIs such as GoGrid, ECP, and VMware. Again not an exhaustive list.
The applications which use EC2 and S3 and (…) run only on AWS. Suppose you want to build your own cloud and run EC2 and S3 apps. Well your only option today is to use Eucalyptus. And I can tell you from personal experience this is not an easy solution. I am sure Eucalyptus will improve, but then Eucalyptus requires the Xen hypervisor. Maybe your company has a stated direction to use VMware. You are stuck. Or you wanted to run your AWs application on GoGrid.
All of these point to the usefulness of a layer, which on the top looks like as uch of AWS as we can implement, and underneath can clue onto a variety of clouds as long as that cloud has some way to issue a VM and some way to support storage mdels which can be mapped to S3.
Having UEC2 would enable you to do this.
Of course, maybe the AWS programming model is not our perfect choice for a “common API”, maybe AWS does not want it to be used in this way (maybe they do however). So there are those open issues.
Irrespective, I believe that this would be of great interest to developers as portability layers always are. And to the platform vendors who have access now to a bunch of applications intended for AWS, now they can run them, that is good for platform vendors.
David Bernstein, Cisco.
You are not the first and probably not the last to question my bias. I
certainly don't expect everyone to agree with my ideas.
If you're interested, I've previously posted an overview of my
opinions & biases.
Cloud Interoperability and The Neutrality Paradox
http://groups.google.com/group/cloudforum/browse_thread/thread/e4dce7e0df1e046b
As for the word coolness, I suppose I could use a more suitable
adjective next time, no sarcasm was intended.
r/c
Your totally right, this is why I'm focusing on the UCI model. The EC2
abstraction concept is just an alternative way to look at the problem.
r/c
>> "most users who have deployed to the cloud have written"Holy Cow, Reuven.. do you just make this stuff up as you go along?
>> "their applications specifically for the Amazon Web Service API"
You yourself just ran Salesforce's $1 Billion a year business up the flagpole! In the first quarter of 2008 alone they signed up nearly 3,000 new companies - and it never stops. And how about Intuit's and Oracles and Caspio's 10's of thousands of Cloud customers? Or all of the other Cloud/XaaS vendors that you ought to be aware of?
I have a few ideas of why you might have made such a statement, but I'd like to hear you defend this pseudo-fact that you present as a reason to buy into all of the rest of your statements?
TL
- Show quoted text -