Jump to: navigation, search

Difference between revisions of "Nova/FeatureComparison"

 
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
Describe Nova/FeatureComparison here.
+
This page attempts to enumerate how [[OpenStack]], Eucalyptus and [[CloudStack]] compare.
 +
 
 +
= General API Support =
 +
 
 +
{| border="1" cellpadding="2" cellspacing="0"
 +
|  Feature                             
 +
|  Eucalyptus
 +
|  [[OpenStack]]
 +
|-
 +
|  EC2 Query API                       
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  EC2 Soap API                       
 +
|  (./)     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  OpenStack API / Rackspace API     
 +
|<span style="font-size: large; color: white; background: red">|X</span>       
 +
|  (./)     
 +
|-
 +
|  SSL Between Components             
 +
|  (./)     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Horizontal Component Scalability   
 +
|<span style="font-size: large; color: white; background: red">|X</span>       
 +
|  (./)     
 +
|-
 +
|  Web-based UI                       
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  Command line interface             
 +
|  (./)     
 +
|  (./)     
 +
|}
 +
 
 +
= Amazon EC2 High Level Feature Support =
 +
 
 +
{| border="1" cellpadding="2" cellspacing="0"
 +
|  EC2 feature                         
 +
|  Eucalyptus
 +
|  [[OpenStack]]
 +
|-
 +
|  Shared AMIs                         
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Parameterized launch (user-data)   
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Instance metadata                   
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Public AMI's                       
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Launch/Terminate Instance           
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Reboot Instance                     
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Start/Stop Persisted Instance     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|  (./)     
 +
|-
 +
|  Retrieve Console Output             
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Paid AMI's                         
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  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                     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|      (./) 
 +
|-
 +
|  Reserved Instances                 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Auto Scaling                       
 +
|<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             
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  [[CloudWatch]]                         
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Virtual Private Cloud (IPSec)       
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Shared Snapshots                   
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  AMI's backed by EBS                 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|      (./) 
 +
|-
 +
|  Spot Instances                     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  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>     
 +
|-
 +
|  cc1.4xlarge                         
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Specify IP address for inst in VPC 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Tags                               
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Filters                             
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Idempotent [[RunInstance]] Calls       
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  Import keypair                     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|      (./) 
 +
|-
 +
|  SSL termination                     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|}
 +
 
 +
= 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
 +
 
 +
{| border="1" cellpadding="2" cellspacing="0"
 +
|  EC2 API method                     
 +
|  Eucalyptus
 +
|  [[OpenStack]]
 +
|-
 +
|  AllocateAddress                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  AssociateAddress                 
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  AttachVolume                     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  AuthorizeSecurityGroupIngress     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  BundleInstance                   
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  CancelBundleTask                 
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  CancelSpotInstanceRequests       
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  ConfirmProductInstance           
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  CreateImage                       
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  CreateKeyPair                     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  CreatePlacementGroup             
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  CreateSecurityGroup               
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  CreateSnapshot                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  CreateSpotDatafeedSubscription   
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  CreateTags                       
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  CreateVolume                     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DeleteKeyPair                     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DeletePlacementGroup             
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DeleteSecurityGroup               
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DeleteSnapshot                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DeleteSpotDatafeedSubscription   
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DeleteTags                       
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DeleteVolume                     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DeregisterImage                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeAddresses                 
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeAvailabilityZones         
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeBundleTasks               
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeImageAttribute           
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeImages                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeInstanceAttribute         
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeInstances                 
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeKeyPairs                 
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribePlacementGroups           
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeRegions                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeReservedInstances         
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeReservedInstancesOfferings
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeSecurityGroups           
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeSnapshotAttribute         
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeSnapshots                 
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DescribeSpotDatafeedSubscription 
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeSpotInstanceRequests     
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeSpotPriceHistory         
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeTags                     
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  DescribeVolumes                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DetachVolume                     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  DisassociateAddress               
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  GetConsoleOutput                 
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  GetPasswordData                   
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  ImportKeyPair                     
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  ModifyImageAttribute             
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  ModifyInstanceAttribute           
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  ModifySnapshotAttribute           
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  MonitorInstances                 
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  PurchaseReservedInstancesOffering 
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  RebootInstances                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  RegisterImage                     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  ReleaseAddress                   
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  RequestSpotInstances             
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  ResetImageAttribute               
 +
|  (./)     
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  ResetInstanceAttribute           
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  ResetSnapshotAttribute           
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  RevokeSecurityGroupIngress       
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  RunInstances                     
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  StartInstances                   
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  StopInstances                     
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|-
 +
|  TerminateInstances               
 +
|  (./)     
 +
|  (./)     
 +
|-
 +
|  UnmonitorInstances               
 +
|<span style="font-size: large; color: white; background: red">|X</span> 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|}
 +
 
 +
----
 +
[[Category:Nova]]

Revision as of 17:58, 6 April 2012

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