Physical Servers vs. Cloud Providers

When you’re architecting a solution for some kind of business or infrastructure problem, there are many things to consider: base load, peak load, growth rate, skill levels and specialties of the tech people your client has available to them, and much more. Your solution (whether ‘cloud,’ physical, or both) needs to give the maximum amount of value for the money you’re given to play with.

Let’s take a look at some advantages and disadvantages of both cloud (Amazon AWS EC2) and physical servers.

Read more

Sysadmin Links: Windows Package Management, SSH Wizardry, and Strategy Games!

Another episode of the “Sysadmin Timewasters” series just went up on YouTube. In this episode, we’re looking at several interesting projects:

0:01 Keep your eyes healthy! https://tutorialinux.com/want-to-keep-your-eyes-healthy-use-redshift/

3:01 How to choose a programming language: https://tutorialinux.com/which-programming-language-should-i-choose/

 

Read more

Which Programming Language Should I Choose?

In this article, we’ll cover some good reasons why you would want to learn to program (even if your position doesn’t have ‘software’ or ‘developer’ in the title).

Then, we’ll discuss the questions you should be asking when it comes down to choosing your first language and actually getting started.

Finally, I’ll tell you which languages I would learn, in which order, if I were starting over again today.

Read more

Linux Command-Line Basics: Two Videos

If you want to be a competent Linux or Unix Administrator, Developer, or IT Person, you need to be completely comfortable on the Linux Command Line. For that reason, I’ve approached the “Linux Command-Line Basics” topic from a few different angles so far.

This post should be a good jumping-off point for anyone who wants to dive in — it’s a one-stop shop for all the free videos I’ve made on the subject of Linux command-line basics and basic Bash shell skills over the last three years. Let’s get started!

Read more

Where to Get a ‘Cloud’ Server For $5/month

So you’re playing with setting up a cool project or web application (like the one I show you how to set up in my new Udemy course), and you want it to be accessible for your friends, your family, and yourself (while traveling away from your home network). How do you set that up?

Buckle up; I’m about to explain all the things.

Read more

Course Launch: Hands-on Linux: Self-Hosted WordPress for Linux Beginners

It’s taken me several months but I’ve finally done it: this weekend, I’m launching the first tutorialinux course on the Udemy learning platform. The course is called “Hands-on Linux: Self-Hosted WordPress for Linux Beginners.”

https://www.udemy.com/hands-on-linux-self-hosted-wordpress-for-linux-beginners/
It’s a project-based course which teaches the basics of Linux system administration using a practical, real-life project to lead you through the material. In the course, I walk beginning Linux sysadmins through setting up a fully-featured, production-grade WordPress hosting platform on their own server.

Of course, you can run other PHP applications on this platform, too. I chose WordPress because it’s so insanely popular right now, and because I know the platform relatively well after spending a year working as a security consultant doing malware cleanups and security overhauls on compromised WordPress sites.

The course itself follows the project-based learning approach I’ve been talking about recently. Although I think theory is important (and occasionally even fun), people just seem to learn much faster when they work on a practical project that ties together 10 or 20 individual skills and gives them a usable artifact at the end (in this case, a hosting platform).

I supply a slow drip of theory in this course — just enough to keep students making progress on the project while still understanding what’s going on.

 

More than a “Basics” Tutorial

The course is much more than just basic application setup and configuration, though. I’ve made sure to cover “real sysadmin” stuff; the things that sysadmins actually spend their time doing in real life (not just “apt-get install -y somesoftware && nano /etc/configfile”). Topics like:

  • system monitoring
  • performance optimization and caching
  • security hardening
  • creating and restoring website backups (filesystem backups and MySQL backups)
  • HTTP protocol basics

The course features 71 videos right now; about 8 hours of video content. There’s more coming, too: I’ll be continuing to improve and add material to the course as it grows and I get feedback from students.

Plus, you’ll have something to ‘take home with you’ when you finish the course: it’s always cool to have a robust, performant hosting platform at your fingertips, ready to do your bidding, host your friends’ websites, make you millions of dollars, etc.

I’ve marked a bunch of the videos as being ‘free previews,’ so there’s about an hour of viewing to be had for free on the “course curriculum” page.
All the links in this post include a coupon for $7 off the retail price (just over 15%). Have a look at the course curriculum, and check out some of the free preview videos from the course!

Get over there and check it out!

Want to Succeed? You Need Project-Based Learning

If you’re trying to learn System Administration, Software Development, or any other complex technical skill, you’re probably going about it in the wrong way: lots of theory study, and very little practical work. In this article, I’ll show you the right way: a faster and more effective way to learn, backed by the latest scientific research on learning.

This is just how most Linux and programming courses are structured. After all, there’s a huge theoretical foundation that you need before you can become an effective professional in those highly technical fields. Why not start with lots of theory right away, to get it out of the way and enable students to understand the concepts which are built on top of those theoretical foundations? Wrong.

Read more

Want to keep your Eyes healthy? Use Redshift

If you’re spending a lot of time looking at a screen, you’ll probably want to turn down the blues, to give your eyes a chance: http://jonls.dk/redshift/.

To install, just use your operating system’s package manager (apt, pkg, pacman, etc.) to install redshift. On Ubuntu and Debian, this would be:

apt-get install redshift

Try a few of the following commands, and see which you like better (just run these in a terminal, and kill one before trying the other. It’ll take a few seconds to actually shift the colors on your screen; be patient):

Read more

The Best Introduction to ZFS…ever?

If you care about your data, you should care about filesystems (the operating system/software abstraction over your storage hardware). If you care about filesystems, you will end up at ZFS: the Zettabyte FileSystem.

It’s basically an incredible piece of technology that can do just about anything that you might need from a storage system: instant snapshots, cloning, “live streaming” of filesystem changes over SSH, bitrot/corruption prevention and fixing (with checksumming), plus all the mirroring and parity features you’d expect from RAID. And so, so, so, soooooooo much more.

Here’s the best way to get started: watch these two videos, in order, and then go play with a FreeBSD system:

Read more

New tutorialinux guide: Getting Started with Linux Containers (LXC)

A while back, I did a YouTube series on Linux Containers (LXC). If you are (or want to be) a sysadmin or software developer, you need to know about Linux Containers, and understand how to use them. I’ve just written a ~45-page guide to getting started with this useful skill — check it out here! For those of you that want more details (or a link to the original playlist), read on:

Read more