Un article explicatif et en mode tuto ultra complet sur le monitoring d'un cluster Kubernetes avec Prometheus.
Les bons conseils pour créer une image de prod avec Node.js.
En bref:
- Utilisez une version LTS avec Debian slim pour réduire la surface d'attaque
- Ne faites pas de
npm install
maisnpm ci
pour utiliser un ensemble de dépendances stable - Évitez les images alpines car des problèmes peuvent apparaître à ce musl (substitut de la libc)
Un très bon retour d'expérience sur RabbitMQ pour un système de queuing robuste, scalable et surtout maintenable.
- Réalisez une expertise de votre solution pour en comprendre les limites (2000~3000€ bien investis)
- Configurez le cluster pour qu'il mette en pause les nœuds de la partition minoritaire en cas de désynchronisation réseau
RabbitMQ reste une très bonne alternative à la grosse usine à gaz Kafka qu'on sort à toutes les sauces.
Liste de builtin Bash et comment les utiliser
Celle que je retiens à force d'en avoir besoin:
# Positional arguments
$0 $1 $2 ...
# All arguments as an array
$@
# Return code of the last command
$?
# Print each script line as it is executed (debug)
set -x
# Exit the script immediately if a command return an error (CI/CD)
set -e
Earthly est un framework pour définir ses jobs de CI.
On écrit le job dans une syntax qui ressemble à un Dockerfile et ensuite on peut l'exécuter dans une CI (Github, Gitlab, Jenkins, etc) mais aussi sur sa machine en dev !
Ça permet de tester le fonctionnement des étapes de CI en local donc énormément de temps gagné lors de la mise en place.
# Earthfile
VERSION 0.6
FROM golang:1.15-alpine3.13
RUN apk --update --no-cache add git
WORKDIR /go-example
all:
BUILD +lint
BUILD +docker
build:
COPY main.go .
RUN go build -o build/go-example main.go
SAVE ARTIFACT build/go-example AS LOCAL build/go-example
lint:
RUN go get golang.org/x/lint/golint
COPY main.go .
RUN golint -set_exit_status ./...
Puis dans la CI où en local: earthly +all
Comment faire une CD GitOps sur Kubernetes avec l'excellent ArgoCD
Un autre outil à ajouter à sa CI pour vérifier des règles en dehors du code comme la taille d'une PR, la mise à jour d'un fichier de changelog, la présence de tags Github, etc
Comparatif des prix pour 50TB de données sortant pour les principaux cloud du marché.
On a des prix exorbitant à 4500$ pour AWS par exemple. Un bon moyen de s'assurer un vendor lock-in.
Encore une bonne raison de choisir OVH ou Scaleway avec 0$ de coût pour le traffic sortant !
Il est maintenant possible d'ajouter une description markdown pour chaque action.
Cette description est ensuite visible dans le résumé d'une action dans l'interface Web.
C'est parfait pour indiquer le status de ses actions par exemple !
Dagger est un framework pour unifier les CI/CD.
La promesse est d'écrire des actions en suivant leur syntax et de supporter les CI/CD les plus populaires: Github, Gitlab, Jenkins, CircleCI
Liste de tous les projets incubés par la Cloud Native Computing Foundation (CNCF).
C'est rempli de super projets comme Kubernetes, Prometheus, Jaeger, Envoy, OpenTelemetry.
Ce sont majoritairement des projets orienté Devops / Cloud.
Un proxy distribué conçu pour rassemblé tous le traffic d'un ensemble de micro-services et profiter d'une gestion centralisée.
C'est un logiciel plus avancé que Nginx, Traefik ou HAProxy pour servir de load balancer: automatic retries, rate limiting, circuit breaker.
Une solution complète d'observabilité est aussi intégré directement à Envoy.
Du tooling pour lancer et debugger ses Github Actions en local, plus besoin d'attendre la CI <3
Une alternative à OpenFaaS pour du Function as a Service