Nova/APIFeatureComparison
< Nova
Contents
EC2 API Comparison Matrix
This page attempts to enumerate how OpenStack, Eucalyptus and Apache CloudStack compare in regards to EC2 API support. Corrections/contributions welcome.
General API Support
Feature | Eucalyptus | OpenStack | Apache CloudStack |
EC2 Query API | Y | Y | Y |
EC2 Soap API | (./) | X | (./) |
OpenStack API / Rackspace API | X | (./) | 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 | Apache CloudStack |
Shared AMIs | (./) | (./) | (./) |
Parameterized launch (user-data) | (./) | (./) | (./) |
Instance metadata | (./) | (./) | (./) |
Public AMI's | (./) | (./) | (./) |
Launch/Terminate Instance | (./) | (./) | (./) |
Reboot Instance | (./) | (./) | (./) |
Start/Stop Persisted Instance | X | (./) | (./) |
Retrieve Console Output | (./) | (./) | X |
Paid AMI's | X | X | X |
Multiple Instance Types | (./) | (./) | (./) |
Instance Launch Time | (./) | (./) | (./) |
Elastic IP's | (./) | (./) | (./) |
Availability Zones | (./) | (./) | (./) |
Region Support | (./) | (./) | (./) |
User selectable kernels | (./) | (./) | X |
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 | X |
Virtual Private Cloud (IPSec) | X | X | (./) |
Shared Snapshots | X | X | (./) |
AMI's backed by EBS | X | (./) | (./) |
Spot Instances | X | 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 | 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 EC2 Commands was provided from CloudStack's AWS API Guide. Eucalyptus and OpenStack's EC2 support is integrated into the respective code bases. Source code for the Apache CloudStack EC2 API is here.
EC2 API method | Eucalyptus | OpenStack | Apache CloudStack |
AllocateAddress | (./) | (./) | (./) |
AssociateAddress | (./) | (./) | (./) |
AttachVolume | (./) | (./) | (./) |
AuthorizeSecurityGroupIngress | (./) | (./) | (./) |
BundleInstance | X | X | X |
CancelBundleTask | X | X | X |
CancelSpotInstanceRequests | X | X | X |
ConfirmProductInstance | X | X | X |
CreateImage | X | X | (./) |
CreateKeyPair | (./) | (./) | (./) |
CreatePlacementGroup | X | X | X |
CreateSecurityGroup | (./) | (./) | (./) |
CreateSnapshot | (./) | (./) | (./) |
CreateSpotDatafeedSubscription | X | X | X |
CreateTags | X | X | X |
CreateVolume | (./) | (./) | (./) |
DeleteKeyPair | (./) | (./) | (./) |
DeletePlacementGroup | X | X | X |
DeleteSecurityGroup | (./) | (./) | (./) |
DeleteSnapshot | (./) | (./) | (./) |
DeleteSpotDatafeedSubscription | X | X | X |
DeleteTags | X | X | X |
DeleteVolume | (./) | (./) | (./) |
DeregisterImage | (./) | (./) | (./) |
DescribeAddresses | (./) | (./) | (./) |
DescribeAvailabilityZones | (./) | (./) | (./) |
DescribeBundleTasks | X | X | X |
DescribeImageAttribute | (./) | (./) | (./) |
DescribeImages | (./) | (./) | (./) |
DescribeInstanceAttribute | X | X | (./) |
DescribeInstances | (./) | (./) | (./) |
DescribeKeyPairs | (./) | (./) | (./) |
DescribePlacementGroups | X | X | X |
DescribeRegions | (./) | (./) | (./) |
DescribeReservedInstances | X | X | X |
DescribeReservedInstancesOfferings | X | X | X |
DescribeSecurityGroups | (./) | (./) | (./) |
DescribeSnapshotAttribute | X | X | X |
DescribeSnapshots | (./) | (./) | (./) |
DescribeSpotDatafeedSubscription | X | X | X |
DescribeSpotInstanceRequests | X | X | X |
DescribeSpotPriceHistory | X | X | X |
DescribeTags | X | X | X |
DescribeVolumes | (./) | (./) | (./) |
DetachVolume | (./) | (./) | (./) |
DisassociateAddress | (./) | (./) | (./) |
GetConsoleOutput | (./) | (./) | X |
GetPasswordData | X | X | (./) |
ImportKeyPair | X | (./) | (./) |
ModifyImageAttribute | (./) | (./) | (./) |
ModifyInstanceAttribute | X | X | X |
ModifySnapshotAttribute | X | X | X |
MonitorInstances | X | X | X |
PurchaseReservedInstancesOffering | X | X | X |
RebootInstances | (./) | (./) | (./) |
RegisterImage | (./) | (./) | (./) |
ReleaseAddress | (./) | (./) | (./) |
RequestSpotInstances | X | X | X |
ResetImageAttribute | (./) | X | (./) |
ResetInstanceAttribute | X | X | X |
ResetSnapshotAttribute | X | X | X |
RevokeSecurityGroupIngress | (./) | (./) | (./) |
RunInstances | (./) | (./) | (./) |
StartInstances | X | (./) | (./) |
StopInstances | X | (./) | (./) |
TerminateInstances | (./) | (./) | (./) |
UnmonitorInstances | X | X | X |