This page attempts to enumerate how OpenStack, Eucalyptus and CloudStack compare.
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: https://launchpad.net/eucalyptus. Info on CloudStack's CloudBridge EC2 Commands was provided from CloudStack's Cloud Bridge Guide: http://docs.cloudstack.org/@api/deki/files/165/CloudBridgeGuide.pdf. 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: https://github.com/CloudStack/CloudBridge
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
|