Go (Golang) vs Python Performance Benchmark (Kubernetes - OpenTelemetry - Prometheus - S3/Postgres)

Ғылым және технология

🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com
▬▬▬▬▬ Experience & Location 💼 ▬▬▬▬▬
► I’m a Senior Software Engineer at Juniper Networks (12+ years of experience)
► Located in San Francisco Bay Area, CA (US citizen)
▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
► LinkedIn: / anton-putra
► Twitter/X: / antonvputra
► GitHub: github.com/antonputra
► Email: me@antonputra.com
▬▬▬▬▬▬ Related videos 👨‍🏫 ▬▬▬▬▬▬
👉 [Playlist] Kubernetes Tutorials: • Kubernetes Tutorials
👉 [Playlist] Terraform Tutorials: • Terraform Tutorials fo...
👉 [Playlist] Network Tutorials: • Network Tutorials
👉 [Playlist] Apache Kafka Tutorials: • Apache Kafka Tutorials
👉 [Playlist] Performance Benchmarks: • Performance Benchmarks
👉 [Playlist] Database Tutorials: • Database Tutorials
▬▬▬▬▬▬▬ Timestamps ⏰ ▬▬▬▬▬▬▬
0:00 Intro
1:50 Setup Explained
4:04 Benchmark 1
5:07 Benchmark 2
▬▬▬▬▬▬▬ Source Code 📚 ▬▬▬▬▬▬▬
► GitHub: github.com/antonputra/tutoria...
#kubernetes #docker #devops

Пікірлер: 68

  • @AntonPutra
    @AntonPutra7 ай бұрын

    🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com

  • @GabrielPozo
    @GabrielPozo7 ай бұрын

    Your benchmark videos are always the best and most complete!

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks, Gabriel! Any suggestions for the next benchmark?

  • @GabrielPozo

    @GabrielPozo

    7 ай бұрын

    @@AntonPutra Now, I don't have anything in mind, but I will think of something.

  • @PikaChu-fz4ij

    @PikaChu-fz4ij

    6 ай бұрын

    @@AntonPutra Really want python-sanic vs golang and node.js

  • @nitishmalang4844
    @nitishmalang48447 ай бұрын

    awesome anton liked this quality content found rarely on internet thanks for this 😇

  • @denisgr1
    @denisgr17 ай бұрын

    спасибо, ваши видео помогают мне правильно стартовать и развиваться в новых технологиях, выкладывайте еще!

  • @duke007x3
    @duke007x37 ай бұрын

    Hello Anton, thanks for the video, great as always. If you have time and possibility can you please make videos a little bit longer with deeper explanations for such noobs like me?)) Do you plan any videos on such topics as jenkins, ansible? Anyway thanks, you are doing great job.

  • @marknefedov
    @marknefedov7 ай бұрын

    Hi, I love your videos! Would you consider making a video about GitOps strategies and best practices in a closed, bare metal environment (without using a cloud solution like GitHub)? Specifically, how do you host your infrastructure Git repo? Do you create a separate non-GitOps cluster to deploy HA-Git and CI/CD? Do you deploy Git to a plain VM? Or do you go through the "chicken and egg problem" and deploy Git and CI/CD into the same cluster that you manage with GitOps tools like Flux or Argo?

  • @RABWA333
    @RABWA3337 ай бұрын

    that is really great , hope to see the same for Nodejs (express) with postgress or DBmongo db

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks, Ghubein! Will do at some point.

  • @CsAlchemy-eg6ch
    @CsAlchemy-eg6ch2 ай бұрын

    Very great content , thanks

  • @AntonPutra

    @AntonPutra

    2 ай бұрын

    Thank you!!

  • @ievgenmajor3301
    @ievgenmajor33017 ай бұрын

    great content!

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks, Ievgen! Any suggestions for the next benchmark?

  • @aimericsorindev253
    @aimericsorindev253Ай бұрын

    I just discovered your channel, really great content ! What tools do you use to make your diagrams ?

  • @AntonPutra

    @AntonPutra

    Ай бұрын

    thanks, i use adobe suite

  • @Antonio-yy2ec
    @Antonio-yy2ec7 ай бұрын

    Thanks Anton!!!

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks, Antonio! Any suggestions for the next benchmark?

  • @floriankapfenberger
    @floriankapfenberger7 ай бұрын

    Great video Anton! I would be interested in an Elixir/Phoenix Benchmark if you be able to do that :)

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks Florian, I've just added it to my list.

  • @floriankapfenberger

    @floriankapfenberger

    7 ай бұрын

    @@AntonPutra Awesome!

  • @Antonio-ib6ii
    @Antonio-ib6ii7 ай бұрын

    Very interesting video. Thank

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks, Antonio! Any suggestions for the next benchmark?

  • @mariusmuller4340
    @mariusmuller43407 ай бұрын

    Nice video, what tool do you use to make your graphics like minute 1:50?

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks! Adobe Suite

  • @valerikehayov2393
    @valerikehayov23937 ай бұрын

    Thanks Anton, amazing as always. I can see you are using Grfana stacks for these statistics and reports, what about Elastic stack do you think Grafana stack is better? Could you please compare both solutions: Elastic stack with metric beat and Opentelemetry Elasticsearch exporter and Grafana with tempo?

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Grafana was one of the first to support Prometheus as a data source. For ELK, you need to use Elastic to store metrics, and the pipeline would be somewhat different and more complex, but, I will definitely create a comparison video at some point.

  • @valerikehayov2393

    @valerikehayov2393

    7 ай бұрын

    @@AntonPutra Yep, completely agree. It’s kind a common use case to use Elastic or Opensearch in many companies, so I was wondering why. Thanks for the reply, awesome as always!

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    @@valerikehayov2393 initially it was only for logs, but ELK trying to create universal solution for metrics/traces/logs but it's expensive. Try out loki, it indexes only labels and much cheaper to host

  • @valerikehayov2393

    @valerikehayov2393

    7 ай бұрын

    @@AntonPutra yes I will try it.

  • @kamurashev
    @kamurashev7 ай бұрын

    Great 👍

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks, Kyrylo! Any suggestions for the next benchmark?

  • @horseinthesky
    @horseinthesky7 ай бұрын

    Thank you for an amazing content. Could you one day make a tutorial about how to set up multiple node k8s cluster locally: ESXi or lxd if possible. It would help to learn k8s without AWS stuff so much.

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks, Kirill! Well why not minikube? Just run "minikube start --nodes 2" or set to any number of nodes

  • @horseinthesky

    @horseinthesky

    7 ай бұрын

    @@AntonPutra That is a good starting point to begin the journey but these nodes would be docker containers on the same host/VM. I consider building a k8s cluster manually on different nodes (physical hosts/VMs) to play with it.

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    @@horseinthesky got it, will do at some point (by the way you can use virtualbox as a driver and those nodes will be vms)

  • @horseinthesky

    @horseinthesky

    7 ай бұрын

    @@AntonPutra Thank you! You used ESXi in this video and since I have a dedicated ESXi host where I build virtual network topologies and practice my programming skills I thought it would be great to have a small k8s lab there too to (you know) some kind of versatile IT experience =)

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    @@horseinthesky take a look, I'll create a tutorial soon ## Control Plane ### Preparing the hosts sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/control-plane-00/' /etc/hostname sudo sed -i 's/ubuntu/control-plane-00/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-00/' /etc/hostname sudo sed -i 's/ubuntu/node-00/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-01/' /etc/hostname sudo sed -i 's/ubuntu/node-01/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-02/' /etc/hostname sudo sed -i 's/ubuntu/node-02/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-03/' /etc/hostname sudo sed -i 's/ubuntu/node-03/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-04/' /etc/hostname sudo sed -i 's/ubuntu/node-04/' /etc/hosts sudo reboot sudo apt update && sudo apt -y upgrade sudo sed -i 's/ubuntu/node-05/' /etc/hostname sudo sed -i 's/ubuntu/node-05/' /etc/hosts sudo reboot ### Disable swap sudo swapoff -a sudo sed -i 's/\/swap.img/#\/swap.img/' /etc/fstab free -h ### Installing a container runtime (containerd) curl -L github.com/containerd/containerd/releases/download/v1.7.3/containerd-1.7.3-linux-amd64.tar.gz -o containerd-1.7.3-linux-amd64.tar.gz sudo tar Cxzvf /usr/local containerd-1.7.3-linux-amd64.tar.gz sudo curl -L raw.githubusercontent.com/containerd/containerd/main/containerd.service -o /lib/systemd/system/containerd.service sudo systemctl daemon-reload sudo systemctl enable --now containerd #### Installing runc curl -L github.com/opencontainers/runc/releases/download/v1.1.8/runc.amd64 -o runc.amd64 sudo install -m 755 runc.amd64 /usr/local/sbin/runc #### Installing CNI plugins curl -L github.com/containernetworking/plugins/releases/download/v1.3.0/cni-plugins-linux-amd64-v1.3.0.tgz -o cni-plugins-linux-amd64-v1.3.0.tgz sudo mkdir -p /opt/cni/bin sudo tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.3.0.tgz sudo mkdir /etc/containerd/ sudo sh -c 'containerd config default > /etc/containerd/config.toml' sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml sudo systemctl restart containerd stat -fc %T /sys/fs/cgroup/ ### Install and configure prerequisites cat

  • @yuksgas
    @yuksgas7 ай бұрын

    Please benchmark rust actix vs cpp drogon 😬

  • @tHe0nLyNeXuS
    @tHe0nLyNeXuS7 ай бұрын

    I wonder how FastAPI would perform, compared to Flask. I am assuming that since it supports asynchronous processing of requests, contrary to Flask (ASGI vs WSGI), it should overall reduce latency.

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Ok, I've just added it to my list.

  • @user-ec7vo9np7q
    @user-ec7vo9np7q7 ай бұрын

    Great video! Can you do .NET vs Go next?

  • @az6876

    @az6876

    7 ай бұрын

    I agree. But, if possible, with version 8 using AOT compilation.

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks Luka, I've just added it to my list.

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    ok, I'll check

  • @funkindy
    @funkindy7 ай бұрын

    In real world scenario add network roundtrip latency and the overall latency difference would dissappear, i guess

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    But it would applied to both languages, interesting question if golang handle network requests better

  • @funkindy

    @funkindy

    7 ай бұрын

    @@AntonPutra sure, add constant like 50-150ms for both languages and the difference would almost disappear. But CPU/MEM difference would not, for sure)

  • @pietraderdetective8953
    @pietraderdetective89535 ай бұрын

    Do the performance benchmark for Quart please! It's the async version for Flask so you can use your Flask code and modify it a lil bit. Plenty of Flask extensions are working in Quart too! Cheers!

  • @AntonPutra

    @AntonPutra

    5 ай бұрын

    thanks for the feedback, i'll see what i can do

  • @user-rj3nb6gs5h
    @user-rj3nb6gs5h7 ай бұрын

    Yo man you are super

  • @sombiri9147
    @sombiri91477 ай бұрын

    This is good

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Thanks, Sombiri! Any suggestions for the next benchmark?

  • @DataPastor
    @DataPastor2 ай бұрын

    Could you please make a similar benchmark with FastAPI+asyncpg+gunicorn on the Python side?

  • @AntonPutra

    @AntonPutra

    2 ай бұрын

    sure, added to my list

  • @user-zo9jd3iz1i
    @user-zo9jd3iz1i6 ай бұрын

    Please test FastApi framework with Go

  • @AntonPutra

    @AntonPutra

    6 ай бұрын

    🫡

  • @clintonndi1308
    @clintonndi13087 ай бұрын

    You got courses on udemy or something? Thanks

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Not yet, still a full time employee...

  • @clintonndi1308

    @clintonndi1308

    7 ай бұрын

    @@AntonPutra It will make sense if you put up a course on Linux/system engineering or DevOps. Think about it. Thanks

  • @yunyang6267
    @yunyang62677 ай бұрын

    make a firebase vs supabase benchmark

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Ok, added to my list

  • @alberkhan
    @alberkhan7 ай бұрын

    Boss please do golang vs php swoole

  • @AntonPutra

    @AntonPutra

    7 ай бұрын

    Ok, I've just added it to my list.

  • @RomaDeveloper
    @RomaDeveloper7 ай бұрын

    I made the first video about my project in python, i will be happy to get your feedback ❤

Келесі