Jump to: navigation, search

Difference between revisions of "Nova/EucalyptusFeatureComparison"

Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
This page attempts to enumerate how Nova and Eucalyptus compare.
+
This page attempts to enumerate how [[OpenStack]], Eucalyptus and [[CloudStack]] compare.
  
= Features =
+
= General API Support =
 
 
/!\ Please add more!
 
  
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
|  Feature                                                    
+
|  Feature                            
 
|  Eucalyptus  
 
|  Eucalyptus  
 +
|  [[OpenStack]]
 
|-
 
|-
|  EC2 Query API                                              
+
|  EC2 Query API                      
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
|  EC2 Soap API                                              
+
|  EC2 Soap API                        
 
|  (./)       
 
|  (./)       
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|-
 
|-
|  OpenStack API (/ Rackspace API)                           
+
|  OpenStack API / Rackspace API      
 
|<span style="font-size: large; color: white; background: red">|X</span>         
 
|<span style="font-size: large; color: white; background: red">|X</span>         
 +
|  (./)     
 
|-
 
|-
Secure communication<<BR>> between components                
+
SSL Between Components                
 
|  (./)       
 
|  (./)       
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|-
 
|-
Trivial horizontal<<BR>>scalability for all<<BR>>components
+
Horizontal Component Scalability   
 
|<span style="font-size: large; color: white; background: red">|X</span>         
 
|<span style="font-size: large; color: white; background: red">|X</span>         
 +
|  (./)     
 
|-
 
|-
Built in web admin console                                 
+
Web-based UI                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
|  Command line interface for managing users                 
+
|  Command line interface              
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|}
 
|}
  
= Amazon EC2 API completeness =
+
= Amazon EC2 High Level Feature Support =
  
Note: Info on Eucalyptus was provided entirely by `grep`. Please don't hesitate to correct errors.
+
{| border="1" cellpadding="2" cellspacing="0"
 +
|  EC2 feature                         
 +
|  Eucalyptus
 +
|  [[OpenStack]]
 +
|-
 +
|  Shared AMIs                         
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Parameterized launch (user-data)   
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Instance metadata                   
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Public AMI's                       
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Reboot Instance                     
 +
|      (./) 
 +
|      (./) 
 +
|-
 +
|  Start/Stop Instance                 
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 +
|<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"
 
{| border="1" cellpadding="2" cellspacing="0"
 
|  EC2 API method                       
 
|  EC2 API method                       
 
|  Eucalyptus  
 
|  Eucalyptus  
 +
|  [[OpenStack]]
 
|-
 
|-
 
|  AllocateAddress                     
 
|  AllocateAddress                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  AssociateAddress                   
 
|  AssociateAddress                   
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  AttachVolume                       
 
|  AttachVolume                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  AuthorizeSecurityGroupIngress       
 
|  AuthorizeSecurityGroupIngress       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  CancelBundleTask                   
 
|  CancelBundleTask                   
 
|<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>     
 
|-
 
|-
 
|  CancelSpotInstanceRequests         
 
|  CancelSpotInstanceRequests         
 
|<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>     
 
|-
 
|-
 
|  ConfirmProductInstance             
 
|  ConfirmProductInstance             
 
|<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>     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  CreateKeyPair                       
 
|  CreateKeyPair                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  CreatePlacementGroup               
 
|  CreatePlacementGroup               
 
|<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>     
 
|-
 
|-
 
|  CreateSecurityGroup                 
 
|  CreateSecurityGroup                 
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  CreateSnapshot                     
 
|  CreateSnapshot                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  CreateSpotDatafeedSubscription     
 
|  CreateSpotDatafeedSubscription     
 
|<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>     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  CreateVolume                       
 
|  CreateVolume                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DeleteKeyPair                       
 
|  DeleteKeyPair                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DeletePlacementGroup               
 
|  DeletePlacementGroup               
 
|<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>     
 
|-
 
|-
 
|  DeleteSecurityGroup                 
 
|  DeleteSecurityGroup                 
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DeleteSnapshot                     
 
|  DeleteSnapshot                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DeleteSpotDatafeedSubscription     
 
|  DeleteSpotDatafeedSubscription     
 
|<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>     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  DeleteVolume                       
 
|  DeleteVolume                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DeregisterImage                     
 
|  DeregisterImage                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DescribeAddresses                   
 
|  DescribeAddresses                   
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DescribeAvailabilityZones           
 
|  DescribeAvailabilityZones           
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DescribeBundleTasks                 
 
|  DescribeBundleTasks                 
 
|<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>     
 
|-
 
|-
 
|  DescribeImageAttribute             
 
|  DescribeImageAttribute             
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DescribeImages                     
 
|  DescribeImages                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  DescribeInstances                   
 
|  DescribeInstances                   
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DescribeKeyPairs                   
 
|  DescribeKeyPairs                   
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DescribePlacementGroups             
 
|  DescribePlacementGroups             
 
|<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>     
 
|-
 
|-
 
|  DescribeRegions                     
 
|  DescribeRegions                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DescribeReservedInstances           
 
|  DescribeReservedInstances           
 
|<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>     
 
|-
 
|-
 
|  DescribeReservedInstancesOfferings  
 
|  DescribeReservedInstancesOfferings  
 
|<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>     
 
|-
 
|-
 
|  DescribeSecurityGroups             
 
|  DescribeSecurityGroups             
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  DescribeSnapshots                   
 
|  DescribeSnapshots                   
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DescribeSpotDatafeedSubscription   
 
|  DescribeSpotDatafeedSubscription   
 
|<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>     
 
|-
 
|-
 
|  DescribeSpotInstanceRequests       
 
|  DescribeSpotInstanceRequests       
 
|<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>     
 
|-
 
|-
 
|  DescribeSpotPriceHistory           
 
|  DescribeSpotPriceHistory           
 
|<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>     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  DescribeVolumes                     
 
|  DescribeVolumes                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DetachVolume                       
 
|  DetachVolume                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  DisassociateAddress                 
 
|  DisassociateAddress                 
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  GetConsoleOutput                   
 
|  GetConsoleOutput                   
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  GetPasswordData                     
 
|  GetPasswordData                     
 
|<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>     
 
|-
 
|-
 
|  ImportKeyPair                       
 
|  ImportKeyPair                       
 
|<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>     
 
|-
 
|-
 
|  ModifyImageAttribute               
 
|  ModifyImageAttribute               
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  MonitorInstances                   
 
|  MonitorInstances                   
 
|<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>     
 
|-
 
|-
 
|  PurchaseReservedInstancesOffering   
 
|  PurchaseReservedInstancesOffering   
 
|<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>     
 
|-
 
|-
 
|  RebootInstances                     
 
|  RebootInstances                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  RegisterImage                       
 
|  RegisterImage                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  ReleaseAddress                     
 
|  ReleaseAddress                     
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  RequestSpotInstances               
 
|  RequestSpotInstances               
 
|<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>     
 
|-
 
|-
 
|  ResetImageAttribute                 
 
|  ResetImageAttribute                 
 
|  (./)       
 
|  (./)       
 +
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  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>     
 
|-
 
|-
 
|  RevokeSecurityGroupIngress         
 
|  RevokeSecurityGroupIngress         
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  RunInstances                       
 
|  RunInstances                       
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  StartInstances                     
 
|  StartInstances                     
 
|<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>     
 
|-
 
|-
 
|  StopInstances                       
 
|  StopInstances                       
 
|<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>     
 
|-
 
|-
 
|  TerminateInstances                 
 
|  TerminateInstances                 
 
|  (./)       
 
|  (./)       
 +
|  (./)     
 
|-
 
|-
 
|  UnmonitorInstances                 
 
|  UnmonitorInstances                 
 
|<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>     
 
|}
 
|}
  
EC2 features:
 
 
{| border="1" cellpadding="2" cellspacing="0"
 
|  EC2 feature                       
 
|  Eucalyptus
 
|-
 
|  Shared AMIs                       
 
|      (./) 
 
|-
 
|  Parameterized launch (user-data) 
 
|      (./) 
 
|-
 
|  Instance metadata                 
 
|      (./) 
 
|-
 
|  Public AMI's                     
 
|      (./) 
 
|-
 
|  Reboot instance                   
 
|      (./) 
 
|-
 
|  Retrieve console output           
 
|      (./) 
 
|-
 
|  Paid AMI's                       
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|-
 
|  Multiple instance types           
 
|      (./) 
 
|-
 
|  Instance launch time             
 
|      (./) 
 
|-
 
|  Elastic IP's                     
 
|      (./) 
 
|-
 
|  Availability zones               
 
|      (./) 
 
|-
 
|  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>     
 
|-
 
|  Auto Scaling                     
 
|<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>     
 
|-
 
|  [[CloudWatch]]                       
 
|<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>     
 
|-
 
|  Shared snaphsots                 
 
|<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>     
 
|-
 
|  Sticky session sin Elastic LB     
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|-
 
|  cc1.4xlarge                       
 
|<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>     
 
|-
 
|  Tags                             
 
|<span style="font-size: large; color: white; background: red">|X</span>     
 
|-
 
|  Filters                           
 
|<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>     
 
|-
 
|  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>     
 
|}
 
 
----
 
----
 
[[Category:Nova]]
 
[[Category:Nova]]

Revision as of 16:24, 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 (./) (./)
Reboot Instance (./) (./)
Start/Stop Instance X 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