Two Ubuntu VM types on AWS - what's the difference?

I want an Ubuntu server on AWS to play around with, learn a few things, so am looking at Ubuntu 16.04.

But there are two versions:

  • Ubuntu 16.04 LTS - Xenial (HVM)
  • Ubuntu 16.04 LTS - Xenial

What is the difference between the two and which one should I pick for a basic web host using nginx?


Solution 1:

Short answer: choose HVM, because Amazon suggests it.

These two images are for different instance types. From Linux AMI Virtualization Types you will understand the difference between these two types.

HVM:

This virtualization type provides the ability to run an operating system directly on top of a virtual machine without any modification, as if it were run on the bare-metal hardware.

PV:

Paravirtual guests can run on host hardware that does not have explicit support for virtualization, but they cannot take advantage of special hardware extensions such as enhanced networking or GPU processing.

In the document of AWS EC2, Amazon claims there is no significant performance difference between these two:

Historically, PV guests had better performance than HVM guests in many cases, but because of enhancements in HVM virtualization and the availability of PV drivers for HVM AMIs, this is no longer true.

So just choose HVM.