$30 off During Our Annual Pro Sale. View Details »

DevOpsRex 2025 - Docker c'est cool, Kubernetes...

DevOpsRex 2025 - Docker c'est cool, Kubernetes c'est hype mais peut-on faire autrement ?

Depuis quelques années, nous avons fait le virage à Docker, puis ensuite, on nous dit que nous devrions utiliser Kubernetes partout. Mais est-ce la bonne solution ? C'est quoi les alternatives simple qu'on peut utiliser ?

Dans cette conférence, je présente comment j'ai configuré et déployé plusieurs projet basé sur des technologies cloud simple et à coût de maintenance et mensuel réduit , mais aussi, comment, dans mon dernier projet, nous avons un système distribué qui n'utilise pas du tout Docker et Kubernetes. Car oui, faire du "vieux" aujourd'hui, c'est encore possible (ssh, systemd, ansible).

Avatar for Julien Maitrehenry

Julien Maitrehenry

December 09, 2025
Tweet

More Decks by Julien Maitrehenry

Other Decks in Programming

Transcript

  1. Dev, Ops, Architect, SRE, … Utilise des technos avant d’être

    stable en prod Chief Architect @ Paren Docker Captain jmaitrehenry.ca Julien Maitrehenry linkedin.com/in/jmaitrehenry github.com/jmaitrehenry 2
  2. • Docker et Kubernetes sont devenus des standards. • Mais

    sont-ils toujours la meilleure solution ? • Explorons des alternatives plus légères et accessibles. • Et vérifions si c’est toujours la bonne solution. Pourquoi cette conférence ? Julien Maitrehenry - 2025
  3. Docker • Isolation • Portabilité • Facilité de déploiement •

    Rapidité • Gestion des données persistantes • Supervision • Gestions multi-conteneurs • Complexité du réseau Julien Maitrehenry - 2025 Avantages Limites
  4. Kubernetes • Orchestration automatisée • Scalabilité • Haute disponibilité •

    Gestion du réseau et des services • Sécurité renforcée • Courbe d’apprentissage élevée • Consommation de ressources • Configuration et maintenance • Implémentation complexe Julien Maitrehenry - 2025 Avantages Limites
  5. • Gestion minimale • Haute disponibilité • Observabilité • Déploiement

    simple • Coût de maintenance faible • Flexibilité limitée • Évolutivité limitée • Limitation réseau Julien Maitrehenry - 2025 Avantages Limites Azure Container App, Digital Ocean App Platform, Vercel, etc Solutions clé en mains
  6. • Technologies connues • Documentations disponibles • Liberté extrême •

    Courbe d’apprentissage faible pour les devs • Flexibilité limitée • Scalabilité limitée ou complexe • Haute disponibilité à la main • Plus d’outils à mettre en place Julien Maitrehenry - 2025 Avantages Limites Serveur dédié, Machine Virtuel, Linux, etc Solutions « à l’ancienne »
  7. Julien Maitrehenry - 2025 • Automatisation • Réduction des erreurs

    humaines • Cohérence et reproductibilité • Versionnement et collaboration • Sécurité et conformité Infrastructure as Code
  8. Julien Maitrehenry - 2025 • Cloud agnostique • Bonne communauté

    • Supporte les principaux cloud providers Terraform
  9. Julien Maitrehenry - 2025 • Automatisation • Réduction des erreurs

    humaines • Cohérence et reproductibilité • Versionnement et collaboration • Sécurité et conformité Configuration as Code
  10. Julien Maitrehenry - 2025 • Simple à utiliser • Sans

    agents • Si vous retiré quelque chose, vous devez le gérer • Mostly YAML • Aussi des templates Jinja • Encryptions des secrets Ansible
  11. Julien Maitrehenry - 2025 • Automatisation • Réduction des erreurs

    humaines • Cohérence et reproductibilité • Versionnement et collaboration • Sécurité et conformité Continuous Deployment
  12. Julien Maitrehenry - 2025 • Définitions des pipelines dans les

    projets • Build as usual • Déploiement via SSH • Déploiement via CLI/API du produit cloud Github Actions
  13. Julien Maitrehenry - 2025 • Build d’un binaire • VM

    (Digital Ocean droplet) • Ansible • Systemd • Déploiement via SSH Application Go
  14. jobs: build-and-test: runs-on: ubuntu-latest steps: […] - name: Build run:

    go build -o bin/paren-cli -ldflags="-X 'dataget/internal/version.tag=${GITHUB_REF}' -X ‘paren/internal/version.commitHash=${GITHUB_SHA}'" . - name: Archive production artifacts uses: actions/upload-artifact@v4 with: name: paren-cli retention-days: 1 path: | bin/paren-cli Github Action
  15. deploy: steps: […] - name: Setup SSH run: | mkdir

    -p ~/.ssh/ echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H ${{ env.managerHost }} >> ~/.ssh/known_hosts - name: Update ${{ matrix.org }} run: | scp paren-cli deploy@host:/opt/paren/bin/paren-cli-new ssh deploy@host "chmod +x /opt/paren/bin/paren-cli-new \ && mv /opt/paren/bin/paren-cli /opt/paren/bin/paren-cli-previous \ && mv /opt/paren/bin/paren-cli-new /opt/paren/bin/paren-cli" ssh deploy@host "systemctl restart paren-scraper-manager paren-ingestion" Github Action
  16. Julien Maitrehenry - 2025 • En dev pour les dépendances

    • Docker compose • Docker run pour des utilitaires • Tests d’intégrations • Test containers Utilisation de Docker
  17. Julien Maitrehenry - 2025 • Remplacement de App Plateforme •

    Seuil critique d’application • Besoin grandissant en observabilité Utilisation de Kubernetes
  18. Faut-il toujours suivre les hypes ? Non. Choisir selon le

    besoin réel Ne pas complexifier inutilement Pas ”d’optimisation” précoce Les alternatives existent et fonctionnent Adapter les outils à son projet, son contexte et son équipe Julien Maitrehenry - 2025 Conclusion