oktober 28, 2020

Technology Stack

Technology Stack

A system for signing up scouts for a national scout jamboree? That could not possibly require very much technology stack-wise, or?

OS

Our technology stack uses VMWare (now a Dell Technologies linchpin) virtual machines running on industry standard Linux OS Ubuntu | CentOS | Debian OS on x86 servers provided by Lenovo. That resembles most of "the Cloud" - perhaps not the choice of  metal but what goes on the metal.

I mentioned "the Cloud" but what I  really meant to say was GAMAI! ( Google, Amazon, Microsoft, Alibaba, IBM ). Amongst themselves they pretty much run the Internet (remember the late Thomas J. Watson, CEO of IBM 1914-1956, is on record saying: "I believe there is a world market for maybe five computers", and he did not know how right he would eventually turn out to be) according to zdnet late 2020.

Containers

So how can we utilise this cloud in a nifty way while staying agile and avoiding the dreaded vendor lock-in? Well, in order to maintain reproducibility, correct, agile, and manageable deployments we use Docker technology for app servers and it so happens (which probably is not by luck as much as by design) that all of GAMAI offers some sort of Docker service.

Lesson 1: How to use Docker

We need something to help us staying in control with potentially dozens of containers floating around – and we're in luck 'cause that is the job Kubernetes was dreamed up for!

Lesson 2: Docker and Kubernetes

[I know - Lesson 2 is a repeat! But you can open the comments and scoot around the video! Someone left a TOC for you]

Repository

Keeping us from hurting ourselves too much we bow to the Great Slayer of Version Control Systems - Linus Torvalds - by utilising his brilliant creation: Git

The 'hurt' part pertains to the risks every developer faces when adding/changing stuff! Used correctly Git will relieve you of that entirely <3 <3

Lesson 3: How to use Git

There are two main sites offering public repo's - github.com and gitlab.com. Github was the first, and probably the bigger of the two but Github sold out – to M$ :( Gitlab is on that track too but still has not been snatched by Big Tech.

With GitLab, you get a complete CI/CD toolchain in a single application.

Gitlab offers a toolchain helping you from plan to monitoring deployed applications in production, and to open source projects like Spejdernes Lejr 2022 it's free! Apply at https://about.gitlab.com/solutions/open-source/join/

Server

With an expected 40K+ scouts attending from all over the world it is vitally important to setting up a service that will not fold under sudden spikes of attention and our best bet to handling this requirement is the BEAM with erlang/elixir - and the Phoenix Framework and Liveview to sweeten the deal :)