This post serves as a quick comparison between CentOS and Ubuntu when deciding to launch on an EC2 Instance.
CentOS is Redhat based and Ubuntu is Debian based. CentOS is often considered more stable because they don’t
release many updates due to its reliability. Less updating does contribute to the lack of feature richness compared to Ubuntu.
Is that a pro or a con? You decide.
When using Ubuntu on AWS, the images can be thought of as being directly linked with the infrastructure and there is
on-going support to maintain images across the regions. Ubuntu users can use the ‘Juju’ to deploy services right into
EC2 in minutes without tediously entering each command for manual installations.
Ubuntu has a lot of tutorials and documentation available on the internet. If you face any issues with your application
running on an Ubuntu distro, you will easily find the fix in a quick google search. In contrast with this, CentOS,
does not have as many tutorials since it serves a smaller community. As you may know, CentOS is a
free version of RHEL, a commercial product with paid support. CentOS is a naturally lightweight Linux distro.
If your applications are heavy, you can choose CentOS because it consumes less resources.
According to this post from a blog at ubuntu, Ubuntu Cloud Images for Amazon have been enabled
with the AWS-tuned Ubuntu kernel by default. This implies that AWS-tuned Ubuntu kernel will receive
the same level of support and security maintenance as all supported Ubuntu kernels for
the duration of the Ubuntu LTS.
As far as the support for Ubuntu and CentOS, there isn’t much difference between them. Both offer LTS without
compromising the security. Unlike Amazon Linux, which is a rolling distro (an update after a year means you
would be getting the updates from a different release altogether), both provide years of updates
to the same release.
Both Ubuntu and CentOS have bug tracking systems.
Suppose you are considering having cPanel in the server where your application would be running,
then you have no option other than CentOS because cPanel will not work in an Ubuntu server.
Another difference between these two is the package management system. CentOS is RPM based
and it has some issues with dependencies management. If you are not a linux shell guru, this may
be an issue. Whereas with package management in Ubuntu, it is less of a challenge.
So choosing between these two depends on what your application is, is it more resource consuming
and what your level of expertise with Ubuntu or CentOS is.
In case you want to use cPanel, you have no option other than CentOS.
But looking for an alternative to cPanel ?