Jump to: navigation, search

Difference between revisions of "Nova/APIFeatureComparison"

(EC2 API Comparison Matrix)
(Amazon EC2 API Compatability)
 
(5 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
= EC2 API Comparison Matrix =
 
= EC2 API Comparison Matrix =
  
This page attempts to enumerate how [[OpenStack]], Eucalyptus and [https://cloudstack.apache.org/ Apache CloudStack]  compare in regards to EC2 API support.  Corrections/contributions welcome.
+
This page attempts to enumerate how [[OpenStack]], Eucalyptus and [https://cloudstack.apache.org/ Apache CloudStack]  compare in regards to EC2 API support.  Corrections/contributions welcome. ''X indicates unsupported''.
  
 
== General API Support ==
 
== General API Support ==
Line 35: Line 35:
 
|-
 
|-
 
|  Horizontal Component Scalability     
 
|  Horizontal Component Scalability     
|<span style="font-size: large; color: white; background: red">|X</span>       
+
| (./)     
 
|  (./)       
 
|  (./)       
 
|  (./)       
 
|  (./)       
Line 90: Line 90:
 
|-
 
|-
 
|  Start/Stop Persisted Instance       
 
|  Start/Stop Persisted Instance       
|<span style="font-size: large; color: white; background: red">|X</span>     
+
| (./
 
|  (./)       
 
|  (./)       
 
|  (./)   
 
|  (./)   
Line 146: Line 146:
 
|-
 
|-
 
|  Windows Support                       
 
|  Windows Support                       
|<span style="font-size: large; color: white; background: red">|X</span>     
+
|     (./)   
 
|      (./)  
 
|      (./)  
 
|      (./)   
 
|      (./)   
Line 156: Line 156:
 
|-
 
|-
 
|  Auto Scaling                         
 
|  Auto Scaling                         
|<span style="font-size: large; color: white; background: red">|X</span>     
+
| (./)   
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|      (./)         
 
|      (./)         
 
|-
 
|-
 
|  Elastic Load Balancing               
 
|  Elastic Load Balancing               
|<span style="font-size: large; color: white; background: red">|X</span>        
+
| (./)        
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|      (./)     
 
|      (./)     
 
|-
 
|-
 
|  [[CloudWatch]]                           
 
|  [[CloudWatch]]                           
|<span style="font-size: large; color: white; background: red">|X</span>        
+
|(./)        
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
Line 182: Line 182:
 
|-
 
|-
 
|  AMI's backed by EBS                   
 
|  AMI's backed by EBS                   
|<span style="font-size: large; color: white; background: red">|X</span>        
+
|(./)        
 
|      (./)   
 
|      (./)   
 
|      (./)     
 
|      (./)     
Line 193: Line 193:
 
|-
 
|-
 
|  Sticky session in Elastic LB         
 
|  Sticky session in Elastic LB         
|<span style="font-size: large; color: white; background: red">|X</span>        
+
| (./)        
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|      (./)     
 
|      (./)     
Line 208: Line 208:
 
|-
 
|-
 
|  Tags                                 
 
|  Tags                                 
|<span style="font-size: large; color: white; background: red">|X</span>        
+
| (./)        
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|      (./)       
 
|      (./)       
 
|-
 
|-
 
|  Filters                               
 
|  Filters                               
|<span style="font-size: large; color: white; background: red">|X</span>        
+
| (./)        
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|      (./)     
 
|      (./)     
Line 223: Line 223:
 
|-
 
|-
 
|  Import keypair                       
 
|  Import keypair                       
|<span style="font-size: large; color: white; background: red">|X</span>     
+
| (./)   
 
|      (./)   
 
|      (./)   
 
|      (./)   
 
|      (./)   
 
|-
 
|-
 
|  SSL termination                       
 
|  SSL termination                       
|<span style="font-size: large; color: white; background: red">|X</span>     
+
| (./)     
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|      (./)       
 
|      (./)       
Line 264: Line 264:
 
|-
 
|-
 
|  BundleInstance                     
 
|  BundleInstance                     
|<span style="font-size: large; color: white; background: red">|X</span> 
+
| (./
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>   
Line 284: Line 284:
 
|-
 
|-
 
|  CreateImage                         
 
|  CreateImage                         
|<span style="font-size: large; color: white; background: red">|X</span>    
+
| (./)    
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|  (./)       
 
|  (./)       
Line 314: Line 314:
 
|-
 
|-
 
|  CreateTags                         
 
|  CreateTags                         
|<span style="font-size: large; color: white; background: red">|X</span>    
+
| (./)    
|<span style="font-size: large; color: white; background: red">|X</span>     
 
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 +
| (./)     
 
|-
 
|-
 
|  CreateVolume                       
 
|  CreateVolume                       
Line 352: Line 352:
 
|-
 
|-
 
|  DeleteTags                         
 
|  DeleteTags                         
|<span style="font-size: large; color: white; background: red">|X</span>    
+
| (./)    
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|<span style="font-size: large; color: white; background: red">|X</span>
|<span style="font-size: large; color: white; background: red">|X</span>        
+
| (./)        
 
        
 
        
 
|-
 
|-
Line 395: Line 395:
 
|-
 
|-
 
|  DescribeInstanceAttribute           
 
|  DescribeInstanceAttribute           
|<span style="font-size: large; color: white; background: red">|X</span>    
+
| (./)    
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|  (./)       
 
|  (./)       
Line 436: Line 436:
 
|-
 
|-
 
|  DescribeSnapshotAttribute           
 
|  DescribeSnapshotAttribute           
|<span style="font-size: large; color: white; background: red">|X</span> 
+
| (./)
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
Line 464: Line 464:
 
|-
 
|-
 
|  DescribeTags                       
 
|  DescribeTags                       
|<span style="font-size: large; color: white; background: red">|X</span>    
+
| (./)    
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
Line 496: Line 496:
 
|-
 
|-
 
|  ImportKeyPair                       
 
|  ImportKeyPair                       
|<span style="font-size: large; color: white; background: red">|X</span> 
+
| (./
 
|  (./)       
 
|  (./)       
 
|  (./)       
 
|  (./)       
Line 506: Line 506:
 
|-
 
|-
 
|  ModifyInstanceAttribute             
 
|  ModifyInstanceAttribute             
|<span style="font-size: large; color: white; background: red">|X</span> 
+
| (./)
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
Line 512: Line 512:
 
|-
 
|-
 
|  ModifySnapshotAttribute             
 
|  ModifySnapshotAttribute             
|<span style="font-size: large; color: white; background: red">|X</span> 
+
| (./
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
Line 556: Line 556:
 
|-
 
|-
 
|  ResetInstanceAttribute             
 
|  ResetInstanceAttribute             
|<span style="font-size: large; color: white; background: red">|X</span>    
+
| (./)    
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
Line 562: Line 562:
 
|-
 
|-
 
|  ResetSnapshotAttribute             
 
|  ResetSnapshotAttribute             
|<span style="font-size: large; color: white; background: red">|X</span>    
+
| (./)    
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>   
 
|<span style="font-size: large; color: white; background: red">|X</span>       
 
|<span style="font-size: large; color: white; background: red">|X</span>       
Line 579: Line 579:
 
|-
 
|-
 
|  StartInstances                     
 
|  StartInstances                     
|<span style="font-size: large; color: white; background: red">|X</span>    
+
| (./)    
 
|  (./)       
 
|  (./)       
 
|  (./)       
 
|  (./)       
 
|-
 
|-
 
|  StopInstances                       
 
|  StopInstances                       
|<span style="font-size: large; color: white; background: red">|X</span> 
+
| (./
 
|  (./)     
 
|  (./)     
 
|  (./)       
 
|  (./)       

Latest revision as of 18:55, 5 June 2014

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. X indicates unsupported.

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 (./) (./) (./)
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 (./) (./) (./)
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 (./) (./) (./)
Reserved Instances X X (./)
Auto Scaling (./) X (./)
Elastic Load Balancing (./) X (./)
CloudWatch (./) X X
Virtual Private Cloud (IPSec) X X (./)
Shared Snapshots X X (./)
AMI's backed by EBS (./) (./) (./)
Spot Instances X X X
Sticky session in Elastic LB (./) X (./)
cc1.4xlarge X X (./)
Specify IP address for inst in VPC X X (./)
Tags (./) X (./)
Filters (./) X (./)
Idempotent RunInstance Calls X X X
Import keypair (./) (./) (./)
SSL termination (./) 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
CancelBundleTask X X X
CancelSpotInstanceRequests X X X
ConfirmProductInstance X X X
CreateImage (./) X (./)
CreateKeyPair (./) (./) (./)
CreatePlacementGroup X X X
CreateSecurityGroup (./) (./) (./)
CreateSnapshot (./) (./) (./)
CreateSpotDatafeedSubscription X X X
CreateTags (./) X (./)
CreateVolume (./) (./) (./)
DeleteKeyPair (./) (./) (./)
DeletePlacementGroup X X X
DeleteSecurityGroup (./) (./) (./)
DeleteSnapshot (./) (./) (./)
DeleteSpotDatafeedSubscription X X X
DeleteTags (./) X (./)
DeleteVolume (./) (./) (./)
DeregisterImage (./) (./) (./)
DescribeAddresses (./) (./) (./)
DescribeAvailabilityZones (./) (./) (./)
DescribeBundleTasks X X X
DescribeImageAttribute (./) (./) (./)
DescribeImages (./) (./) (./)
DescribeInstanceAttribute (./) X (./)
DescribeInstances (./) (./) (./)
DescribeKeyPairs (./) (./) (./)
DescribePlacementGroups X X X
DescribeRegions (./) (./) (./)
DescribeReservedInstances X X X
DescribeReservedInstancesOfferings X X X
DescribeSecurityGroups (./) (./) (./)
DescribeSnapshotAttribute (./) X X
DescribeSnapshots (./) (./) (./)
DescribeSpotDatafeedSubscription X X X
DescribeSpotInstanceRequests X X X
DescribeSpotPriceHistory X X X
DescribeTags (./) X X
DescribeVolumes (./) (./) (./)
DetachVolume (./) (./) (./)
DisassociateAddress (./) (./) (./)
GetConsoleOutput (./) (./) X
GetPasswordData X X (./)
ImportKeyPair (./) (./) (./)
ModifyImageAttribute (./) (./) (./)
ModifyInstanceAttribute (./) X X
ModifySnapshotAttribute (./) X X
MonitorInstances X X X
PurchaseReservedInstancesOffering X X X
RebootInstances (./) (./) (./)
RegisterImage (./) (./) (./)
ReleaseAddress (./) (./) (./)
RequestSpotInstances X X X
ResetImageAttribute (./) X (./)
ResetInstanceAttribute (./) X X
ResetSnapshotAttribute (./) X X
RevokeSecurityGroupIngress (./) (./) (./)
RunInstances (./) (./) (./)
StartInstances (./) (./) (./)
StopInstances (./) (./) (./)
TerminateInstances (./) (./) (./)
UnmonitorInstances X X X