Qu’est-ce que App Engine et Cloud Run ?

App Engine

App Engine est une solution propriétaire de Google basée sur la framework PaaS (Platform as a Service), permettant de créer des applications Web tout en faisant abstraction de l’aspect serveur (d’où l’utilité du produit). Plus besoin donc de gérer la charge serveur, App Engine le fait pour vous. 

Cette solution est proposée officiellement par Google afin d’héberger les serveurs requis pour utiliser GTM server-side.

Liens utiles

Cloud Run

Cloud Run, à l’inverse d’App Engine, n’est pas une solution propriétaire de Google (Il est possible de porter le setup en dehors de Google Cloud Platform).

Cloud Run s’appuie sur Knative (extension serverless de Kubernetes), ce qui permet d’avoir des services hébergés dans des containers avec une approche serverless. Ce service est donc basé sur la framework CaaS (Container as a Service).

Liens utiles

Pourquoi ce test entre App Engine et Cloud Run ?

Si vous suivez les sujets Analytics, vous savez déjà que le sujet a été traité par plusieurs personnes / entités mais jamais sous cet angle. Des tutoriels ont déjà été effectués par Mark Edmondson et Square sur Cloud Run et des tests ont été effectués par Trakken sur App Engine mais nous voulions savoir plus précisément les différences (notamment en performance et coût) entre ces deux solutions. 

Alors, comment s’est passé ce test ?

Méthodologie utilisée

Période pour effectuer ce test : 1 mois

Tags utilisés : 1 tag Google Analytics 4 uniquement (tout autre tag aurait pu faire l'affaire)
En parlant d'autres tags, nous vous conseillons de jeter un coup d'oeil à la liste des tags média disponibles sur GTM server-side !

Volumétrie : À peu près 4,5 millions d’événements pour 265,000 utilisateurs

Requêtes : 1 à 4 requêtes par secondes (2.75 en moyenne)

Informations utiles

Setup Cloud Run - CPU uniquement utilisé lorsque la requête est reçue

  • Prix par million de requêtes (mois) : 0.4€
  • Nombre de requêtes par instance (mois) : 20.000.000 requêtes
  • Prix d'une instance minimum (mois) : 9.20€ (à l'instant de l'écriture)

Setup App Engine - 2 machines utilisées

  • Nombre de requêtes par instance (sec) : 16.5
  • Nombre de requêtes par instance (mois) : 16.5 * 2629800 (nombre de secondes en 1 mois) = 43.391.700 requêtes
  • Prix d'une instance minimum (mois) : 42.10€

Résultats entre App Engine et Cloud Run

Cloud Run vs App Engine - Overview
Récapitulatif du test

Sans grande surprise, Cloud Run se retrouve grand gagnant de cette comparaison, que ça soit en terme de prix et de performance. Mais quand est-il sur de plus grand volumes ?

Afin de simuler les coûts, nous avons utilisé la calculette de GCP. (vous pouvez retrouver le détail en cliquant sur le lien)

Voici la simulation des prix allant de 1.000.000 requêtes à 10.000.000.000 requêtes.

Pricing between App Engine and Cloud Run - Average volume
Prix entre App Engine et Cloud Run en fonction du nombre de requêtes par mois (de 1M à 400M)

Pricing between App Engine and Cloud Run - Big volume
Prix entre App Engine et Cloud Run en fonction du nombre de requêtes par mois (de 450M à 10MM)

Difference between App Engine and Cloud Run (in terms of pricing)
Ratio entre le prix d'App Engine et de Cloud Run

Comme vous pouvez le voir, Cloud Run reste toujours plus attractif qu'App Engine - le ratio entre le prix d'App Engine et de Cloud Run ne descendant jamais en dessous de 2. Même quand de grand volumes sont engagés, Cloud Run reste gagnant comparé à App Engine.

Nos recommandations

Cloud Run, une solution incontournable

Comme nous l'avons vu, utiliser Cloud Run est intéressant pour avoir une réduction de coût + une meilleure latence quand le volume de requêtes est faible.

Nous conseillons donc de passer dès aujourd'hui sur Cloud Run si le coût d'App Engine ne vous permettait pas de faire un setup server-side ou si sa complexité ne vous fait pas peur !

App Engine, une solution à ne pas mettre de côté

Cloud Run n'étant pas la solution "officielle" de Google sur leur documentation, le setup dans GCP pour créer les serveurs peut être un peu technique car moins documenté, a contrario du setup très facile à prendre en main via App Engine. Tout dépends donc où se situe votre préférence.

Conclusion

Nous espérons que ce bref article vous aura plu et qu'il vous aidera dans votre choix de setup entre Cloud Run et App Engine. Nous espérons que Google promeuve ce setup afin que les avantages du server-side deviennent plus accessibles pour tout le monde !