这是indexloc提供的服务,不要输入任何密码

Qu'est-ce que l'informatique sans serveur ?

L'informatique sans serveur est un modèle d'exécution de cloud computing qui alloue les ressources machine telles qu'elles sont utilisées. Avec un modèle sans serveur, les développeurs peuvent créer et exécuter des applications sans avoir à gérer de serveurs, et ne paient que pour la quantité exacte de ressources utilisée. Le fournisseur de services cloud est plutôt responsable du provisionnement, de la gestion et du scaling de l'infrastructure cloud qui exécute le code de l'application.

L'informatique sans serveur, malgré son nom, n'élimine pas les serveurs. Elle simplifie le développement d'applications en supprimant les tâches de routine liées à l'infrastructure. Concrètement, vous ne voyez pas, ne configurez pas, ne gérez pas et n'effectuez pas le scaling des machines sous-jacentes qui exécutent vos applications. En d'autres termes, vous payez pour le service rendu par le serveur, et non pour le serveur lui-même.

Du point de vue du développement, c'est comme s'il n'y avait aucun serveur : les développeurs écrivent le code et le déploient en production, et le fournisseur de services cloud s'occupe du reste.

Découvrez comment Google Cloud vous aide à exploiter le potentiel de l'approche sans serveur

Comment fonctionne l'informatique sans serveur?

Lorsqu'il s'agit de créer des applications, les développeurs doivent généralement effectuer de nombreuses autres tâches de gestion des serveurs pour déployer leur code, telles que la définition de ressources pour le traitement et le stockage, l'application de correctifs, l'équilibrage de charge, etc. Tous ces éléments supplémentaires entraînent des délais de provisionnement plus longs et des coûts opérationnels supplémentaires qui, à terme, ralentissent les équipes de développement.

L'informatique sans serveur tente d'offrir aux développeurs une expérience invisible "sans serveur", en leur évitant de se préoccuper des serveurs ou de tout autre élément qu'une application pourrait avoir besoin d'exécuter. Le fournisseur de services effectue tout le travail en arrière-plan pour s'assurer que vous disposez des ressources nécessaires pour exécuter votre code et répondre aux exigences, sans que la capacité inutilisée ne vous soit facturée.

Comprendre l'informatique sans serveur

Considérez l'informatique sans serveur comme l'approvisionnement en eau chez vous. Vous pouvez creuser votre propre puits, tester la qualité de l'eau, et installer et entretenir tous les tuyaux extérieurs nécessaires pour entrer dans la maison. Vous pouvez également raccorder le réseau principal d'approvisionnement en eau de votre ville. Il suffit de tourner le robinet pour obtenir autant d'eau que vous le souhaitez au moment où vous en avez besoin, et la ville vous envoie une facture mensuelle correspondant à la quantité exacte d'eau que vous consommez.

De même, les fournisseurs de services cloud lancent automatiquement les ressources d'infrastructure et les environnements d'exécution nécessaires à l'exécution de vos applications sans serveur, puis les réduisent automatiquement à zéro une fois l'exécution terminée. En règle générale, les frais vous sont facturés en fonction du nombre de ressources disponibles pendant la durée d'exécution. Toutefois, cela peut varier selon le service et le fournisseur.

Comparatif entre les solutions sans serveur et d'autres types de cloud computing

Mais attendez: d'autres types de cloud computing ne fournissent-ils pas de ressources à la demande avec paiement à l'usage? Il est vrai que les modèles de service cloud tels que l'Infrastructure as a Service (IaaS) et le PaaS (Platform as a Service) permettent également un accès à la demande aux ressources informatiques.

Cependant, l'infrastructure cloud qui vous est allouée reste active même si vous ne l'utilisez pas. Vous êtes également responsable du scaling de la capacité du serveur ou de la configuration de vos applications pour qu'elles évoluent à la hausse ou à la baisse en fonction de la demande des utilisateurs.

Les architectures sans serveur, quant à elles, sont basées sur des événements. Dans le cadre de ce modèle, le fournisseur ne vous fournit des ressources que lorsqu'un événement déclenche l'exécution de votre code. Il évoluera instantanément et automatiquement en fonction des requêtes.

Relevez vos plus grands défis avec Google Cloud

Les nouveaux clients bénéficient de 300 $ de crédits à dépenser sur Google Cloud.
Contactez un spécialiste des ventes Google Cloud pour discuter plus en détail de votre propre défi.

Comparaison des modèles de cloud computing

Définitions clés :

  • Charge administrative : niveau d'effort requis pour gérer et maintenir l'infrastructure sous-jacente
  • Modèle de coûts : méthode utilisée pour calculer et facturer la consommation de ressources
  • Besoins en maintenance : efforts liés à la maintenance récurrente, aux correctifs et aux mises à jour nécessaires
  • Évolutivité : capacité à ajuster automatiquement les ressources en fonction de l'évolution de la demande
  • Absence d'état : l'application stocke-t-elle les données client d'une session à l'autre ?

Solutions sans serveur

  • Charge administrative : minimale
  • Modèle de coûts : paiement à l'utilisation
  • Besoins en maintenance : aucun
  • Évolutivité : automatique et instantanée
  • Absence d'état : généralement sans état

PaaS

  • Charge administrative : moyenne
  • Modèle de coûts : paiement par instance
  • Besoins en maintenance : faibles
  • Évolutivité : scaling manuel ou autoscaling
  • Absence d'état : peut être avec ou sans état

Conteneurs

  • Charge administrative : moyenne à élevée
  • Modèle de coûts : paiement par conteneur
  • Besoins en maintenance : moyens
  • Évolutivité : scaling manuel ou autoscaling
  • Absence d'état : peut être avec ou sans état

VM

  • Charge administrative : élevée
  • Modèle de coûts : paiement par VM
  • Besoins en maintenance : élevés
  • Évolutivité : scaling manuel ou autoscaling
  • Absence d'état : peut être avec ou sans état

Types d'informatique sans serveur

Dans le cloud computing sans serveur, il existe généralement deux types de services: le FaaS (Function as a Service) et le Backend as a Service (BaaS).

  • Le FaaS fournit les ressources de calcul nécessaires pour exécuter la logique d'application en réponse aux requêtes. Ces éléments logiques (ou fonctions) sont exécutés dans des conteneurs entièrement gérés par le fournisseur de services cloud. Les applications sans serveur sont généralement divisées en fonctions uniques qui effectuent une action en réponse à un événement.
  • Le BaaS fournit l'ensemble des fonctionnalités de backend des applications Web ou mobiles en tant que service, telles que les services d'authentification, la gestion de bases de données, le stockage cloud, les notifications push et l'hébergement. De plus, le BaaS vous évite d'avoir à gérer des serveurs, des conteneurs ou des machines virtuelles.

Au cours du développement, le terme "sans serveur" est généralement utilisé pour décrire les offres FaaS. Toutefois, il est important de noter que, techniquement, le FaaS est un sous-ensemble de la technologie sans serveur. L'informatique sans serveur inclut tout type de service pour lequel la gestion, la configuration, le scaling et la facturation du serveur sont dissociés de l'utilisateur final. Cela peut inclure les bases de données, le stockage, la diffusion d'événements, la messagerie et les passerelles API.

Cas d'utilisation de l'informatique sans serveur

Voici quelques-uns des exemples d'informatique sans serveur les plus courants et émergents :

Intégration d'API et intégration tierce

  • Cas d'utilisation : synchroniser facilement les prospects/clients entre différentes applications métier (par exemple, entre un CRM et un outil d'automatisation marketing)
  • Solution sans serveur : une fonction Cloud Run déclenchée par HTTP reçoit des webhooks du système source (par exemple, Salesforce), transforme les données et appelle l'API du système de destination (par exemple, HubSpot), souvent à l'aide de Secret Manager pour les identifiants.
  • Produits Google Cloud sans serveur : Cloud Run Functions et Secret Manager

Actions programmées et basées sur des déclencheurs

  • Cas d'utilisation : automatiser la génération et la distribution de rapports de routine
  • Solution sans serveur : un job Cloud Scheduler déclenche quotidiennement une fonction Cloud Run via Pub/Sub. La fonction interroge un entrepôt de données (par exemple, BigQuery), traite les données pour générer un rapport qu'elle envoie ensuite via une API de messagerie.
  • Produits Google Cloud sans serveur : Cloud Scheduler, Pub/Sub, Cloud Run Functions et BigQuery

Automatisation des processus informatiques

  • Cas d'utilisation : réduire les coûts liés au cloud en identifiant et en gérant automatiquement les ressources de calcul inactives
  • Solution sans serveur : un job Cloud Scheduler exécuté chaque nuit déclenche une fonction Cloud Run via Pub/Sub. Cette fonction utilise l'API Compute Engine et Cloud Monitoring pour identifier les instances inactives et les arrêter ou les supprimer automatiquement, en consignant les actions dans Cloud Logging.
  • Produits Google Cloud sans serveur : Cloud Scheduler, Pub/Sub, Cloud Run Functions, Cloud Monitoring et Cloud Logging

Traitement en temps réel et asynchrone

  • Cas d'utilisation : traiter et enrichir des flux de données à volume élevé (par exemple, l'activité des utilisateurs) pour obtenir des insights et prendre des mesures immédiatement
  • Solution sans serveur : les événements de flux de clics des utilisateurs sont diffusés sur Pub/Sub. Une fonction Cloud Run (ou un service Cloud Run) consomme ces événements, les enrichit avec des données provenant de Firestore, puis publie les données enrichies dans un autre sujet Pub/Sub pour les analyser en temps réel dans BigQuery ou pour obtenir des recommandations personnalisées.
  • Produits Google Cloud sans serveur : Pub/Sub, Cloud Run Functions, Cloud Run, Firestore et BigQuery

Workflows CI/CD et DevOps

  • Cas d'utilisation : automatiser la compilation, les tests et le déploiement de microservices lorsque des modifications sont apportées au code
  • Solution sans serveur : un déclencheur Cloud Build surveille un dépôt Git (par exemple, Cloud Source Repositories). Lors du commit du code, Cloud Build exécute des tests, crée une image de conteneur dans Artifact Registry et déploie automatiquement la nouvelle version dans Cloud Run.
  • Produits Google Cloud sans serveur : Cloud Build, Cloud Run, Artifact Registry et Cloud Source Repositories

traitement d'images et de vidéos

  • Cas d'utilisation : générer automatiquement des variantes d'images optimisées (par exemple, des vignettes, différents formats) lors de l'importation
  • Solution sans serveur : une fonction Cloud Run est activée lorsqu'une nouvelle image est importée dans un bucket Cloud Storage. Cette fonction traite l'image (redimensionnement, conversion de format), enregistre les nouvelles versions dans Cloud Storage et met à jour les métadonnées dans Firestore.
  • Produits Google Cloud sans serveur : Cloud Storage, Cloud Run Functions et Firestore

Applications et agents d'IA

  • Cas d'utilisation : effectuer des inférences de l'IA en temps réel à l'aide de LLM tels que Llama 3.1, Gemma 2, Mistral et plus encore
  • Solution sans serveur : Cloud Run s'intègre aux modèles d'IA tels que l'API Gemini, les points de terminaison Vertex AI ou les modèles hébergés sur un service Cloud Run compatible avec les GPU. Il peut également servir de point de terminaison d'API évolutif et héberger des agents IA.
  • Produits GCP sans serveur : Cloud Run, Cloud Storage, Firestore

Avantages de l'informatique sans serveur

Meilleure productivité des développeurs

Les développeurs sans serveur se concentrent sur l'écriture de code et l'optimisation de la logique métier au lieu de se soucier du provisionnement, de la gestion ou du scaling de l'infrastructure.

Évolutivité clé en main

Les architectures sans serveur évoluent intrinsèquement à la hausse ou à la baisse. Contrairement à l'autoscaling dans d'autres types de cloud computing, qui nécessite des règles d'ajustement, l'autoscaling sans serveur est instantané et peut être réduit à zéro.

Tarification souple

Les modèles de tarification sans serveur sont souvent facturés en fonction de l'utilisation réelle et du temps nécessaire à l'exécution d'une fonction. De plus, vous ne payez pas pour la capacité inutilisée, ce qui vous permet de réduire les coûts opérationnels associés à l'exécution et à la gestion de vos propres serveurs.

Déploiement plus rapide

L'informatique sans serveur peut aider à réduire la complexité liée à la définition de l'infrastructure pour les équipes DevOps en ce qui concerne l'intégration, les tests, la livraison et le déploiement. Cela leur permet de se concentrer sur l'écriture et le déploiement du code directement en production.

Utiliser n'importe quel langage

Les environnements sans serveur sont compatibles avec tous les langages ou frameworks, ce qui permet aux équipes de développer dans le langage ou avec le framework (Go, Python, Java, Node.js, .NET, etc.) qu'elles préfèrent.

Inconvénients de l'informatique sans serveur

L'un des principaux inconvénients de l'informatique sans serveur est qu'elle reste une technologie relativement nouvelle. Par conséquent, elle n'est pas encore adaptée à tous les cas d'utilisation potentiels.

Il est également évident que certaines des faiblesses qui existent actuellement seront résolues au fil du temps, à mesure que l'informatique sans serveur continue d'évoluer. En particulier, nous avons déjà beaucoup travaillé sur des implémentations Open Source de solutions sans serveur, et nous cherchons des moyens de rendre les services cloud plus ouverts afin de rendre les solutions portatives sur différents environnements et plates-formes.

  • Cas d'utilisation limités : les architectures sans serveur ne sont pas toujours adaptées aux applications ayant des exigences spécifiques, comme les processus de longue durée ou les besoins en latence très faible.
  • Contraintes de performances : les fonctions sans serveur peuvent subir des démarrages à froid (retard de l'exécution initiale) et peuvent être soumises à des limites de temps d'exécution et de mémoire.
  • Dépendance vis-à-vis d'un fournisseur : la migration d'applications sans serveur d'un fournisseur de services cloud à un autre peut être complexe en raison des différences entre les API et les configurations.
  • Visibilité réduite sur les serveurs : les développeurs ne bénéficient que d'une visibilité limitée sur l'infrastructure sous-jacente, ce qui complique la résolution des problèmes de performances ou l'optimisation de l'utilisation des ressources.
  • Démarrage lent : les fonctions sans serveur peuvent parfois subir un démarrage à froid qui retarde l'appel de la fonction, ce qui peut avoir un impact sur la latence.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud