Skip to content

Instantly share code, notes, and snippets.

@alexellis
Last active July 16, 2020 09:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexellis/e19f2909fe556cc6efcb2d67c07ebe35 to your computer and use it in GitHub Desktop.
Save alexellis/e19f2909fe556cc6efcb2d67c07ebe35 to your computer and use it in GitHub Desktop.
Insiders Update: 30th May 2020 - 8GB RPi and 64-bit RaspiOS and summer project updates

Welcome to this week's Insiders Update! Insiders gain exclusive access to early previews, tutorials, updates, news, and events on my OSS work.

✅ Subscribe today and pay whatever you want 👉 through GitHub Sponsors

Insiders Update: 30th May 2020 - 8GB RPi and 64-bit RaspiOS and summer project updates

After a cancelled launch, we saw the SpaceX mission go ahead today with a successful launch American astronauts into space, with American rockets, from American soil. I wonder if astronauts will still need to learn Russian going forward?

Industry news

Editorial - Raspberry Pi gains a 64-bit OS and 8GB of RAM

This week the Raspberry Pi Foundation released a new version of their OS Raspbian, now called "RaspiOS" built for a 64-bit ARM architecture. Equally impressive was the new 8GB model of the Raspberry Pi 4 and hints at a possible 16GB model as a future possibility.

The cost of the new RPi is 75USD, which invariably means 75GBP + P&P when in the UK. I ordered a couple of them from my friends at Pimoroni.com along with the official power supply. I do not recommend using a USB multi-charger for the RPi4 - I have tried this and ran into under-voltage issues.

I do not recommend using a USB multi-charger for the RPi4 - I have tried this and ran into under-voltage issues.

Armchair commentators seem to like to spread false information about Raspberry Pi, and the dangerous thing is that they sound like they're making sense. It may be hearsay, or just out of date information, who knows? They will tell you that booting from a USB hard drive still requires an SD card, of course it doesn't. That would defeat the whole point - both booting from USB drive and from PXE (the network) both work very well for RPi3 and 4 at present.

The second thing that is often touted is that the 4GB RAM model is useless with the default 32-bit Raspbian OS. Again, what they've failed to understand is that the limitation is that a single process can only use 3GB of that RAM at once. So technically you can still saturate the RAM of the device. Switching over to the new 64-bit OS means a process could theoretically consume all 4GB of RAM.

The move to build a 64-bit Operating System for the Raspberry Pi will not be the first we've seen - with efforts from SuSE and the Ubuntu project both offered with commercial support. It will help standardise how we build images for ARM CPUS - bringing small devices into line with cloud computing servers provided by the likes of Packet, Scaleway and AWS.

My setup

I put together a thread on Twitter full of screenshots, where you can see me installing the new 64-bit Operating System (RaspiOS) and booting from a USB SSD without an SD Card.

Both USB booting and booting from network storage (NFS/iSCSI) are both more reliable and durable than using an SD card, especially for write-heavy platforms like Kubernetes and containers.

USB <> m.2:

Are you still looking for a cluster case?

I can also finally reveal that I've been using a new 4-node cluster from BitScope, it looks a bit like this and they are taking pre-orders starting at 150USD. The highlights are the cooling, that you can still use a HAT and that you get stable power.

BitScope cluster

I received mine as a sampler free of charge, but you can pre-order a production model here.

Docker - compose spec released

Docker released the compose specification which includes projects to parse a docker-compose.yml file for use in your projects. We're looking at how we can leverage the Go project in the faasd project where we hard-code versions of OpenFaaS components, it would mean using a YAML file to specify them instead.

Dockercon playback

Alexa

Whilst I wasn't invited to be part of Dockercon this year, and am no-longer a Docker Captain, I do still have some relics, including the Alexa I used for the closing keynote in Austin back in 2017.

I started watching Dockercon at 5pm BST, and finished up late in the evening. For those of us in Europe, it went on until 1am making it not very practical to watch live. Fortunately you can re-watch all the sessions including the keynote.

Apparently 60,000 people registered to watch. What did you think to it? I noticed a heavy presence of Microsoft/Azure employees and projects.

Project updates

OpenFaaS - Extend your timeouts tutorial

Due to this question coming up three times (and being fairly-well documented), I decided to have another go at writing up how you can extend your timeouts as a brief tutorial.

This will be useful for you if your functions take longer than the default timeouts to complete executing.

OpenFaaS - Keep your functions running to schedule with the cron-connector

Martin Dekov wrote a new tutorial named which demonstrates how to schedule function invocations with OpenFaaS.

OpenFaaS - faasd updates

faasd provides serverless without having to run a cluster, or a container orchestrator like Kubernetes. You simply deploy faasd via cloud-init or bash and then you'll get most of the features of OpenFaaS you're used to, but without the overheads.

We've just updated the the core components, so it's time to download the latest version and place it in /usr/local/bin - then reload the two faasd* services.

Thanks to Mehdi Yedes from the community, we also have instructions for terraform on DigitalOcean, which also adds Caddy and a HTTPS certificate for your domain.

Whilst you've often seen me talk about Kubernetes on RPi, there's no reason to use Kubernetes if you only have one or two RPis, or if you want to use OpenFaaS at home.

OpenFaaS - profiles feature

We've started prototyping a change that will allow you to access advanced features in Kubernetes such as GPU allocations, taints, tolerations and affinity rules.

Request for comment: Profile support for taints, tolerations, anti/affinity and hardware #586

Please comment if you could use this feature, or want to help with its testing or implementation.

Wrapping up

New Summer Swag

We have a new inlets t-shirt for summer that's lightweight and 100% cotton to keep you looking and feeling cool. Buy yours here

As a bonus, I'll also ship free SWAG to the first 10 people that follow this tutorial to expose their Kubernetes IngressController and then share their HTTPS url with me.

Enjoy your weekend and speak to you soon. Let's hope the astronauts arrive as the ISS and dock safely 🚀

No time to read these emails, but still want to retain your benefits and back my OSS work? Just click unsubscribe. Likewise, if you are feeling the pinch of the coronavirus and lockdown, you can move up and down within tiers. Insiders Updates are only available on the 10USD tier and upwards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment