top | item 8887505

DigitalOcean now supports FreeBSD

552 points| barium | 11 years ago |digitalocean.com

196 comments

order

TheDong|11 years ago

The fact that DO had to make this announcement at all is a sign that things have gotten worse for VPSs.

Before, when a company provided Xen or Kvm, you generally would get to have low-level access such as the ability to virtually connect to a serial port or vnc session of your box as it booted. You also, typically, could provide your own ISO images.

Even if you couldn't provide your own iso, being able to interact with the VPS in the above way would allow you to use one of the provided disks and then bootstrap the install of another (this is how I installed gentoo on many providers that didn't "support" it)

DO's stance that you must use one of their images, you can't upload your own, and you can't even use your own kernel (I'm not kidding! If you "sudo apt-get update" to get a new kernel security update and reboot, DO will IGNORE your shiny new kernel because they hardcode the kernel as one they control. See [0]).

This is terrible. We shouldn't be happy that they're adding FreeBSD to the list of images they allow you to use, we should be showing, with our wallets, that their restrictive setup that doesn't allow you to touch anything outside of their tiny garden and exposes you to security issues is unacceptable. We should be using other providers, like Linode, AWS, and GCE, all of which allow bringing your own image in some form.

[0]: https://digitalocean.uservoice.com/forums/136585-digital-oce...

skrebbel|11 years ago

I assume you also complain about the availability of microwave meals? That'll only become a problem when you can't buy raw fruits and vegetables anymore, but I didn't see that happen. Likewise, you mention more customizable VPS options in your post.

There's a market for everything. You don't understand my use case. My use case is "I want to click a button and then I want to be able to `apt-get install what-i-want` and then it should work. I don't even care whether it's Debian or Ubuntu, as long as it has apt-get because that's all I understand.

Granted, maybe I shouldn't be running VPSes at all but hey, it works, and I bet DO has many customers like me.

blfr|11 years ago

There are plenty of companies that will let you upload your own images. It's not very convenient. Provider's images are somewhat easier to use.

The best solution is to have maintainers of the OS prepare cloud distributions. Many already do for AWS or OpenStack. Our own 'cperciva is responsible for EC2-compatible version of FreeBSD.

Until this becomes a standard, there's nothing wrong with partial solutions. I created a FreeBSD droplet right away.

quicksilver03|11 years ago

This is the reason why I no longer have VPSes at DigitalOcean, sometimes I couldn't update my CentOS kernels when important updates were available because DO lagged for a few days in making them available.

toni|11 years ago

> Before, when a company provided Xen or Kvm, you generally would get to have low-level access such as the ability to virtually connect to a serial port or vnc session of your box as it booted. You also, typically, could provide your own ISO images.

It's remarkable that you start your sentence with "before". As a prgmr.com user, I can still get an out-of-the-band console and run my own kernel without any fanfare. (no affiliation at all, just a happy user)

dhaivatpandya|11 years ago

If DO users don't need the ability to upload their own images, why is this a problem?

compuguy|11 years ago

Sounds like they aren't using kvm or xen (even though most providers do not allow for image uploading). OpenVZ is even more frustrating when your working with ipv6 (UGH!).

saper|11 years ago

With FreeBSD, bootloader and kernel are stored on the root filesystem. So you can change them as you desire. Only repartitioning is painful a bit.

nly|11 years ago

You can select the kernel your droplet uses via their admin interface. Just remember to update the VM first.

czk|11 years ago

Just deployed a FreeBSD droplet and I'm not sure if it's just because the host network is busier than my other droplets, but I seem to be getting about half the network performance that I can in a default linux droplet. They are using Virtio, which is good since it doesn't require hardware emulation like the E1XXX devices on KVM. I should probably use a better test than cachefly but just wondering if theres any known tweaks/tips that should be done for FBSD on KVM with virtio devices.

Disk performance is also lacking in comparison to the ubuntu droplet as shown in the pastebin. Could just be because everyone's spinning up fbsd boxes on this host? :)

http://pastebin.com/raw.php?i=E8Q06XgM

sullrich|11 years ago

I am also seeing really poor write speeds when comparing to my Linux droplets. 11MB/sec vs. 216MB/sec on Linux

smallsharptools|11 years ago

FreeBSD is plenty fast. I expect Digital Ocean simply needs to work out some kinks. It will be fast soon enough.

atmosx|11 years ago

It's not only DO. I had to create a Linux VPS in order to run a Sinatra application because when deployed on FreeBSD it took more than 60 seconds to send a response to the remote API and the connection was timed out!

After performing some tests[2] I figure out that the problem was not FreeBSD per se, but the FreeBSD deployment on the specific virtual server... I think that *BSDs should be avoided because they tend to be a lot slower than linux deployments on virtual machines.

[1] http://www.transip.eu

[2] https://gist.github.com/atmosx/14efea27eb2c1e38af09/

saper|11 years ago

> time dd if=/dev/zero of=/tmp/test bs=64k count=16k

16384+0 records in

16384+0 records out

1073741824 bytes transferred in 57.605991 secs (18639412 bytes/sec)

0.023u 6.128s 0:57.61 10.6% 25+172k 7+81916io 3pf+0w

> sudo mount -o nosync -u /

> mount

/dev/gpt/rootfs on / (ufs, local, soft-updates)

devfs on /dev (devfs, local, multilabel)

> time dd if=/dev/zero of=/tmp/test bs=64k count=16k

16384+0 records in

16384+0 records out

1073741824 bytes transferred in 5.135908 secs (209065631 bytes/sec)

0.016u 2.274s 0:05.16 44.1% 24+169k 8+8193io 0pf+0w

radimm|11 years ago

Yes, it's really sluggish. Also both power off and resize do not work for me - as I wanted to upgrade it to compare the performance.

JeremyMorgan|11 years ago

Smart move. I will definitely be spinning up some FreeBSD droplets. This will attract people like me who enjoy building lean and mean BSD servers, and give people an alternative to Linux if they choose.

Nice work Digital Ocean, love the way you folks keep pushing forward. Need some tutorials written?

Teichopsia|11 years ago

If you take requests?

After reading the tut on HN the day before on how to be your own vpn provider with openbsd [1] I started to search for a tutorial that was either openbsd or freebsd with softether without much luck. I was about to do an instance of debian & softether.

Perhaps my comment would be better served in another way. I'm new at this and have no idea what I'm doing. :) How can I go about from setting a vpn server with a webpage for paying customers?

I'm looking at it more like a learning experience than to make it into a business, but if it works great. Could you or someone point me into the right direction into what needs to be read for each step of the way? I have very little linux experience, non in bsd and a little in python.

Thanks in advance.

[1] http://networkfilter.blogspot.com/

xhrpost|11 years ago

As a web developer who knows enough Linux to do minimum dev-ops, could anyone recommend some things worth playing around with in FreeBSD? Like "do this and see how easy it is vs Ubuntu!". Or are the gains more long term like better stability?

atmosx|11 years ago

Yes. From my experience:

* PF (default on OpenBSD, a fork exists on FreeBSD) configuration is way more human-readable than iptables. Makes a lot easier to create custom complex rulesets.

* Documentation is much cleaner on FreeBSD (or OpenBSD) compared to GNU/Linux. Again helps you deploy complex solutions easily.

* The upgrade process (using ports or pkg) is well documented, easy to execute[1].

* ZFS makes FreeBSD a very solid file server

So, other than specific software, a clean approach on how start/stop services, where goes what, etc. I don't see any other reason for someone to switch from Linux to BSD.

However, given my experience ruby (I'm a ruby programmer) under-performs on FreeBSD VPSs compared to Linux VPSs while on bare metal doesn't. There are reports citing NetBSD as fastest ruby bare-metal OS. But again, differences shouldn't be all that much between BSD and Linux deployments in bare metal to justify a switch on VPSs though, if deploy ruby apps, I'd say stick with Linux.

[1] Hm. It's easy to execute if you are not afraid to read some extra documentation. But once you get the hand of it, it's really a breeze, never had serious issues with FreeBSD in ~3 years.

joshbaptiste|11 years ago

Dtrace alone will turn you from a developer to a Developer + Systems admin + practical OS engineer, you will understand how your stack is performing within various lower levels of the operating system and be able to tune the hell out of your stack from bottom up.

woodman|11 years ago

I switched from CentOS to FreeBSD as my daily driver a little over a year ago, for the ports tree. I needed a bleeding edge version of valgrind, but my ~/bin and ~/lib were already pretty unwieldy - so that is what caused the switch. That and ZFS. But I've found a couple of other things that I really like: the documentation is awesome, and config files are where you'd expect them to be. Being able to tune system internals online with sysctl is really awesome as well. Wanna change the lowest possible C-state one cpu3? sysctl hw.acpi.cpu.3.cx_lowest=C3.

I dunno how useful that is for web devs, but as a C programmer and perpetual tinkerer - FreeBSD suits my needs very nicely.

romaniv|11 years ago

IMO, just having something of the quality of FreeBSD's handbook (https://www.freebsd.org/doc/handbook/) is a significant point to consider. It is the best piece of documentation for a system I have ever read.

gtrubetskoy|11 years ago

When bored, you can run `make world` (it recompiles the kernel and every binary on the system).

vbit|11 years ago

As a developer you might find jails useful. I use them to create multiple isolated 'virtual machines' on the same machine. In each one I can install a different set of packages and I like the my base system in clean. With zfs, I also snapshot each jail before major changes so rollback is easy. Try this and see how easy, well-integrated it is as opposed to something similar on linux.

I use ezjail, btw.

xenophonf|11 years ago

My reasons for using FreeBSD are a little more philosophical:

- I want to have a stable base O/S to which I can always easily return.

- I want to be able to customize installed packages in an easily scalable way.

- I want a server O/S to be simple to maintain, relative to Windows or Solaris.

- I want the goddamned documentation installed.

During development it's difficult to get RHEL or Ubuntu back to a known-good set of base packages without fiddling a lot with the package manager. It's better nowadays with package groups and autoremoval supported in both yum and APT, but with FreeBSD, you can always punt, do "pkg delete -a && rm -rf /usr/local" (or "pkg_delete" in the before time), and start over. The base configuration is also pretty simple and centralized, with most of what you need in /etc/rc.conf or /etc/periodic.conf.

pkgng + poudriere + a suitable web server makes custom package management really, really easy. I haven't tackled Spacewalk or similar tools for Linux, but even building locally customized versions of packages on RHEL or Ubuntu is a moderately complicated process compared to the FreeBSD Ports Tree. On RHEL or Ubuntu, you typically have to install the developer tools, hunt down the source RPMs/DEBs, edit the package definition, run rpmbuild/debuild, and install the resulting RPM. Compare that to the FreeBSD Ports Tree, where you run one command to download/update your copy of the package definitions, add whatever package-specific knobs you need to /etc/make.conf, and run "cd /usr/ports/category/packagename && make install" (the compilers and everything come built into the base system).

I'm not going to start an argument about the relative merits of init systems, as systemd (Linux), SMF (Solaris), and SCM (Windows) all have their merits, but I personally like the simplicity of configuring everything through /etc/rc.conf on FreeBSD. It's definitely old school, but then I cut my teeth on NeXTSTEP, SunOS 4, and Slackware Linux, so rc-style init scripts feel pretty natural to me.

As for documentation, I cannot tell you how many times I've wanted to run "man something" only to find out I need to install the -doc package. (Also, I cannot tell you how many times I've wanted to compile something, only to find out I need to install the -dev package.) Compared to Linux, FreeBSD has superior documentation. Even kernel bits get manual pages, and not just syscalls in section 2, but kernel interfaces and modules in section 4.

Of course I use both FreeBSD and Linux to great effect at home and at work, as well as Windows and Solaris. I just _like_ FreeBSD better.

namidark|11 years ago

Jails are awesome

josegonzalez|11 years ago

You probably mean "knows enough Linux to do minimum ops".

phillc73|11 years ago

While this is great news, BSD support is currently the second most widely requested enhancement to the Digital Ocean service.[1]

I wonder if we'll now see additional storage addressed soon?

[1] https://digitalocean.uservoice.com/forums/136585-digitalocea...

Edit: I've had this theme bookmarked for ages, now might be the time to build it! http://daemon-notes.com/articles/desktop/example

icelancer|11 years ago

They have a bunch of stuff that was "planned" for Q1 2014 (separate hardware for master/slave setups) that aren't even close to shipping. Pretty frustrating. I like Digital Ocean and I use them in production for some apps but it's very hard to take their techops team seriously when they are missing deadlines by 12-18 months or more without regular updates. It's pretty unprofessional.

yogo|11 years ago

Hopefully it stays around and isn't axed like Arch was :)

emsy|11 years ago

It's the highest voted request and there was no response for over 2 years. The first response after that time didn't even address the request but tried to distract with an unrelated feature request. This is pretty frustrating and the reason I will move my VPS from DO to another hoster. If you think I'm bitching around that's because I am. The way DO handles this is ridiculous.

weavie|11 years ago

I am very intrigued by BSD as it comes highly recommended here. I just need an excuse to dip my toes.

I need to set up a nginx -> nodejs server for a project soon. Given I have set up a number of linux servers without trouble, how much of a struggle would it be to just use BSD for this new project? Would it be worth holding off and just messing about in a VM, or would my linux experience just transfer directly to setting up on FreeBSD?

olssy|11 years ago

It shouldn't be a struggle at all just be conscious that freeBSD does not try and protect the user from him/her self. Case in point, "kill 1" won't do anything on linux but in freeBSD it will kill the init process.

icantthinkofone|11 years ago

I just started running the same thing a couple of months ago without issue. Go for it. It works great.

sneak|11 years ago

You're still using the 2005 sysadminning model of instances/hosts running services. Use elastic beanstalk or similar to pop up a layer of abstraction to "app". Your time is finite.

swills|11 years ago

There does seem to be one part of their announcement that's a bit off:

  While similar to other open source unix-like operating systems, it’s unique in that the development of both its kernel and user space utilities are managed by the same core team, ensuring consistent development standards across the project.
Wouldn't it be Linux that would be unique in that they don't do this? Solaris, AIX, HP-UX, all the BSDs, Mac OS X (which is certified Unix) does this as well. Correct me if I'm wrong here.

tw04|11 years ago

So two things:

None of the OS's you listed are open source.

The second part of the statement, the way I read it, is comparing FreeBSD to DigitalOcean's current offerings - Linux. Keep in mind the post is for someone that's already using DO's services, which is a person who has only ever used Linux on their platform.

ChristianBundy|11 years ago

For anyone else having trouble reading the quote:

> While similar to other open source unix-like operating systems, it’s unique in that the development of both its kernel and user space utilities are managed by the same core team, ensuring consistent development standards across the project.

emeraldd|11 years ago

They may be treating the various linux distributions as separate entities. Then the number of Linux based operating systems should far outpace just about anything else ....

isaacdl|11 years ago

AFAIK, AIX, HP-UX, and Mac OS X are not open source (I'm only positive about OS X)

k__|11 years ago

Maybe they talk about Linux, Hurd, OpenBSD and NetBSD?

wtbob|11 years ago

Great news! I'm personally looking forward to OpenBSD, but now that this is done I bet that will be a cinch.

subliminalpanda|11 years ago

You might want to check out vultr.com. They don't directly support OpenBSD, but allow you to install an OS an a VM instance with an ISO image, either by you supplying it or they'll pull it for you through an ftp or http link. Their pricing is similar to DO.

I managed to get an instance running without too much trouble.

(I do not work for vultr, or affiliated in any way).

IgorPartola|11 years ago

And yet, still no universal support for IPv6, and the droplets that do get it only get 16 addresses. Yes, I am going to complain every time DO comes up in the news until this is fixed.

zachberger|11 years ago

Pardon my naivety, but why do you need more than 16 addresses per droplet?

mrbigidea|11 years ago

One small step for man, one giant leap toward a PFSense VM in the DigitalOcean cloud.

pyvpx|11 years ago

what will you do with a pfSense VM on DO?

edwinnathaniel|11 years ago

EXCELLENT!

Thank you very very much for supporting FreeBSD!

swills|11 years ago

Agreed, this is really great news, I'm trying it out now.

ghc|11 years ago

Finally, finally, finally! I've been waiting for either DO or Linode to offer this since forever. Now the only thing left on my wishlist is OpenBSD support.

keidian|11 years ago

Linode doesn't (last i checked anyway) officially support FreeBSD but people were doing it years ago in the irc channel when I used to hang out there

vince_refiti|11 years ago

Last time I looked, Rackspace (at least the Sydney, Australia centre), supports FreeBSD.

pyvpx|11 years ago

I'm wondering what the chances of any other BSD being supported are...? Dragonfly? Open? ...Net? :)

edit: after actually reading TFA, it seems unlikely. Well, it seems like Dragonfly is most likely, if any others.

andrewsomething|11 years ago

Depending on demand, adding other BSD variants is certainly a possibility. We had to start somewhere, and the FreeBSD community has been very vocal about wanting to see this happen. This is the first non-Linux OS we've decided to support, so we're excited to get feedback on it.

zzzcpan|11 years ago

Just created a droplet and sadly, it is 10.1 amd64 only. Won't be very useful on low-memory VMs. I hope they add i386 too.

EDIT: Anyone cares to explain downvotes?

xenophonf|11 years ago

What's your idea of a low-memory virtual machine? For test purposes I'm running FreeBSD/amd64 under Hyper-V in 128-MB RAM without any problems, although it is using around 32-MB of encrypted swap. That includes the Salt minion, Postfix, and an untuned static Apache 2.4 installation. Of course, it's much more comfortable in 256-MB RAM with around 44-MB RAM free according to top, and of course that's workload-dependent (e.g., my mail relay running amavisd-new and ClamAV wants 1.5-GB RAM after loading all of the spam and virus signatures). I could definitely see wanting to run FreeBSD in 128-MB or less RAM, but I'm very curious about your specific workloads. (It's the gearhead equivalent of wanting to look under the other guy's hood. If you're doing something cool, I want to hear about it!)

P.S. Hyper-V will let me go as low as 32-MB RAM, so thanks to you I'm keen to try out different operating system installs (and workloads) in low-memory environments.

P.P.S. Upvoted parent - I think the parent comment contributes to the discussion, even though I would personally love to see commenter go into more detail.

cnst|11 years ago

Do they support IPv6? The IPv6 link from their list of features page just links to their blog entry about Singapore.

What kind of IPv6 allocation do they provide?

gergles|11 years ago

Yes, in most regions. The allocation is an incredibly stingy 16 addresses.

ketralnis|11 years ago

I've been using Vultr.com for this for a while and they're pretty nice. Slightly cheaper, promises that they don't oversell their servers, and they've had FreeBSD for long enough to have got the kinks out.

They also let you just upload an ISO and install any OS you like from there, which is handy for non-default FreeBSD configurations like ZFS-on-root

barkingcat|11 years ago

BOOM - time for me to spin up more of these!

filmgirlcw|11 years ago

This is great news, thanks DO!

aurelien|11 years ago

A service that is a bit ugly, here is what I feel about, you register, you give your credit card, and you just don't know how it will cost. That point is just bad and make me feel that will cost an eye.

lcmatt|11 years ago

Don't know how much it will cost?

The price you see in the huge font is the price you'll pay at the end of the month...

nine_k|11 years ago

I wonder how much does DO's offer differ from other vendors that allow you to basically boot from your own virtual CD, like AWS or Ramnode.

I'd love if someone explained it.

ltofbss|11 years ago

I have so much experience with Linux I feel like FreeBSD I would have so much to re-learn. What makes it worthwhile and how transferable is my knowledge?

schmichael|11 years ago

Really wish they'd support IPv6 in all of their datacenters. Comcast and T-Mobile universally support it, why don't datacenters?

ohnoesmyscv|11 years ago

You guys are awesome! Been waiting.

eklavya|11 years ago

Time for a benchmark.

jbverschoor|11 years ago

Migrating away from DO. because if the host dies, your vm dies.

Same as ec2 yes, but aws provides ebs.

Scottymeuk|11 years ago

Why not just build your infrastructure correctly? Then it doesn't matter if the host dies.

cnst|11 years ago

It's kind of ironic that they list FreeBSD's excellent documentation as one of the reasons for consideration, especially considering that their own documentation is so bad!

I mean, what kind of company links directly to blog entries, with incomplete and outdated information, all across their web-site?

Ain't nobody got time to read the blog comments and figure out what's the current status of stuff is.

cnst|11 years ago

And the above post is downvoted to -2 for which precise reasons?!

Does anyone really disagree that documentation at DO is total crap?!

If it wasn't total crap, why would their employees link (on social media) to the upstream www.freebsd.org instead of any kind of FAQ on their own website? https://news.ycombinator.com/item?id=8890383 Oh, right, because DigitalOcean's documentation (about their own features (and disabling of features from FreeBSD)) is absent and non-existent!

hiphopyo|11 years ago

Should have gone with OpenBSD instead to be honest. Half the requests on your UserVoice are for OpenBSD. All the coolest stuff in FreeBSD comes from OpenBSD.

OpenBSD -- the world's simplest and most secure Unix-like OS. Creator of the world's most used SSH implementation OpenSSH, the world's most elegant firewall PF, the world's most elegant mail server OpenSMTPD, the OpenSSL rewrite LibreSSL, and the NTP rewrite OpenNTPD. OpenBSD -- the cleanest kernel, the cleanest userland, the cleanest configuration syntax and some of the world's best documentation.

FreeBSD, on the other hand, is becoming more of a testbed for experimental, some would even say unnecessary technologies: https://news.ycombinator.com/item?id=8546756. It's also having a hard time catching up to OpenBSD: http://itwire.com/business-it-news/open-source/62641-crypto-....

bch|11 years ago

I was going to downvote your comment, but instead:

> All the coolest stuff in FreeBSD comes from OpenBSD

This is juvenile "I'd rather push a Ford than drive a Dodge" level commentary. It's not true, and isn't even interesting.

That any BSD is getting support is a good thing -- it opens the door to others following, and is good news.

tbirdz|11 years ago

> All the coolest stuff in FreeBSD comes from OpenBSD.

I disagree. Jails, ZFS, and DTrace did not come from OpenBSD.

elektronjunge|11 years ago

For security probably. But security isn't the only reason that I choose an OS. OpenBSD's security comes at a cost. They are usually late to the party on non-security features. Many of the security features make OpenBSD much slower. Even for security software OpenBSD isn't as big a win as the devs make it out to be. Take for instance PF, OpenBSD developers will be quick to point out that the OpenBSD version is more up to date. But that doesn't tell the whole story, FreeBSD is using a fork which allows for multi-threaded execution which is a must most non-trivial deployment scenarios. Further more OpenBSD often takes to hard of a line on security enhancements with the belief that the kernel should be the line in the sand. Usually, one prefers multiple layers of security but OpenBSD says the kernel is often good enough. See OpenBSD's refusal to add a MAC framework for an example of this. Jails also don't exist for similar reasons, though they are useful for reasons other than security.

The source you have for the 'testbed' for new technologies makes the claim but barely has warrant for it. On the other hand, OpenBSD is much more liberal about breaking compatibility especially when it involves security. While I'm not going to excuse OpenSSL, NTP, or Sendmail they are all general robust software that has been in use for decades. Aside from LibreSSL the OpenBSD rewrites have been incompatible.

FreeBSD also offers a number of incredibly compelling features outside of what OpenBSD can, or will offer in the short to medium term. I'll just list them: virtualization with Bhyve, boot from zfs, a linux compatibility layer, a much more modern package manager, official java support, the ability to install binary blobs.

None of this is to say that OpenBSD isn't a great choice, but recognize there are reasons to choose both platforms and that one doesn't need to spread FUD to advocate for their favorite platform.

wglb|11 years ago

Note that the package system used by OpenBSD is explicitly borrowed from FreeBSD.