FreeBSD, SysAdmin

Continuous Learning: Why I’ve opted to learn BSD’s and so should you

Updates:
@12-12-2016:
– I’m making this a permanent entry into the blog under “Learn BSD”.
– Added reference to BSDTV, OpenBSD FAQ, Dragronfly BSD Digest

Magic now. Magic I unnerstan’.

The Color of Magic, Discworld #1

aqg21ui

Yes, magic, but unlike our character Rincewind in The Color of Magic, the spells that I’ve learned over the years by using BSD’s are still somewhat accessible in my memory – I don’t just forget them after studying it for months but using it for just a single time. This is the kind of knowledge you should be going for as well, the one that you can build and sharp over time, that is, without having to relearn it all.

Roughly after 15 years using FreeBSD and OpenBSD and working in a different industries and positions, I do not regret my choice to stick with these systems. I initially, as many I believe, started my UNIX-like journey with Linux, trying various distros for a while. I was fortunate to be introduced to FreeBSD (and OpenBSD after that) by a friend during college, and since that, never looked back. Don’t get me wrong, I still do use Linux, as I did use Solaris, when they made more sense or were somehow required – and that’s ok. I still try to use FreeBSD/OpenBSD whenever I can, in and out of Corporate world.

The BSD Culture

On an interview for the BSD Magazine, Dru Lavigne phrased how the BSD community really works:

You can (and should) slow down and learn how things work. It can be a mind shift to learn that the freedom to use and change how something works does exist, and isn’t considered stealing. And that learning how something works, while hard, can be fun. BSD culture, in particular, is well suited for those who have the time and temperament to dive into how things work.

The BSD culture does indeed invites one to go on, learn and share. Overtime, this mindset will stick with you, it sure did to me, becoming a part of my professional and personal life.

Really ? How? Mind sharing some examples?

I am all for using the right tool for the right job and I’ve being satisfied to a large degree by the amount of proper tools that both, FreeBSD and OpenBSD bring to the table. Here’s a brief list of solutions that I’ve used:

  • OpenBSD’s svlan interface to capture QinQ traffic for a Telecom Customer (capture traffic from a DSLAM Cabinet on the street).
  • Flow analysis with pflow and nfsen on OpenBSD.
  • File sharing with FreeNAS.
  • Firewalling a branch office with OpenBSD.
  • Using Asterisk (Soft PBX) on OpenBSD to connect a small office.
  • Create a 3G wifi hotspot with OpenBSD (pf, ppp) on a tradeshow.
  • Deployed a reversed ssh tunnel from an OpenStack private cloud into a FreeBSD droplet at Digital Ocean. This allowed me and my team to troubleshoot our OpenStack cloud appliance running  on a conference floor (that is, working after hours from the hotel).

All of that can/could be done by something else (Linux, for example). But the simplicity and careful way the BSDs are documented were unprecedented for me as an Engineer. Many times all I had access to were the man pages so knowing they were accurate was unprecedent.

The situation today

The one topic that bothers me though, is the latest trends in IT. Every week, it seems to be a tremendous amount of “new technology” (aka NIH solutions)  all over the place – followed by nonsense hype.  With that, think about what makes sense to you and think about the time you will invest (yes, invest) continuous learning these technologies.

If you are coming from Linux and is new to BSDs, take a moment to read the excelent A Comparative Introduction to FreeBSD for Linux Users at Digital Ocean.

The Tomes of Magic – Audio, Video et al

Reading material (Online):

Books:

FreeBSD –

  • The Design and Implementation of the FreeBSD (Amazon)
  • Absolute FreeBSD: The Complete Guide to FreeBSD, 2nd Edition (Amazon)
  • FreeBSD Mastery: Storage Essentials (IT Mastery) (Volume 4) (Amazon)
  • FreeBSD Mastery: ZFS (IT Mastery) (Volume 7) (Amazon)
  • FreeBSD Mastery: Specialty Filesystems (IT Mastery) (Volume 8) (Amazon)
  • FreeBSD Mastery: Advanced ZFS (IT Mastery) (Volume 9) (Amazon)

OpenBSD –

  • Absolute OpenBSD: Unix for the Practical Paranoid 2nd Edition (Amazon)
  • The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall  (Amazon)

Audio and Video:

Meeting the Wizards

In some occasions, you can meet the “pointy-hats” in these events:

This is by no means a full list of the events. For an updated list, please refer to these:

Baking it: Running FreeBSD on a Raspberry Pi

If you want to learn or teach BSD, you should be aware that FreeBSD runs on a few accessible devices ($) such as the Raspberry Pi (B+, 2 and now 3). This is incredible interesting and as we move move forward, more of these devices are expected to be supported. Here’s an idea, you can use RPI’s with the _free_ material from TeachBSD.org to spread the knowledge. As a matter of fact this would work not only for the internals of FreeBSD  but also for practitioners to get hands on.

  • Pros: Cheap platform, easy way to get started and to teach others.
  • Cons: Initial setup and cost when going with more than one PI. Availability of the Raspberry Pi in your region can be tricky.

In a hurry ? Try using a cloud

A quick way to have access to BSDs is to use one of the main public cloud providers such as Digital Ocean, AWS and Microsoft Azure.

  • Pros: Immediate access. Easiest way to get started. Can be very cheap (pay per use).
  • Cons: Initial setup. Might not be accessible from a Corporate environment (firewall, etc).

If you can’t go with a cloud environment, another option is to fire up Vagrant with FreeBSD with the official releases from the FreeBSD Release Team.

Going all in: Using it as a desktop

To fully learn FreeBSD or another BSD for that matter, is to go all in. Based on my own experience, I would suggest that you install either one of the BSDs and build up a desktop (which is honestly fairly easy) or to go with a ready-to-go option such as the awesome TrueOS. As a matter of fact, one should go ahead with TrueOS and see how well integrated a FreeBSD desktop can be. Don’t be fooled, TrueOS _IS_ FreeBSD and carries all of the advanced computing capabilities you’d find on FreeBSD (OpenZFS, Dtrace, GELI Encryption, Jails, bhyve just to name a few) but it takes the burden of building and fine tuning a FreeBSD Desktop – plus some extra awesomeness developed by Kris and the team (AppCafe, SysAdm, etc).

Next

2016 is almost coming into an end, so how about this as a challenge. How about starting 2017 by deep diving into FreeBSD, taking the time to learn a set of tools that are likely to stay with you for the next years to come? Expect more information on that front here.

Cheers,

-dcasati

 

Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s