New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Why We Run FreeBSD-current At Netflix – Drew Gallatin
Why We Run FreeBSD-current At Netflix – Drew Gallatin
https://news.ycombinator.com/item?id=40096774
https://people.freebsd.org/~gallatin/
https://papers.freebsd.org/author/drew-gallatin/
https://openfest.org/
From PDF slides at https://people.freebsd.org/~gallatin/talks/OpenFest2023.pdf :
Netflix formerly ran FreeBSD-stable
- "Merge [Netflix'] FreeBSD from FreeBSD-stable every few weeks."
- "Moved to a new -stable branch every few years"
-- "This sometimes took months" - "Upstreaming patches required porting them to -current"
Now, Netflix runs FreeBSD-current
- "Merge upstream from FreeBSD-current every 3 weeks"
-- "We notice & resolve new upstream bugs that impact us immediately"
-- "Much easier to upstream code and collaborate with upstream developers"
Netflix FreeBSD Performance Milestones
- "2017 -- First 100 Gb/s CDN server"
- "2020 -- First 200 Gb/s CDN server"
- "2021 -- First 400 Gb/s CDN server"
- "2022 -- First 800 Gb/s CDN server"
- "2023 -- First 100 Gb/s CDN server consuming only 100W of power"
Watch the video to check out the story of the Magical Mystery Merge!
Thanks to abhinavk for suggesting this very fun video!
Comments
Definitely worth video to watch!
How do all these conferences have the worst audio?
FreeBSD has been around forever. Was popular long before Linux.
I still hate you Netflix
So Netflix is the new Hotmail
Yes indeed, with there scam payment plans
The early history of BSD and Linux is a fascinating and intricate topic, but I'm not sure that it's quite accurate to say that FreeBSD "was popular long before Linux"
In the early 90s, both BSD and Linux were both still very much niche-OSes, requiring a lot of know-how on the part of a prospective user to set up and use, and neither could have been said to be "popular" in anything like the ordinary sense of the word
(Just to note that v1 of FreeBSD appeared in the fourth quarter of 1993, and v1 of the Linux kernel appeared in the first quarter of 1994)
I'd still say that early on BSD had quite an edge over Linux (unsurprisingly reusing a lot of existing code). When i first ventured away from DOS/Windows in the late 90s/early 00s i ended up with FreeBSD because compared to Linux it was pretty easy get running/administrate.
I was just making a minor objection to the original statement
A significant difference between BSD (not just FreeBSD) and Linux is in their development models, which originally gave BSD an advantage but nowadays arguably gives Linux an advantage. With BSD, you get a self-contained, working base system out of the box, whereas with Linux, strictly speaking, all you get is a kernel, and it's incumbent on Linux distributions to supplement the Linux kernel with other software to make a working system
If one goes back to the second half of the 90s, when Linux distributions were still in their infancy (with the associated growing pains), BSD appeared more mature and easier to deploy by comparison (but not that BSD was easy to deploy even then)
@Not_Oles = @bsdguy
Well, my memory as to how all of that exactly went is pretty cloudy by now but i still know that i tried getting multiple Linux distributions to run and it didn't go anywhere. FreeBSD was pretty much a last ditch effort but after digging up enough floppy disks that didn't have some kind of read errors it pretty much just installed effortlessly and the documentation was quite easy to follow (which to a large part likely was due to the base system approach of BSD), so the conclusion of my totally representative one-person-study is that BSD was the easier system overall
It's part of the family. grandfathered the network stack of many major operating systems, gave us OpenSSH and many more.
Where Linux is blending with Windows. BSD tends to be distinguished still today, on its own island, with its cons and pros. While it may not be as mainstream, it inspired and gave birth to where we are
Just to be clear, I like BSD, and in addition to Linux, I regularly use NetBSD
That said, FreeBSD is no doubt the best choice of BSD for large deployments where performance is critical (see Netflix)
Yeah, these days NetBSD is also my favorite as i feel it's more simple / straight forward than the others and it also has a seriously nice community (nothing against the FreeBSD community but in my opinion NetBSD beats them - i've never really used OpenBSD though).
I also agree that FreeBSD is probably the obvious choice for commercial setups. It has the most man power attached to it and is kind of the flagship of the BSDs.
Agree. FreeBSD is certainly flagship. While I like BSDs it is not as convenient in daily life, lacks the integration of the oh so bashed systemd. Pfsense plans to move to Linux I regret though. I hope both worlds continue to complement each other. Sometimes I come across a BSD system, it gives a pleasant itch
While i certainly don't miss systemd, i still agree in general. I actually had plans to fork one of the big three to build something a little more user friendly but as it's pretty much a toy project it just gets pushed back again and again. There's a lot of potential but as is chances of BSD being some kind of serious competition outside of niche applications is pretty low.
Interesting enough, that netflix pouring money to freebsd but it does not evolve faster. Same stagnant, snail speed development.
Is there really that much to develop anyways? The big downside of BSD is basically drivers. Recently FreeBSD has been partly beating Linux in Phoronix benchmarks, so the kernel itself seems to be doing quite fine. The rapid development Linux is getting on the other hand has had the side effect of tons and tons of bloat.
The conservative nature of the BSDs is pretty much what sets them apart. I'm not really sure what's the expectation here (aside from maybe NetBSD's wifi stack modernization). What would you like to see developed but isn't coming around fast enough?
Is bsd, that much better compared to linux? (With vpp)
I’d like to try BSD. I’ve read some and I’m somewhat intrigued.
What’s stopping me is that I’m just way too deep into the Docker ecosystem. Everything I do now is based on Docker.
Even how I think, developing software, is based on a Docker-first approach. First thing I do is creating that compose file.
Edit: It’s gone so far now that I feel a little dirty installing software directly on my system. I’ve read some about Jails but that just ain’t it.
macos's Darwin is also FreeBSD based innit?
Well based on in the broadest sense. It's basically a modified FreeBSD kernel and probably a bit of basic tooling. It's kind of like Android is based on Linux.
If memory serves me right macOS is based on a Mach kernel with a lot of code from FreeBSD and NetBSD mixed in. Or to be correct, NeXTSTEP was based on BSD, and then Apple bought NeXT and used NeXTSTEP to develop macOS.
But tldr; yes, there is a lot of BSD code in macOS and a lot of the systemcalls are still the same.
Even Windows contains a lot of BSD code. Since it is not poisoned by GPL you can basically use it wherever you want.
How is the GPL poisoned?
It's viral/infectious by nature. If you are writing code that somehow interacts with GPL'd software and don't want to GPL your own code too it's a constant hassle to avoid triggering the relevant clauses, which often times involves playing lowend lawyer due to stupid corner cases, where you can't really be sure. It's massively annoying (can involve a silly amount of pointless extra work or be straight up impossible) / dangerous (once your code has been infected by the GPL you can't un-GPL it).
Companies and people preferring non-GPL licenses (which doesn't necessarily mean they are writing closed source applications) obviously hate it. If i'm donating my code to the world i want everyone to be able to use it as they see fit and the GPL doesn't allow this.
This situation is pretty much the reason why you will hardly find a single piece of GPL code beyond the Linux kernel in the Android codebase (it might even actually be none at all) and if BSD would have had better ARM support back when Android was designed they probably would have avoided the Linux kernel too.
I recall that light bulbs use to be 100W and now it can push that much data. Mind boggling scale of innovation.
Yeah good shit
containers are overrated, there's some interesting discussion about this. BSD mindset is to write proper software with chroots and organize it neatly through code review and readable code. There's also some kernel level security happening but I don't have that in short memory cache. Its hard to imagine today without dockers and one of my reasons to not use it as much, yet I consider containers/flatpak a dirty approach in todays Linux.
Containers itself are fine in my opinion. It's just the way they tend to be abused as a software distribution mechanism, which i feel is dirty. Jeez, looking at modern software repos it's sometimes actually impossible to find any kind of basic build instructions. It's all just about how to get your docker container running, which then basically acts as a blackbox.
Sure it's easier to simply not care about which kind of libraries are installed or what overall settings a given system uses but in the end there might also be some kind of thought having been put into either of those and if i install something i very much want to be able to directly get at it's configuration. If i think the application in question is better to be put into a container i can still decide about that later on.
Having said that, i also agree that a simple chroot is often times perfectly sufficient as far as sandboxing is concerned. Unless the application itself takes care of that i dont't really think there is much noticeable upside in comparison to docker and similar approaches though (besides being lighter).
Nah.
Great video & thx for the share