Imre Nagi

Lab requirements

Getting Ubuntu VM

This course is developed and tested on Ubuntu 22.04 LTS (x86 architecture). So, I really recommend you to use Linux based operating system for this course. But, if you are using other Linux distro, I probably won’t be able to help you if you encounter any issues because of my skill issue, but I believe ChatGPT might!

Ubuntu VM on cloud

This course will require you to run many containers. So, I recommend you to have at least 8GB of RAM and 4 vCPU. If you have more budget, you can rent a bigger VM for your convenience.

The easiest way to get an Ubuntu VM is actually by rent one from any cloud hosting/provider. There are several options that you can choose from:

I’m currently using Contabo VPS XL (10 vCPU, 64GB RAM, 1.6TB SSD) for my workstation and it works well for me for developing this course and run some experiments. It is also relatively cheap (around 40USD/month) compared to other hosting/cloud provider. (I’m not endorsing Contabo anyway :p)

Free USD $300 credit from Google Cloud

If you are new to Google Cloud, you can get free 300USD credit for 90 days. You can use this credit to rent a VM for this course. You can register here.

This is the recommended option! But, you might need to add your credit card to register though.

Ubuntu VM on your laptop

If you don’t want to rent a VM, you may also install Ubuntu on your laptop. Add Ubuntu as a dual boot on your laptop. This is the best option if you have a powerful laptop. But, it is also the most risky option. You might accidentally cause issue with your existing main OS if you are not careful. So, please be careful if you choose this option.

If you want to use any software virtualization, there are several options that you can choose from:

  1. Canonical Multipass

    This is relatively new for me. I’m still experimenting with this. If you are using Macbook Pro with Apple M1, M2, or M3 chip, this is probably the best option for you so far.

  2. Vagrant and VirtualBox

    I used to use Vagrant for teaching internal DevOps bootcamp in my company. But, the experience is really bad thus I don’t recommend this option. Especially if you are not familiar with this and you are using Apple M1, M2, or M3 chip. Rent a VM instead!

Unfortunately, this course won’t discuss much details about how to configure it so that you can access the application running inside the VM from your host machine (e.g. port-forwarding, networking, etc.). But, you can always ask me if you encounter any issues. I might not have solution, but I might be able to help you to find the solution.

Using Windows

DON’T!

Just kidding. I’m not familiar with Windows. The last Windows OS I used was Windows Vista. So I won’t be able to help you if you encounter any issues. But, if you want to use Windows, you can use WSL2. I haven’t tried it myself, but I heard it works well.

Software requirements

Here is the list of software that you need to install on your Ubuntu VM:

  1. Install Go 1.21.x

  2. Install python on Ubuntu 22.04

  3. Install Docker on Ubuntu 22.04

  4. Install Docker Compose on Ubuntu 22.04

Supplementary learning resource

Docker

If you are not familiar with Docker, I have few live streaming recording discussing about Docker. But this is only available in Indonesia language. You can watch it here:

Follow me

Follow my social media accounts!