Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker c'est cool, Kubernetes c'est hype mais p...

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 simples qu'on peut utiliser ?

Dans cette conférence, je vous présenterai comment j'ai configuré et déployé plusieurs projets basés 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

May 15, 2025
Tweet

More Decks by Julien Maitrehenry

Other Decks in Programming

Transcript

  1. Dev, Ops, Cloud Architect, mentor Chief Architect @Paren Qui suis-je?

    Docker Captain Julien Maitrehenry - 2025 Julien Maitrehenry Paren.app jmaitrehenry.ca Github.com/jmaitrehenry Linkedin/in/jmaitrehenry
  2. Pourquoi cette conférence ? • Docker et Kubernetes sont devenus

    des standards. • Mais sont-ils toujours la meilleure solution ? • Explorons des alternatives plus légères et accessibles. Introduction Julien Maitrehenry - 2025
  3. Docker • Isolation • Portabilité • Facilité de déploiement •

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

    Gestion du réseau et des services • Sécurité renforcée • Courbe d’apprentissage élevée • Consommation de ressources • Configuration et maintenance • Déploiement difficile • Complexité Julien Maitrehenry - 2025 Avantages Limites
  5. Solutions clef en mains • Gestion minimal • Haute disponibilité

    • Coût de maintenance faible • Déploiement simple • Flexibilité limité • Évolutivité limité • Limitation réseau Julien Maitrehenry - 2025 Avantages Limites Azure Container App, Digital Ocean App Platform, Vercel, etc
  6. Infrastructure as Code Julien Maitrehenry - 2025 • Automatisation 🤖

    • Réduction des erreurs humaines ⚠ • Cohérence et reproductibilité 🔄 • Versionnement et collaboration 🛠 • Sécurité et conformité 🔐
  7. Terraform Julien Maitrehenry - 2025 • Cloud agnostic • Bonne

    communauté • Supporte les principaux cloud providers
  8. Configuration as Code Julien Maitrehenry - 2025 • Automatisation 🤖

    • Réduction des erreurs humaines ⚠ • Cohérence et reproductibilité 🔄 • Versionnement et collaboration 🛠 • Sécurité et conformité 🔐
  9. Ansible Julien Maitrehenry - 2025 • Simple à utiliser •

    Sans agents • Mostly YAML • Aussi des templates Jinja • Encryption des secrets
  10. Continuous Deployment Julien Maitrehenry - 2025 • Automatisation 🤖 •

    Réduction des erreurs humaines ⚠ • Cohérence et reproductibilité 🔄 • Versionnement et collaboration 🛠 • Sécurité et conformité 🔐
  11. Github Action Julien Maitrehenry - 2025 • Build as usual

    • Déploiement via SSH • Déploiement via CLI/API du produit cloud
  12. Application Go Julien Maitrehenry - 2025 • Build d’un binaire

    • VM (Digital Ocean droplet) • Ansible • Systemd • Déploiement via SSH
  13. 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
  14. 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 root@host:/opt/paren/bin/paren-cli-new ssh root@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 root@host "systemctl restart paren-scraper-manager paren-ingestion" Github Action
  15. Application nodeJS Julien Maitrehenry - 2025 • Docker • Terraform

    • Digital Ocean App Service • Digital Ocean Container Registry • Déploiement via l’API/CLI
  16. Utilisation de Docker Julien Maitrehenry - 2025 • En dev

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

    App Plateforme • Seuil critique d’application • Besoin grandissant en observabilité
  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 context et son équipe Conclusion Julien Maitrehenry - 2025
  19. 💬 Votre avis ? ❓ Questions et échanges Discussion &

    Questions Julien Maitrehenry - 2025