Jobs Kubernetes


Dans Kubernetes, un 'Job' est une ressource permettant l'exécution d'une tâche en arrière-plan jusqu'à sa complétion. Les Jobs sont utilisés pour des tâches de calcul par lots ou des tâches programmées.

Serverless


Le 'Serverless' est un modèle dans lequel le fournisseur cloud gère l'infrastructure. L'utilisateur fournit uniquement le code qui est exécuté en réponse à des événements, sans se soucier de la gestion des serveurs.

Types de Jobs


Les différents types de Jobs disponibles dans Kubernetes.

  1. Jobs simples
    Ces Jobs exécutent une tâche unique et s'arrêtent une fois terminée. Idéal pour des tâches occasionnelles nécessitant un traitement spécifique.



  2. CronJobs
    Permet de programmer des tâches récurrentes à intervalles réguliers, comme pour des sauvegardes ou des nettoyages de données.

Cas d'usage


Les principaux cas d'usage de chaque modèle.

  1. Jobs
    Les Jobs sont utilisés pour les traitements de données, les calculs par lots et les tâches planifiées qui nécessitent une exécution ponctuelle ou récurrente.



  2. Serverless
    Les fonctions Serverless sont idéales pour des tâches courtes et événementielles, telles que le traitement de requêtes HTTP, le traitement d'images ou des calculs légers.

Avantages et inconvénients


Les principaux points forts et limites des Jobs et des services Serverless.

  1. Avantages des Jobs
    Contrôle précis sur les ressources et l'exécution, planification facilitée, adapté aux tâches intenses.



  2. Inconvénients des Jobs
    Nécessite un cluster Kubernetes actif, ce qui peut générer des coûts d'infrastructure même en l'absence de tâches.

  3. Avantages du Serverless
    Aucune gestion d'infrastructure, facturation basée uniquement sur l'exécution réelle, et scalabilité automatique.

  4. Inconvénients du Serverless
    Limites en durée et en mémoire, moins de contrôle sur l'environnement et coûts potentiels pour les tâches de longue durée.



Jobs vs Serverless


Un tableau récapitulatif des différences entre les deux modèles.
CritèreJobs KubernetesServerless
DéploiementGéré par des Jobs ou CronJobsCode déployé en tant que fonction
InfrastructureCluster Kubernetes requisGérée par le fournisseur
Gestion des tâchesPlanification via JobsDéclenchée par événements
UtilisationTâches intensives et par lotsTâches légères et événementielles
CoûtBasé sur les ressources du clusterBasé sur le temps d'exécution
ScalabilitéAutomatique par le clusterScalabilité automatique
Complexité de gestionNécessite une gestion modéréePeu de gestion requise

Conclusion


Les Jobs Kubernetes conviennent mieux aux tâches nécessitant un contrôle précis et de l'infrastructure Kubernetes, tandis que le Serverless est idéal pour les tâches événementielles ou de courte durée avec un minimum de gestion.

Date de publication: 2023-06-03T09:40:00+08:00
Date de modification: 2024-10-30T16:05:23
Auteur:
  • Martin LEKPA : Tech Lead et formateur Observabilité