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 |
RedHat 7.2 | 318 | 888 |
FreeBSD 11 Alpha | NA | 876 |
CentOS 7 10122015 | 301 | 793 |
Ubuntu 14.04 | 450 | 772 |
Debian 8.3 | 271 | 615 |
Core OS 835.13.0 Stable | NA | 541 |
Fedora Cloud 23 20160217 | 259 | 475 |
Notes:
- 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.