Jump to: navigation, search

Difference between revisions of "Nova/APIFeatureComparison"

Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
=== EC2 API Comparison Matrix ===
+
= EC2 API Comparison Matrix =
  
 
This page attempts to enumerate how [[OpenStack]], Eucalyptus and [[CloudStack]] compare in regards to EC2 API support.  Corrections/contributions welcome.
 
This page attempts to enumerate how [[OpenStack]], Eucalyptus and [[CloudStack]] compare in regards to EC2 API support.  Corrections/contributions welcome.
  
= General API Support =
+
== General API Support ==
  
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
Line 40: Line 40:
 
|}
 
|}
  
= Amazon EC2 High Level Feature Support =
+
== Amazon EC2 High Level Feature Support ==
  
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
Line 184: Line 184:
 
|}
 
|}
  
= Amazon EC2 API Compatability =
+
== Amazon EC2 API Compatability ==
  
 
Note: Info on Eucalyptus was provided entirely by doing a grep of the source code. The Eucalyptus repository is [https://launchpad.net/eucalyptus here].  Info on [[CloudStack]]'s [[CloudBridge]] EC2 Commands was provided from [http://docs.cloudstack.org/@api/deki/files/165/CloudBridgeGuide.pdf CloudStack's Cloud Bridge Guide]. Eucalyptus and [[OpenStack]]'s EC2 support is integrated into the respective code bases.  [[CloudStack]]'s support is provided by running a [[CloudBridge]] proxy server.  Source code for the [[CloudBridge]] proxy is [https://github.com/CloudStack/CloudBridge here].
 
Note: Info on Eucalyptus was provided entirely by doing a grep of the source code. The Eucalyptus repository is [https://launchpad.net/eucalyptus here].  Info on [[CloudStack]]'s [[CloudBridge]] EC2 Commands was provided from [http://docs.cloudstack.org/@api/deki/files/165/CloudBridgeGuide.pdf CloudStack's Cloud Bridge Guide]. Eucalyptus and [[OpenStack]]'s EC2 support is integrated into the respective code bases.  [[CloudStack]]'s support is provided by running a [[CloudBridge]] proxy server.  Source code for the [[CloudBridge]] proxy is [https://github.com/CloudStack/CloudBridge here].

Revision as of 20:23, 6 April 2012

EC2 API Comparison Matrix

This page attempts to enumerate how OpenStack, Eucalyptus and CloudStack compare in regards to EC2 API support. Corrections/contributions welcome.

General API Support

Feature Eucalyptus OpenStack
EC2 Query API (./) (./)
EC2 Soap API (./) X
OpenStack API / Rackspace API X (./)
SSL Between Components (./) X
Horizontal Component Scalability X (./)
Web-based UI (./) (./)
Command line interface (./) (./)

Amazon EC2 High Level Feature Support

EC2 feature Eucalyptus OpenStack
Shared AMIs (./) (./)
Parameterized launch (user-data) (./) (./)
Instance metadata (./) (./)
Public AMI's (./) (./)
Launch/Terminate Instance (./) (./)
Reboot Instance (./) (./)
Start/Stop Persisted Instance X (./)
Retrieve Console Output (./) (./)
Paid AMI's X X
Multiple Instance Types (./) (./)
Instance Launch Time (./) (./)
Elastic IP's (./) (./)
Availability Zones (./) (./)
Region Support (./) (./)
User selectable kernels (./) (./)
Elastic Block Store (./) (./)
Booting without a ramdisk (./) (./)
Windows Support X (./)
Reserved Instances X X
Auto Scaling X X
Elastic Load Balancing X X
CloudWatch X X
Virtual Private Cloud (IPSec) X X
Shared Snapshots X X
AMI's backed by EBS X (./)
Spot Instances X X
Sticky session in Elastic LB X X
cc1.4xlarge X X
Specify IP address for inst in VPC X X
Tags X X
Filters X X
Idempotent RunInstance Calls X X
Import keypair X (./)
SSL termination X X

Amazon EC2 API Compatability

Note: Info on Eucalyptus was provided entirely by doing a grep of the source code. The Eucalyptus repository is here. Info on CloudStack's CloudBridge EC2 Commands was provided from CloudStack's Cloud Bridge Guide. Eucalyptus and OpenStack's EC2 support is integrated into the respective code bases. CloudStack's support is provided by running a CloudBridge proxy server. Source code for the CloudBridge proxy is here.

EC2 API method Eucalyptus OpenStack
AllocateAddress (./) (./)
AssociateAddress (./) (./)
AttachVolume (./) (./)
AuthorizeSecurityGroupIngress (./) (./)
BundleInstance X X
CancelBundleTask X X
CancelSpotInstanceRequests X X
ConfirmProductInstance X X
CreateImage X X
CreateKeyPair (./) (./)
CreatePlacementGroup X X
CreateSecurityGroup (./) (./)
CreateSnapshot (./) (./)
CreateSpotDatafeedSubscription X X
CreateTags X X
CreateVolume (./) (./)
DeleteKeyPair (./) (./)
DeletePlacementGroup X X
DeleteSecurityGroup (./) (./)
DeleteSnapshot (./) (./)
DeleteSpotDatafeedSubscription X X
DeleteTags X X
DeleteVolume (./) (./)
DeregisterImage (./) (./)
DescribeAddresses (./) (./)
DescribeAvailabilityZones (./) (./)
DescribeBundleTasks X X
DescribeImageAttribute (./) (./)
DescribeImages (./) (./)
DescribeInstanceAttribute X X
DescribeInstances (./) (./)
DescribeKeyPairs (./) (./)
DescribePlacementGroups X X
DescribeRegions (./) (./)
DescribeReservedInstances X X
DescribeReservedInstancesOfferings X X
DescribeSecurityGroups (./) (./)
DescribeSnapshotAttribute X X
DescribeSnapshots (./) (./)
DescribeSpotDatafeedSubscription X X
DescribeSpotInstanceRequests X X
DescribeSpotPriceHistory X X
DescribeTags X X
DescribeVolumes (./) (./)
DetachVolume (./) (./)
DisassociateAddress (./) (./)
GetConsoleOutput (./) (./)
GetPasswordData X X
ImportKeyPair X X
ModifyImageAttribute (./) (./)
ModifyInstanceAttribute X X
ModifySnapshotAttribute X X
MonitorInstances X X
PurchaseReservedInstancesOffering X X
RebootInstances (./) (./)
RegisterImage (./) (./)
ReleaseAddress (./) (./)
RequestSpotInstances X X
ResetImageAttribute (./) X
ResetInstanceAttribute X X
ResetSnapshotAttribute X X
RevokeSecurityGroupIngress (./) (./)
RunInstances (./) (./)
StartInstances X X
StopInstances X X
TerminateInstances (./) (./)
UnmonitorInstances X X