Size of Linux Distributions for the Cloud, 2016
The size of a fresh Linux install on EC2 is a rough proxy for it’s complexity, how big the attack surface is and how frequently it will need updates. Less is definitely more. In 2015, I compared the number of packages on default install on AWS EC2. Let’s see how things changed or not. This time, in addition to the number of packages installed, I also checked on-disk image size. Corrections and additions welcome.
|OS Distribution||Packages||Image in MB|
|Amazon Linux 20150912||384||1145|
|CentOS Atomic Host 7 20160130||397||1011|
|Ubuntu 16.04 Devel||473||887|
|FreeBSD 11 Alpha||NA||876|
|CentOS 7 10122015||301||793|
|Core OS 835.13.0 Stable||NA||541|
|Fedora Cloud 23 20160217||259||475|
- In general, everything is bigger.
- Amazon Linux is completely unoptimized for size. You decide if that is surprising or not.
- Ubuntu continues its march to 1GB images. Every LTS release appears to add 100MB.
- While Debian 8.3 and Ubuntu 16 should be similar, the difference between the two is over 250MB. What is Ubuntu actually adding?
- CentOS and RedHat I thought were near identical, but RedHat is 100MB larger.
- CoreOS has a minimal 541MB install, however I might be measuring this incorrectly.
- I found Fedora Cloud last year by accident. I still have no idea what it is. The web site says mostly nothing.
- This year, I found CentOS Atomic Host. Both this and the previous image appear to be based on Project Atomic sponsored by RedHat. It appears the a CoreOS-style host for running docker or other containers. Except the image is 1G! A quick inspection turned up a host of not-quite-empty directories for various X-windows and desktop applications, 65MB for firmware updates, and on and on. Not inspiring.
- FreeBSD works on EC2 but is only semi-supported. I was hoping it would be more minimal but it’s same size of RedHat or Ubuntu.
- SUSE was checked last year, but it’s excluded since it’s ridiculous.
In conclusion, the choices for a truly cloud-first, server-first operating system are quite limited. The Major Vendor’s approach is to take a full-fat image and then delete things (or not) to make a cloud edition. So far this has produced less-than-great results. CoreOS certainly is doing something original and different, but it is highly opinionated (this is good!), and leaves open plenty of room for improvement and opportunities for innovation. I fail to see why a full OS couldn’t be under 250MB.