This is a complicated question, but on the whole I recommend that you don't do it.

On the plus side, the AWS EC2 compatibility APIs do the following:

  • They allow you to use 3rd-party software that was designed to run on AWS on the NeCTAR Research Cloud.
  • They allow you to implement your own software so that it can run both NeCTAR and AWS computational resources.

The problem is that OpenStack's EC2 compatibility APIs are "unloved".

  • There are systemic issues with the implementation of the EC2 compatibility APIs. For example, they do a poor job of passing OpenStack diagnostics through to the EC2 APIs to clients. This means, that when something goes wrong, problems are difficult for you to diagnose.
  • The OpenStack project (Nova) that currently has purview of the APIs treats them as low priority.
  • Despite the fact that the NeCTAR website says that the EC2 APIs are supported, they are likewise treated as low priority, both by NeCTAR Core Services and by NeCTAR node operators. (Given staffing constraints, it is necessary to prioritise functionality that is used by the majority over functionality that only a small number of projects depend on.)

As a consequence of the above, the AWS compatibility tend to be fragile and unreliable to use on NeCTAR.  In particular, they tend to "break in new and interesting ways" when NeCTAR does a major version upgrade; i.e. roughly every 6 months.

The Nova project have recently announced that they have "deprecated" the AWS EC2 compatibility APIs.  That is likely to flow on to NeCTAR; i.e. the current generation EC2 APIs are likely be deprecated in the NeCTAR builds of OpenStack.

A new OpenStack project has been formed to take ownership. However, I cannot predict how this new project work out, or whether (and when) NeCTAR will adopt the new implementation of the APIs. Here is an article on the subject for you to make your own judgement.

At this point in time, my recommendation to NeCTAR project managers is:

  • don't use the EC2 compatibility APIs in any new work, and
  • find resources to migrate existing EC2 dependent code (including 3rd-party code) to the native OpenStack APIs.

This may seem pessimistic, but I am aware of three separate NeCTAR projects who have been "burned" by issues with the EC2 compatibility APIs.