Hacker News new | past | comments | ask | show | jobs | submit login
Debian, FreeBSD and CentOS now supported by EC2 (aws.typepad.com)
170 points by olefoo on Nov 23, 2012 | hide | past | favorite | 49 comments



For some reason I'm really getting a kick out of the notion of "FreeBSD: Sold by Colin Percival".

At any rate, this is excellent news! I've been looking for an excuse to do more with kqueue/libdispatch in a server setting, and this looks like just the excuse I need. Congrats, Colin, and thanks!


FreeBSD: Sold by Colin Percival

Right now this is something I'm doing as an individual -- the project has "blessed" it to some extent (e.g., the core team said it was fine for me to call what I was providing "FreeBSD"), but it isn't "official FreeBSD" since it has local changes to make it work under EC2. At some point this will probably turn into "FreeBSD: Sold by The FreeBSD Project" or "FreeBSD: Sold by The FreeBSD Foundation" (even if I'm the person actually rolling the images).

Congrats, Colin, and thanks!

We're not finished yet -- I'm still hoping Amazon will find a way to let FreeBSD run on all the instance types without any Windows tax, and I still have to tie up some loose ends up get "stock" FreeBSD running on EC2.


> We're not finished yet

Still, I think this is yet another strong vote of confidence coming from Amazon. Enough to encourage me to pick up some projects that I had mothballed since AWS has become the "go to" solution for so many clients these days. With any luck, all those loose ends will be tied up long before I need anything production ready, but even just seeing this progress from "blessed hack" to "mostly official" is a strong indication that effort in this direction will likely not be wasted.


I think this is yet another strong vote of confidence coming from Amazon.

Yes, I'm certainly glad to have this. Amazon is very secretive, and while I've talked to enough people over the years to know that Amazon definitely wasn't ignoring FreeBSD, it's very nice to have something public I can point to and say "look, they really do care!"

all those loose ends will be tied up long before I need anything production ready

FWIW, even with the loose ends, I consider FreeBSD/EC2 production ready -- and I'm using it in production, both for Tarsnap and for FreeBSD Portsnap mirrors.


Since there's a bunch of people asking questions about FreeBSD/EC2 here, I submitted my page on the topic separately: http://news.ycombinator.com/item?id=4823941


That submission got demoted from the first page. http://hnrankings.info/4823941/

I suppose it rose too fast...


Either rose too fast or someone flagged it for some reason...


From the FreeBSD product page[1]:

    Please note that for technical reasons this AMI
    only runs on high-performance (cluster & high-I/O) 
    instances.
Looking at Mr. Percival's other resources, other contributed AMIs don't run on arbitrary instances, either.

Being a broke student, I wanted to put it on the smallest micro instance. What are these technical reasons that prevent me from doing so?

In any case, thanks for the great work.

[1]: https://aws.amazon.com/marketplace/pp/B00AA25MLK/ref=sp_mpg_...


You can run FreeBSD on all instance types, but some of them (everything except cluster, high-I/O, and the new m3 instances) need to have FreeBSD pretending to be Windows -- meaning that you have to pay the higher rate for the Windows license.

I don't think Amazon wants to "officially" support a route which involves people paying for a Windows license they're not using, but the route does exist.


I believe it's because the "normal". EC2 instances are paravirtualised through Xen, whereas the types listed are hardware virtualisation. Not sure though.


Used to be that only the Windows instances were HVM (thus the defenestration hack using them to get FreeBSD onto AWS) and all the Unix ones used paravirtualization - has this changed?


I think cluster instances are always HVM, not sure about high IO.


Cluster, high-I/O, and M3 all have HVM available. Basically, all the new instance types released since I started complaining to EC2 engineers about how HVM is so much easier to work with than PV... ;-)


Ah, so we could've had FreeBSD by coughing up the cash for one of those - or was there any special porting needed for it?


Porting was needed, but I've done it for you.


In my past experience, the micro instances are slower than molasses when it comes to the ports system. All the initial install/verification sucks a lot of CPU and the micro's can't handle it.


When I set up new micro instances, I usually launch them as c1.medium to set things up, then stop and restart them as t1.micro -- EC2's ability to change instance types is very useful here!


I had no idea that this was possible. Great strategy that I will add to my bag of tricks.


What are you trying to run? Even EC2 micro instances are not all that cheap, if you just want a VPS to tinker with.


I have several low-traffic sites already on a cheap FreeBSD VPS with 128Mb RAM and looked for alternatives that are more mainstream.

Paying for Windows-like licenses puts EC2 out of the question, though.


New Rackspace Cloud (pretty mainstream, right?) lists FreeBSD 9 as one of the supported OSes: http://www.rackspace.com/cloud/public/servers/techdetails/


What does "mainstream" buy you?


I just spent an hour installing and documenting every step of a new 12.04 deploy for my rails-powered API.

I wanted to do this on FreeBSD! I check HN mid-install of a bunch of software and boom what do you know. Time to start over!

That being said, there seems to only be one result for FreeBSD in the marketplace, from our bud cperciva. I'd really love to deploy a base 9.0 on a Small.


You can run FreeBSD on an m1.small, but it costs more (Windows license) and isn't in the marketplace.


Better late than never. The defenestration hack always irked me since it meant paying for a Windows license that I didn't want to use.


Why is FreeBSD such a big deal? What advantages does it have over Ubuntu?


Some of the common answers to that question are clang/llvm, ZFS, DTrace, pf, superpages, geom, journalled softupdates, and capsicum.


Don't forget kqueue/libdispatch. Yes, with epoll and friends you can essentially reproduce kqueue's functionality, but there are some really interesting things you can do when all that functionality is available in one place and you have a library like libdispatch written on top of it.


Right, libdispatch is a OSXism which I've never used because I like to write portable code. -- but if you know that your code is always going to run on systems which support it, it's definitely something which can be useful.


Incidentally, some of these things work on Ubuntu: superpages, zfs, and clang. & I wouldn't call Journalled Softupdates an advantage, more of a catch-up to the various journalled filesystems supported by Linux.


Journalled softupdates is much better than mere journalling.

I don't know what the current state of ZFS on Linux is, but last time I looked it was done with a very fragile FUSE setup.

I remember hearing rants from FreeBSD VM people about how Linux did superpages wrong, but I don't know any of the details there.


Actually there is a native ZFS port for linux: http://zfsonlinux.org/

The license doesn't allow to distribute a binary build of it, but you can build your own rpm and deb packages and install it to your own servers.

(According to their FAQ: "In a nutshell [...] This means that a single derived work of the Linux kernel and ZFS cannot be legally distributed."

Honestly, besides some quick tests I don't have any experience to judge how stable it is, but definitely better than the fragile fuse setup you are mentioning.

Anyone has more experience with it?


I found softupdates to be superior to traditional journaled filesystems for boot filesystem - BIOS can't replay the journal, but softupdates provide always consistent fs state on disk, so kernel and modules can be loaded and booted. Only leaks of free blocks need to be fixed with background fsck if filesystem is dirty.


Not a real FreeBSD user myself, but I've heard that it has good/complete documentation[1], a solid foundation that doesn't change too often and a nicer firewall than Linux's iptables[2]. Also, it's not really an advantage per se, just interesting, but Mac OS X's kernel is half-derived from FreeBSD's[3].

[1] http://www.freebsd.org/doc/handbook/

[2] http://www.freebsd.org/doc/handbook/firewalls-pf.html

[3] http://en.wikipedia.org/wiki/XNU#BSD

Edit: cperciva has more/better examples.


I have tons of experience with FreeBSD in an enterprise environment and can say hands down that pf is the best firewall money can't buy. That said, Red Hat has largely replaced FreeBSD for a lot of CIOs over the last 10 years. I really think startups should launch on CentOS instead of Ubuntu which seems to be the trend.


There is a reason for that trend - Ubuntu LTS on the server takes less time to set up and manage than Red Hat/CentOS. Red Hat of course now does 10-year support for its releases as well as excellent security out of the box (10-year support is especially appealing to me as a system admin) but the ease of Ubuntu LTS upgrades and more frequent releases (i.e. up-to-date software) combined with the admin friendliness make for a more compelling business case.


The problem with Ubuntu is that if you ever move from the cloud to dedicated hardware, you will be in for a world of pain. None of the Tier-1 hardware vendors officially support Ubuntu, which makes it very difficult to perform firmware upgrades without custom solutions, or obtain diagnostic/monitoring software. We couldn't even get Ubuntu 12.04 to work _at all_ on our new Dell 12th-generation (Ivy Bridge) servers for several months after release. EL 6, on the other hand, was totally supported.

I hope that the availability of official CentOS AMIs will incent startups to think ahead and use it instead of Ubuntu, otherwise they could become a victim of their own success.

Another thing that's great about Red Hat and its clones is that they guarantee backward compatibility across minor releases (e.g. 6.0 -> 6.3), and ensure that if you deploy a given release it will be identical across all nodes. Contrast with Ubuntu, where an installation of a given LTS release (with "-updates") could vary depending on the day you deploy it.


Speaking as a Linux user/developer who hasn't touched any BSD in a long, long time, I can perfectly understand why many people would prefer FreeBSD. Not dissing on Linux (it's still my personal favorite, and Debian is my goto for everything), but it's always good to have choices; to each their own. From what I understand, whilst Linux has the drivers and software, most server setups could be easily swapped out for FreeBSD (drivers are usually not problems on servers, and most server software you'd want to run is open source and already ported and packaged), plus FreeBSD has some things still not in Linux that a smart admin could use to give their startup an edge.



None, Linux is better on almost every aspects, I don't see a real IT company using BSD over Linux. Linux is faster and support way more software / hardware. BSD was equal to Linux years ago, but Linux grew up much faster due to his large community and support from the industry.


FreeBSD has a simple and consistent upgrade path between major releases, excellent stability, excellent hardware support (on the server side, at least; that's where it matters to me personally), a magnificent packaging and ports system, excellent documentation, an excellent firewall stack (pf), a proper ZFS implementation, a powerful and easy-to-manage jails system, and is used in plenty of corporations, large and small, both as a conventional server platform and as a base for commercial products.

It is a well-curated shop, while GNU/Linux is a street bazaar.

It is a pleasure to administer.

You might want to take a closer look.


FreeBSD support is huge. Many thanks to Colin, who's been working on this for quite some time.

Now we need a more agnostic EC2 platform so it can run on all instance types. The Windows fee situation is not cool.


Amazon linux was already a variety of CentOS wasn't it? We used it where we would use CentOS on other providers.

Very pleased this has happened!


Does this mean I can get Amazon built AMIs for CentOS instead of building my own or using untrusted community images?



You can also directly build on Amazon your own customized CentOS images with your own kicsktart. We have written a blog post to show how to do that here: http://www.comodit.com/2012/07/12/how-to-build-your-custom-c...


Can someone give me a simple comparison between the three if they are to be used as web servers for simple sites?


having freebsd is a great decision. i don't have a nice experience with mysql on freebsd but for apache or nginx on serving on freebsd is a breeze.


How was your experience with MySQL on FreeBSD different than other systems? Were you installing from binaries or ports?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: