Skip to content
This repository has been archived by the owner on Feb 13, 2023. It is now read-only.

Default to Debian 8 instead of Ubuntu 16.04? #1177

Closed
geerlingguy opened this issue Feb 23, 2017 · 27 comments
Closed

Default to Debian 8 instead of Ubuntu 16.04? #1177

geerlingguy opened this issue Feb 23, 2017 · 27 comments

Comments

@geerlingguy
Copy link
Owner

This is just to kick off a bit of a discussion—I've finally got around to publishing my own Debian 8 Vagrant box (for VMware and VirtualBox): https://atlas.hashicorp.com/geerlingguy/boxes/debian8

I've never particularly liked Ubuntu, and I don't often use Debian either (I'm more of a Red Hat/CentOS guy), but I like Debian more than I like Ubuntu for server use (on the desktop, Fedora's my distro of choice).

Therefore, I want to discuss the idea of switching the default for Drupal VM from Ubuntu 16.04 to Debian 8—noting that all (if not almost all) of the roles I maintain are currently tested and working on CentOS 7 (and usually 6), Debian 8, Ubuntu 16, 14, and sometimes 12.04 LTS.

Pros

  • Debian box is 493.6 MB. Ubuntu box is 770.5 MB. Debian is ~44% lighter weight in the base install. This means I might not have to pay a full extra ~$200/year in bandwidth costs, as I'm currently using about 8 TB/month transfer. This is probably the number one driver, as this is money out of my (personal) pocket...
  • Debian feels more lightweight and community-driven. More in the spirit of an open source distribution than Ubuntu at times.
  • Docker-based Debian usage is much higher (often due to the disk space constraints) than with VirtualBox/real-world VMs/bare metal servers... so Debian usage could be a trend towards better future proof-ness.
  • I'm starting to switch all my personal servers that are still using Ubuntu 14/16 (about ~45 currently) to Debian, and the only thing I maintain that defaults to Ubuntu anymore is Drupal VM. Kinda makes me not like Ubuntu even more :P

Cons

  • Ubuntu is for some reason more popular across most servers. I think it's because many people like the option of Canonical's support, or they're more familiar with the name.
  • Ubuntu has been used as the default since Drupal VM's inception, partially because some of the major hosting providers (e.g. Acquia Cloud) used (and/or still use it).
  • Switching the default would mean there are edge-case bugs that might not get fixed for Ubuntu use until people run into them (same situation with CentOS and Debian today).
@geerlingguy
Copy link
Owner Author

There's an awful lot of personal opinion in the above, but I'd like to hear more from other users—would switching to Debian cause any pain? Be better for you? Worse? Not make any difference at all?

The only real-world implication so far (and this can be combatted by simply switching in your config.yml back to geerlingguy/ubuntu1604, 1404, or 1204...) is that the default wouldn't match the same OS family as certain large Drupal infrastructure providers (ahem—Acquia).

@heddn
Copy link
Contributor

heddn commented Feb 24, 2017

I think I prefer sticking with ubuntu, but that's just me. Most of my reasons are personal as well.

@thom8
Copy link
Collaborator

thom8 commented Feb 25, 2017

If there's one thing I've learnt using OSS over the years, it's that the easiest route is often the one most travelled and it seems ubuntu has found its place as the de facto default for many.

Are there any good resources for OS usage statistics? even better if they were LAMP/Drupal specific.

easiest != best ;)

@thom8
Copy link
Collaborator

thom8 commented Feb 25, 2017

Vagrant box downloads - https://atlas.hashicorp.com/boxes/search

8 out of top 10 are or based on ubuntu.

@geerlingguy
Copy link
Owner Author

@thom8 - Realizing, of course, that the first one is the default in all Vagrant documentation and examples everywhere... and Homestead and puPHPet are both using it more for legacy reasons.

The main downside is, of course, popularity/rankings. But I've even considered switching to centos7 instead, since that would be just as easy on my end (and even better, since more than half my infra is on it :P). But it seems far fewer individual devs/small shops are familiar with anything outside of Ubuntu, maybe Debian, and maybe Arch.

@thom8
Copy link
Collaborator

thom8 commented Feb 26, 2017

Absolutely, the power of the default also makes it the lowest risk option as an upstream issue with vagrant + vbox + ubuntu would affect the majority of users + it's far easier to find external support.

Good or bad this trend also doesn't seem isolated to Vagrant, it's similar on Docker Hub, community AWS AMI's etc.

Maybe they just have the best/well funded marketing team ;)

@geerlingguy
Copy link
Owner Author

Absolutely, the power of the default also makes it the lowest risk option as an upstream issue with vagrant + vbox + ubuntu would affect the majority of users + it's far easier to find external support.

One example to the contrary, though—for some inexplicable reason, my Ubuntu 16.04 box was the first one to actually support NFS... about 3 months after the LTS release. To my knowledge, the official 'Ubuntu' version is still not working correctly in some basic networking situations (e.g. with private IP and NFS on CentOS, and some other conditions).

And I had to spend about 8 hours making it so. Granted, I'd be solving the same problem with a Debian box... but Debian and Ubuntu are usually close enough that it's not a huge issue.

@thom8
Copy link
Collaborator

thom8 commented Feb 26, 2017

TBH Debian is so similar to Ubuntu I don't think it will make much of a difference, I guess Ubuntu just claim to be more user friendly (hence the extra weight).

Also have you looked into hosting the base boxes on Atlas?

@geerlingguy
Copy link
Owner Author

@thom8 - Yes, I have... unfortunately the few times I've taken the time to try, I kept running into weird environment things that caused builds on Atlas to fail. You can't have the boxes hosted on Atlas, apparently, unless you also build everything on Atlas.

@geerlingguy
Copy link
Owner Author

At least that's how it was back the last time I tried to get things set up solely in Atlas. So I still have the boxes on files.midwesternmac.com, and the metadata on Atlas.

@thom8
Copy link
Collaborator

thom8 commented Feb 27, 2017

@geerlingguy I think it's been solved but manual :(

image

However, there's probably a way it can be automated via the API.

Also the packer builder on Atlas has become much more stable and since the 0.10.0 release I haven't encountered those weird environment things.

@geerlingguy
Copy link
Owner Author

Interesting... I'll have to try.

@oxyc
Copy link
Collaborator

oxyc commented Feb 28, 2017

Not make any difference at all

For me personally. It would simply mean all the random instances I spin up take less space, while all the work related instances remain locked to the OS production is running.

Maybe add a paypal link, or flattr, or something similar to let users contribute to the bandwidth cost?

@geerlingguy
Copy link
Owner Author

I've considered a patreon, but it always feels weird to ask for money for OSS, since I'm not the only contributor. We need a way to funnel some money to you to get a new lens for your awesome pictures or something :D

@geerlingguy
Copy link
Owner Author

As long as we have automated tests running on all the main supported OSes, then it seems like we should be safe to switch the default to the one that's most efficient (IMO).

To the majority of Drupal VM end users, I don't think it would make much difference day-to-day. Plus, Debian 8 and Ubuntu 16.04 are fairly matched, in terms of most popular packages/filesystem layouts.

@protitude
Copy link

protitude commented Feb 28, 2017

Maybe you could provide a torrent for your boxes and ask people to grab their boxes from the torrent. I would happily seed. Just looked and there's no way to download torrents via vagrant, but that would be awesome. Might not be able to get everyone to grab the box that way, but if enough people do, it might bring down your costs. Just a thought 🤔

I'm happy with Debian if everything works the same at the end of the day.

@oxyc
Copy link
Collaborator

oxyc commented Feb 28, 2017

I've considered a patreon, but it always feels weird to ask for money for OSS, since I'm not the only contributor.

I understand, but I feel hosting/bandwidth costs are different from code contributions though. It's an actual expense.

@geerlingguy
Copy link
Owner Author

Well, then, there you go! https://www.patreon.com/geerlingguy

@geerlingguy
Copy link
Owner Author

Maybe you could provide a torrent for your boxes.

Sadly, I think this would only help defray < 5% of bandwidth... unlike many larger distro projects and other places where the download would generally be downloaded manually, the ease of use of Vagrant with automatic download on vagrant up means nobody's conditioned to go look for a place to download the box most efficiently.

Now that @oxyc has funded bandwidth for the month, I'm sitting pretty comfortable, ha!

@yareckon
Copy link

yareckon commented Mar 9, 2017

Dear Jeff, thanks for the all the great tools, just bought your ansible book today!

I for one would be glad if you switched to debian. I'm a bit biased because that's what I run everywhere, but I don't think your users will care too much one way or the other.

The real solution is to kind of let folks bring their own base box... but only have the one supported box that you have the most fun supporting. Maybe a one time effort to document how you build your base boxes?

I think the reason most of the virtual appliances ecosystems are based on Ubuntu is the awareness of the 6 year LTS promise, which singlehandedly gave ubuntu primacy in the server market (I imagine at some large behind the scenes personel costs backporting security fixes). When that came out, Debian had only a 2 year or so promise, and no support for old stable. Debian has recently moved towards supporting one or two old versions as well, which makes this less of an issue.

In terms of speed at getting security updates fixed, I generally see Debian stable getting fixes within a day, Ubuntu LTS within 3 days, and Debian old stable getting them in 2-4 days. Not as big of an issue with a dev box, but I think it shows the respective focus of the projects.

@mlncn
Copy link

mlncn commented Mar 10, 2017

A vote for Debian by default— for all the reasons you cited, because it's setting new people starting out (everyone who is going to just accept the default as best) on what i think is the better path, and because if people go wild installing stuff on the VM, and then want to switch from Debian to Ubuntu, they'll be more likely to be able to, whereas going in the other direction they'll likely be stuck with PPAs. And of course because we (Agaric) have personally been using Debian VMs for a long time locally and Debian on all our servers.

Of course, once you start seeing me file the weird issues that apparently only happen to me, you'll probably want to make any decisions to keep me from switching to drupal-vm for all our client and Drutopia projects.

@geerlingguy
Copy link
Owner Author

geerlingguy commented Mar 10, 2017

I pushed up a PR just to see if the baseline tests will at least work on Debian 8; I know I had tested it a few months back, but there's always the chance of a little configuration drift.

We'd also need to make sure to add/enable dotdeb (I have a role for it) and other things to make sure we get the right versions of everything (like we do for Ubuntu).

If at the end we don't actually set Debian as the default, at least we'll be supporting the three main server OSes I've ever seen in the wild. Plus getting Drupal VM up and running on Raspbian becomes trivially easy too—DrupalVMPie, mmm!

@geerlingguy
Copy link
Owner Author

geerlingguy commented Mar 20, 2017

Note to anyone following this issue: things are by and large running fine on Debian. I just need to get a few more roles set up with automated Debian tests before I'd feel confident making the final switch.

Also, I've now uploaded the latest version of each of my base OS boxes to HashiCorp's Vault, so they're paying the bandwidth costs now (instead of me) for the majority of the traffic. I still am delivering about 200-400 GB of data/month (I was up to about 3.5 TB/month for box delivery before offloading new releases!), so I'll keep the Files server up and running for at least the next year or so, to see if traffic dies off eventually.

@mlncn
Copy link

mlncn commented Mar 20, 2017

Fantastic! We've been trying out the 1177-debian branch— so far so good, since the PHP support!

@geerlingguy
Copy link
Owner Author

@mlncn - Note that the 1177-debian branch has been merged to master already—if you use master, just override the vagrant_box and set it to geerlingguy/debian8.

oxyc pushed a commit to oxyc/drupal-vm that referenced this issue Apr 14, 2017
@geerlingguy
Copy link
Owner Author

Thinking further on this, I'm slanting towards sticking with Ubuntu as the default for most of the reasons @thom8 brings up (in terms of general popularity). Though by that reasoning I should also be using Wordpress instead of Drupal (zing!)...

I kid, I kid. But basically, now that we have test coverage, I think offering the option of Debian 8 at least is a major improvement (before this issue, a few things broke on Debian 8, but no longer!).

So, closing this as 'won't fix', but 'will encourage the use of Debian 8'.

@thom8
Copy link
Collaborator

thom8 commented Apr 27, 2017

Personally, I'd opt for the "leanest" option but when the level of users is variable I'd suggest the one with the most external support.

https://askubuntu.com/ could be another reason Ubuntu has taken off..,

sonfd pushed a commit to sonfd/drupal-vm that referenced this issue May 19, 2017
sonfd pushed a commit to sonfd/drupal-vm that referenced this issue May 19, 2017
sonfd pushed a commit to sonfd/drupal-vm that referenced this issue May 19, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants