Ubuntu 20.04 LTS – Now is the time

Reading Time: 3 minutes

Linux and Ubuntu, in particular, have been on the up and up these past few years. Today marks the release of Ubuntu 20.04 LTS, a major milestone in the releases for this massively favoured Linux distribution.

LTS?

LTS stands for Long Term Support in the release cycle world of software development. It marks a version that is usually safe to use and will be supported for a long time to come. You could almost equate it to a big release in the Windows (Service Packs/Red stone releases) or MacOS world (High Sierra/Mojave/Catalina etc.)

LTS releases come around every 2 years or so with the intention of a long supported development cycle that will ensure your software gets updates for the next 5 years (at least). You can read more about Ubuntu’s release history here.

Ubuntu 20.04 desktop

What’s New?

While there is a lot to go through, some of the highlights I found interesting include:

  • Desktop
  • Developer-centric improvements
    • Python3 is now the default (RIP Python 2)
    • PHP 7.4 support out the door
    • Ruby 2.7
    • Ruby on Rails 5.2.3
    • Apache, TLSv1.3, client cert auth
    • OpenSSH improvements
    • PostgreSQL 12
  • Network configuration / management improvements
  • Snap store
    • The Snap Store (snap-store) replaces ubuntu-software as the default tool for finding and installing packages and snaps.
  • Linux kernel 5.4
    • Boot speed improvements.
    • Significant power-saving improvements.
    • Numerous USB 3.2 and Type-C improvements.
    • Support for raspberry pi (Pi 2B, Pi 3B, Pi 3A+, Pi 3B+, CM3, CM3+, Pi 4B)
    • Includes support for new hardware including Intel Comet Lake CPUs and initial Tiger Lake platforms, Qualcomm Snapdragon 835 & 855 SoCs, AMD Navi 12 and 14 GPUs, Arcturus and Renoir APUs along with Navi 12 + Arcturus power features.
    • Support for AMD Rome CPUs, Radeon RX Vega M and Navi GPUs, Qualcomm Snapdragon 845 and other ARM SoCs and Intel Cannon Lake platforms.
    • Support has been added for the exFAT filesystem
    • Built-in support for the Wireguard VPN.
  • ZFS 0.8.3 file system
    • Big improvements to the already snappy ZFS file system such as hardware-accelerated Native Encryption and performance improvements.

I personally found the previous Ubuntu LTS release (18.04) to be quite solid and but this release looks to take things to the next level in exciting new ways.

Why Ubuntu? Why now?

Ubuntu is a well established, well recognized name in the Linux community. It’s well used, well documented and is extremely stable and easy to use without compromising on more advanced features one may require.

Ubuntu is perfect for the following groups of people; open-source developers and web developers, people looking to use a free, solid operating system alternative to Windows, elderly who pretty much just want to use the internet to browse, schools looking to teach students about real-world development challenges/computers, open-source enthusiasts, people who are donating older hardware and want a non-complicated operating system, business people and over the past few years, even gamers (Steam now has over 6000+ Linux games).

The beauty of Ubuntu is that it runs well on high-end hardware, but runs extremely well on older hardware, to the point where it can breathe new life into old machines. There is a reason developers love and enjoy Ubuntu, it’s fast, stable, to the point and extremely customizable to please even the most hardcore of developers.

Uses for Ubuntu

  • Use is as a Kodi/Plex media streaming server.
  • Give back by running a [email protected] server.
  • Use it as a web development server to build/test/run web applications or if you are looking to learn web development, Python development or server management.
  • As it’s super user-friendly, install it on your parents/grandparents machines and say goodbye to viruses/malware for the most part.
    • Software compatibility includes; Chrome, VLC, Skype, Spotify, GIMP, Inkscape, Dropbox, Steam, Visual Studio Code as well as a host of other software.
  • Hassle-free – perfect for education campuses, schools, learning centres or donated hardware looking for a free operating system.

Ubuntu installable image files can be downloaded from here.

Switching to Cloud Hosting

Reading Time: 3 minutes

Background

Over the course of a long weekend, I attempted to move my standard shared hosting websites over to a cloud hosting solution.

Having multiple websites on shared servers, can get quite costly on a monthly basis and I wanted a solution that not only saved me some cash, but gave me some technical flexibility.

The Solution

I started investigating DigitalOcean which I’ve heard good things about before. They offer a cloud hosted VM solution called “Droplets“.

“More than just virtual machines. Droplets are a scalable compute platform with add-on storage, security, and monitoring capabilities to easily run production applications.”

– From DigitalOcean’s website

This sounded like a winning solution to me and off I went, signing up and spinning up a Droplet that runs the latest Ubuntu LTS release with a LAMP setup.

This was great because it allowed me to install the latest version of Apache, PHP and MySQL without being at the mercy of a service provider dictating versions to me (often found them to be behind the curve). I could run wild on my server install what I liked.

Weighing It Up

Pros of this approach:

  • Ability to run latest versions of LAMP packages.
  • Flexibility and freedom of managing your own server.
  • Better overview of what’s going on “under the hood”.
  • Cost effective with all your websites in one space, billed at a single cost per month.
  • All websites share the same server resources (this could a negative depending on how you look at it).
  • Potential to be way more secure.
  • Potentially snappier access for international users.

Cons of this approach:

  • Initially took a while to set up.
  • Security is all up to you and there is no one to blame if the system gets compromised.
  • Up to you to keep your server and packages up to date and not let the server decay over time.
  • Renewing SSL certs is up to you (but this can be automated).
  • Backups are all up to you (but there are DigitalOcean solutions to this).
  • Not locally hosted. Potentially slower access for local users, but this can be debated.

The Test

To test my new shiny server out, I had to start small. I tested my fiance’s website out first, a basic HTML5 website. After playing around with some DNS settings, I was able to get the domain pointing and working as intended.

The next task was to move my other, more complex sites over to the droplet. This included a Drupal 8 and WordPress website. The WordPress site worked like a charm, with no issues, but the Drupal site complained a bit about using a newer version of MySQL (MySQL 8) it wasn’t quite happy with. After a few tweaks here and there, I finally got it playing nicely with MySQL 8.

Amongst other new features and improvements, one big advantage MySQL 8 offers is improve performance; InnoDB is significantly better at Read/Write workloads, IO bound workloads, and high contention “hot spot” workloads. Read more about MySQL 8 here:
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

I updated both domains to point to my new server and after a bit of tweaking here and there to get HTTPS working correctly, I was finally up and running with both PHP sites working perfectly.

Next step was security hardening on both an Apache and server level. After following a few guides online and a bit of trial and error, I was successfully able to harden the server and get the firewall operating optimally. Final step was performance optimization, particularly on Apache and MySQL’s side to reduce memory usage and not be so frivolous with precious server resources.

Conclusion

Overall I was impressed with how well everything went. Not only was this my first real web server setup from scratch using this particular flavour of Linux, but it was my first attempt at cloud based VM management.

So far, I’m super impressed with DigitalOcean. It’s dashboard is superb and it’s one-click solutions of certain things is so snappy and efficient. It has great monitoring and alert tools to ensure my VM stays up 24/7 and the feeling of having all my websites in one place makes me feel warm and fuzzy inside.

If you’re interested in challenging yourself in learning something new, while potentially saving in hosting costs (if you host more than 3+ websites), definitely take the time to explore and investigate a DigitalOcean droplet.