Which Linux distro to use on EC2?

862 views
Skip to first unread message

ydjango

unread,
Nov 13, 2011, 2:56:55 PM11/13/11
to Django users
I am setting up nginex, apache, python django, mysql based application
on EC2. I expect high web traffic and high mysql query usage. Mysql
and web server will on seperate servers.

Which linux distro should I use for heavy production use - Ubuntu,
Centos or Debian?

Does it matter?

I see most instructions on web is using Ubuntu and it seems it is
considered easiest to set up. But I read somewhere that Ubuntu is not
for server use. What is the downside if I chose ubuntu?

Charles Cossé

unread,
Nov 13, 2011, 3:58:26 PM11/13/11
to django...@googlegroups.com
The main difference with Ubuntu is that it's a binary distribution (pre-compiled binaries for a standardized platform).  I use Gentoo, personally, which is a variant of Debian with "portage" rather than "apt".   LAMP server stuff is readily available on all distros of Linux.  If you're hardcore then use Gentoo.  If you're medium-core then use Debian.  If you're softcore then use Ubuntu.  If you like RedHat style more than Debian, then go CentOS.  Whichever you choose, you'll immediately need to familiarize yourself with it's package manager and how things are done on that platform.  good luck :-)


--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to django-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.




--
AsymptopiaSoftware|Software@theLimit
          http://www.asymptopia.org

Casey Greene

unread,
Nov 13, 2011, 7:10:12 PM11/13/11
to django...@googlegroups.com
I would suggest that you use whatever your sysadmin (or if no sysadmin,
developer (or if it's just you, you)) are most familiar with. I assume
the packages that you are using (at least the ones you've listed) will
be in the package management systems for any of the distros that you
have listed.

I'm also pretty sure that gentoo is not a variant of debian.

Casey

> <mailto:django...@googlegroups.com>.


> To unsubscribe from this group, send email to
> django-users...@googlegroups.com

> <mailto:django-users%2Bunsu...@googlegroups.com>.

Joey Espinosa

unread,
Nov 13, 2011, 7:22:54 PM11/13/11
to django...@googlegroups.com

No, Gentoo is not a variant of Debian.

I also don't think there are variants that are for "hardcore" users more than others. If you're "hardcore", then you should be able to do things like write your own kernel modules and perform low-level disk operations no matter the distro.

I personally love Ubuntu on EC2. The ami/ec2 tools are in the repository by default, and are updated regularly. If you use the official AMIs from Canonical, then you'll get a setup that is optimized for EC2 without you having to do anything extra (for instance, "byobu" runs automatically when you connect via SSH).

In the end, it all really depends on you. As Casey mentioned, you are probably better off with what you're already familiar with. After all, what good is the "best" OS if you're more familiar with the "good enough" OS? You'll be more productive with what you are comfortable managing. I'm familiar with many distros (certified in Red Hat & Solaris, and long time Gentoo user), but I go with Ubuntu on EC2 every time.

Hope this helped.

--
Joey "JoeLinux" Espinosa
Software Developer
http://about.me/joelinux

On Nov 13, 2011 7:10 PM, "Casey Greene" <csgr...@princeton.edu> wrote:
I would suggest that you use whatever your sysadmin (or if no sysadmin, developer (or if it's just you, you)) are most familiar with.  I assume the packages that you are using (at least the ones you've listed) will be in the package management systems for any of the distros that you have listed.

I'm also pretty sure that gentoo is not a variant of debian.

Casey


   To unsubscribe from this group, send email to

   <mailto:django-users%2Bunsu...@googlegroups.com>.
   For more options, visit this group at
   http://groups.google.com/group/django-users?hl=en.




--
AsymptopiaSoftware|Software@theLimit
http://www.asymptopia.org

--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.

Kurtis Mullins

unread,
Nov 13, 2011, 8:01:58 PM11/13/11
to django...@googlegroups.com
I don't have a recommendation on a specific distribution -- that's really a matter of personal taste and experience. However, try to go with a free-tier instance until you really need to upgrade. There are only certain images that can be used with that free-tier. It's a pretty good deal! I've used both Amazon's CentOS based Distribution and Ubuntu on it -- I prefer Ubuntu, coming from a Debian backend. CentOS has quite a bit of a server community as well, though.

To unsubscribe from this group, send email to django-users...@googlegroups.com.

ydjango

unread,
Nov 13, 2011, 8:52:05 PM11/13/11
to Django users
I was concerned that Ubuntu being a desktop OS might have some
limitations which CENTOS or Debian being Server OS might not have.
Based on answers so far, looks like all the distributions are quite
close and my concern about ubuntu is unfounded. If it is all matter
taste then I will go with Ubuntu.

thanks everyone.


On Nov 13, 5:01 pm, Kurtis Mullins <kurtis.mull...@gmail.com> wrote:
> I don't have a recommendation on a specific distribution -- that's really a
> matter of personal taste and experience. However, try to go with a
> free-tier instance until you really need to upgrade. There are only certain
> images that can be used with that free-tier. It's a pretty good deal! I've
> used both Amazon's CentOS based Distribution and Ubuntu on it -- I prefer
> Ubuntu, coming from a Debian backend. CentOS has quite a bit of a server
> community as well, though.
>
> On Sun, Nov 13, 2011 at 7:22 PM, Joey Espinosa <jlouis.espin...@gmail.com>wrote:
>
> > No, Gentoo is not a variant of Debian.
>
> > I also don't think there are variants that are for "hardcore" users more
> > than others. If you're "hardcore", then you should be able to do things
> > like write your own kernel modules and perform low-level disk operations no
> > matter the distro.
>
> > I personally love Ubuntu on EC2. The ami/ec2 tools are in the repository
> > by default, and are updated regularly. If you use the official AMIs from
> > Canonical, then you'll get a setup that is optimized for EC2 without you
> > having to do anything extra (for instance, "byobu" runs automatically when
> > you connect via SSH).
>
> > In the end, it all really depends on you. As Casey mentioned, you are
> > probably better off with what you're already familiar with. After all, what
> > good is the "best" OS if you're more familiar with the "good enough" OS?
> > You'll be more productive with what you are comfortable managing. I'm
> > familiar with many distros (certified in Red Hat & Solaris, and long time
> > Gentoo user), but I go with Ubuntu on EC2 every time.
>
> > Hope this helped.
>
> > --
> > Joey "JoeLinux" Espinosa
> > Software Developer
> >http://about.me/joelinux
> > On Nov 13, 2011 7:10 PM, "Casey Greene" <csgre...@princeton.edu> wrote:
>
> >> I would suggest that you use whatever your sysadmin (or if no sysadmin,
> >> developer (or if it's just you, you)) are most familiar with.  I assume the
> >> packages that you are using (at least the ones you've listed) will be in
> >> the package management systems for any of the distros that you have listed.
>
> >> I'm also pretty sure that gentoo is not a variant of debian.
>
> >> Casey
>
> >> On 11/13/2011 03:58 PM, Charles Cossé wrote:
>
> >>> The main difference with Ubuntu is that it's a binary distribution
> >>> (pre-compiled binaries for a standardized platform).  I use Gentoo,
> >>> personally, which is a variant of Debian with "portage" rather than
> >>> "apt".   LAMP server stuff is readily available on all distros of Linux.
> >>>  If you're hardcore then use Gentoo.  If you're medium-core then use
> >>> Debian.  If you're softcore then use Ubuntu.  If you like RedHat style
> >>> more than Debian, then go CentOS.  Whichever you choose, you'll
> >>> immediately need to familiarize yourself with it's package manager and
> >>> how things are done on that platform.  good luck :-)
>
> >>> On Sun, Nov 13, 2011 at 12:56 PM, ydjango <neerash...@gmail.com
> >>> <mailto:neerash...@gmail.com>> wrote:
>
> >>>    I am setting up nginex, apache, python django, mysql based application
> >>>    on EC2. I expect high web traffic and high mysql query usage. Mysql
> >>>    and web server will on seperate servers.
>
> >>>    Which linux distro should I use for heavy production use - Ubuntu,
> >>>    Centos or Debian?
>
> >>>    Does it matter?
>
> >>>    I see most instructions on web is using Ubuntu and it seems it is
> >>>    considered easiest to set up. But I read somewhere that Ubuntu is not
> >>>    for server use. What is the downside if I chose ubuntu?
>
> >>>    --
> >>>    You received this message because you are subscribed to the Google
> >>>    Groups "Django users" group.
> >>>    To post to this group, send email to django...@googlegroups.com
> >>>    <mailto:django-users@**googlegroups.com<django...@googlegroups.com>
> >>> >.
> >>>    To unsubscribe from this group, send email to
> >>>    django-users+unsubscribe@**googlegroups.com<django-users%2Bunsu...@googlegroups.com>
> >>>    <mailto:django-users%**2Bunsu...@googlegroups.com<django-users%252Buns...@googlegroups.com>
> >>> **>.
> >>>    For more options, visit this group at
> >>>    http://groups.google.com/**group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en>
> >>> .
>
> >>> --
> >>> AsymptopiaSoftware|Software@**theLimit
> >>>http://www.asymptopia.org
>
> >>> --
> >>> You received this message because you are subscribed to the Google
> >>> Groups "Django users" group.
> >>> To post to this group, send email to django...@googlegroups.com.
> >>> To unsubscribe from this group, send email to
> >>> django-users+unsubscribe@**googlegroups.com<django-users%2Bunsu...@googlegroups.com>
> >>> .
> >>> For more options, visit this group at
> >>>http://groups.google.com/**group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en>
> >>> .
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "Django users" group.
> >> To post to this group, send email to django...@googlegroups.com.
> >> To unsubscribe from this group, send email to django-users+unsubscribe@**
> >> googlegroups.com <django-users%2Bunsu...@googlegroups.com>.
> >> For more options, visit this group athttp://groups.google.com/**
> >> group/django-users?hl=en<http://groups.google.com/group/django-users?hl=en>
> >> .

Mengu

unread,
Nov 13, 2011, 10:24:23 PM11/13/11
to Django users
if i had to choose a linux distro, i'd go with debian. however if i
can choose whatever i want then i'd go with freebsd. we are using
freebsd on 6 web servers and debian on 2 with the same hardware
configuration freebsd is outperforming debian.

Javier Guerra Giraldez

unread,
Nov 14, 2011, 1:10:24 AM11/14/11
to django...@googlegroups.com
On Sun, Nov 13, 2011 at 8:52 PM, ydjango <neera...@gmail.com> wrote:
> I was concerned that Ubuntu being a desktop OS might have some
> limitations which CENTOS or Debian being Server OS might not have.

AFAICT, there are very few differences between 'server' and 'desktop' distros:

- server distros don't have desktop environments (X, Gnome, KDE, etc).
or rather, they shouldn't have. that's what i don't like about RHEL,
they not only use Gnome tools for everything, but many of the docs
only include the GUI way to configure, not the CLI way.

- server distros are supported for longer times without version
upgrades of most components. that makes for safe and 'no suprises'
updates, that include only bugfixes but no new features.

- small priority differences in optimizations and kernel
configuration. like using different schedulers, swappinnes, LVS,
bigmem (now rendered moot by 64-bit)

For the first one, you could simply start in runlevel 3 for most
distros, and X wouldn't be started, avoiding the desktop overhead.
Ubuntu Server simply lets you install without X by default. Roughly
every fourth release is called 'LTS', meaning that it will get long
term support via apt. The last one is simply configurations, so it's
doable on any Linux out there; but it's nicer to have a good enough
default.

In short, Ubuntu server is just as 'server-like' as CentOS, or even
more if you (like me) want it to be free of X. (yes, i know you can
install RHEL and CentOS without X, but it's not the default)


--
Javier

Thomas Guettler

unread,
Nov 14, 2011, 4:55:52 AM11/14/11
to django...@googlegroups.com

Am 13.11.2011 21:58, schrieb Charles Cossé:
> The main difference with Ubuntu is that it's a binary distribution
> (pre-compiled binaries for a standardized platform). I use Gentoo,
> personally, which is a variant of Debian with "portage" rather than
> "apt". LAMP server stuff is readily available on all distros of Linux.
> If you're hardcore then use Gentoo. If you're medium-core then use
> Debian. If you're softcore then use Ubuntu. If you like RedHat style
> more than Debian, then go CentOS.

If you are a hardcore, you write your own kernel and libc.

I would use ubuntu.

thomas


--
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

Brian Schott

unread,
Nov 14, 2011, 6:04:17 AM11/14/11
to django...@googlegroups.com, Django users
Ubuntu has great cloud-init support for dealing with cloud startup scripts. Works on most clouds: openstack, ec2, eucalyptus...

Sent from my iPhone

Fernando Rocha

unread,
Nov 14, 2011, 6:45:36 AM11/14/11
to Django users
I also agree that you should start with you are familiar with.

In my personal experience, after experimenting some. I choose the
Basic Amazon AMI, which is Centos compatible. It was what worked best
for me.

[]s
--
http://about.me/fernandogrd

Charles Cossé

unread,
Nov 14, 2011, 6:54:34 AM11/14/11
to django...@googlegroups.com
On Mon, Nov 14, 2011 at 2:55 AM, Thomas Guettler <h...@tbz-pariv.de> wrote:


Am 13.11.2011 21:58, schrieb Charles Cossé:
> The main difference with Ubuntu is that it's a binary distribution
> (pre-compiled binaries for a standardized platform).  I use Gentoo,
> personally, which is a variant of Debian with "portage" rather than
> "apt".   LAMP server stuff is readily available on all distros of Linux.
>  If you're hardcore then use Gentoo.  If you're medium-core then use
> Debian.  If you're softcore then use Ubuntu.  If you like RedHat style
> more than Debian, then go CentOS.

If you are a hardcore, you write your own kernel and libc.

On Ubuntu you'll never  compile your own kernel.  It won't be optimized for your system.  It (Ubuntu) will also probably find 99% of your hardware and make it work off-the-bat.  Gentoo was created by the developer of the apt system, Daniel Robbins ... not really a variant of Debian, but more of a rethink of Debian's package management system, "apt", called "portage" in Gentoo.  

 
I would use ubuntu.

 thomas


--
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to django-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

Joey Espinosa

unread,
Nov 14, 2011, 7:09:22 AM11/14/11
to django...@googlegroups.com
On Ubuntu you'll never  compile your own kernel.  It won't be optimized for your system.

I beg to differ here. Compiling your own kernel isn't hard, and can be done on any distro. Before Xen and SMP support was built-in, it was actually pretty common to compile your own kernel, even on Ubuntu.
--
Joey "JoeLinux" Espinosa




2011/11/14 Charles Cossé <cco...@gmail.com>

Charles Cossé

unread,
Nov 14, 2011, 7:15:01 AM11/14/11
to django...@googlegroups.com
I didn't say it was "hard", but the point of Ubuntu is a standard image.  Yes, you can compile your own kernel on Ubuntu, but I doubt many people ever have. 

Phang Mulianto

unread,
Nov 14, 2011, 10:44:44 AM11/14/11
to django...@googlegroups.com

for me i would like to have an optimized kernel binary and build the kernel in my running machine, and disable all driver not used by system os.

it will slim your kernel and faster booting and loading.

all precompiled binnary have bloated driver in kernel so it will match any hardware and load the driver...

i use FreeBSD coz already familiar with it..

creecode

unread,
Nov 14, 2011, 11:05:46 AM11/14/11
to django...@googlegroups.com
Hello all,

+1 for Amazon's own linux.  So far it seems to work pretty well and Amazon to date has been good with regular updates.  They also have a pretty good collection of packages available for install via yum.

Toodle-looooooooooo..........
creecode

CrabbyPete

unread,
Nov 14, 2011, 6:07:40 PM11/14/11
to Django users
I've used Ubuntu 11.0 on an EC2 micro, using nginx and uwsgi and its
great. There is also a google group for ubuntu on ec2, with loads of
support. If you use uwsgi you have to compile it on the server. I had
a tough time using Amazons version, I don't remember why, but had no
problem using Ubuntu. Also make sure what version of python you wind
up with.

Eric Chamberlain

unread,
Nov 15, 2011, 10:47:08 AM11/15/11
to django...@googlegroups.com
For stock web serving stuff, like what you list, we use the Amazon Linux AMI. Amazon handles the optimization and compatibility issues and they are pretty responsive about adding new packages to the distribution.

For more specialized applications (VoIP infrastructure, XMPP server), where Amazon doesn't have packages already in the distro we use CentOS.

If your time is limited, I'd also recommend using Amazon RDS rather than managing your own MySQL server.

--
Eric Chamberlain, Founder
RingFree Mobility Inc.

Greg Donald

unread,
Nov 15, 2011, 12:19:10 PM11/15/11
to django...@googlegroups.com
On Sun, Nov 13, 2011 at 1:56 PM, ydjango <neera...@gmail.com> wrote:
> I am setting up nginex, apache, python django, mysql based application
> on EC2. I expect high web traffic and high mysql query usage. Mysql
> and web server will on seperate servers.
>
> Which linux distro should I use for heavy production use - Ubuntu,
> Centos or Debian?
>
> Does it matter?

No. The main difference between Linux distros is the package
management. All the other software is nearly identical from distro to
distro. I personally don't care for rpm, provided in the RedHat
family of Linux distros. Apt/dpkg seems much more sane and much less
prone to dependency issues. A source based distro like Gentoo will
leave you with problems to fix more often than a binary based distro,
and the CPU cycles you gain isn't usually worth the trouble. Most of
the time you can get i686 and x86_64 packages from the distro anyway.
Gentoo isn't difficult simply because it's a source based distro, it's
difficult because sometimes they tweak the package dependencies and
you then have to rebuild something or other when you weren't expecting
too. Not a distro I'd ever use for production, not for something
really important. If you like rpm, then go CentOS, it's solid. If
you like apt go with Debian or Ubuntu. Debian's packages are older
and more tested, thus in theory more stable. Ubuntu is newer, so you
can expect more bugs, and more package updates than with Debian.

You know, Linux isn't your only *nix choice for server software. I've
had much success deploying FreeBSD over the years. It has a hybrid
package management system. You can use pkg_add to install a binary
version of something, or you can use the ports collection to build it
yourself. Things will land in the same place, so dependency issues
are usually extremely low.


--
Greg Donald

Tom Evans

unread,
Nov 15, 2011, 12:49:06 PM11/15/11
to django...@googlegroups.com
On Tue, Nov 15, 2011 at 5:19 PM, Greg Donald <gdo...@gmail.com> wrote:
> You know, Linux isn't your only *nix choice for server software.  I've
> had much success deploying FreeBSD over the years.  It has a hybrid
> package management system.  You can use pkg_add to install a binary
> version of something, or you can use the ports collection to build it
> yourself.  Things will land in the same place, so dependency issues
> are usually extremely low.
>

FreeBSD on EC2 (Xen) is not exactly simple or stable though (and I'm a
huge FreeBSD advocate!). The current stable way is to setup a windows
instance, and then replace the hard drive image with a FreeBSD one,
which is run under Xen's HVM rather than paravirtualized Xen, which
makes it much more expensive, and you are charged for a windows
license you aren't using!

I wouldn't use it in production, not yet. Maybe when 10.0-RELEASE comes out..

Cheers

Tom

Greg Donald

unread,
Nov 20, 2011, 9:34:56 AM11/20/11
to django...@googlegroups.com
On Tue, Nov 15, 2011 at 11:49 AM, Tom Evans <teva...@googlemail.com> wrote:
> FreeBSD on EC2 (Xen) is not exactly simple or stable though (and I'm a
> huge FreeBSD advocate!). The current stable way is to setup a windows
> instance, and then replace the hard drive image with a FreeBSD one,
> which is run under Xen's HVM rather than paravirtualized Xen, which
> makes it much more expensive, and you are charged for a windows
> license you aren't using!
>
> I wouldn't use it in production, not yet. Maybe when 10.0-RELEASE comes out..


Amazon isn't the only option: http://www.freebsd.org/commercial/isp.html

--
Greg Donald

Reply all
Reply to author
Forward
0 new messages