Having just upgraded from Ubuntu 14.04 Trusty to 16.04 Xenial, I thought I'd share the pain points I encountered.
There's a bug in newer kernels on EC2 that causes kswapd0 to consume 100% CPU. It seems to happen more often on smaller instances with less RAM (t2.micros for example). There is a workaround changing a udev configuration.