Comment tirer le meilleur parti de l'offre gratuite de Google Cloud

L'industrie du cloud computing adore offrir des échantillons gratuits et Google n'est pas différent d'Amazon ou de Microsoft à cet égard. Les entreprises savent que si vous donnez aux clients un avant-goût gratuit, ils reviendront à l'heure du repas.

Google propose deux types de services gratuits. Les nouveaux clients reçoivent 300 $ à dépenser sur n'importe laquelle des machines ou des services répartis entre les 24 «régions cloud», 73 «zones» et 144 «emplacements périphériques du réseau». L'argent fonctionne à peu près partout dans le cloud Google, de la puissance de calcul brute à l'un des plusieurs dizaines de produits différents tels que des bases de données ou des services de carte.

Mais même lorsque cet argent gratuit est épuisé, les cadeaux gratuits continuent. Il existe 24 produits différents qui offrent des échantillons gratuits en continu qui sont facturés comme «toujours gratuits». Même si vous êtes client depuis des années, vous pouvez toujours expérimenter. Bien sûr, Google ajoute la mise en garde selon laquelle le mot «toujours» dans cette généreuse promesse est «sujet à changement». Mais jusqu'à ce que ce jour arrive, la base de données BigQuery répondra à un téraoctet de requêtes chaque mois et AutoML Translation transformera 500 000 caractères d'une langue à une autre.

Certains développeurs utilisent le niveau gratuit pour ce qu'il est censé être: une opportunité d'explorer sans implorer leur patron et celui de leur patron pour un budget. D'autres travaillent sur une activité secondaire ou sur un site Web pour les enfants du quartier. Lorsque la charge est faible, il est facile d'innover sans devoir payer une facture mensuelle.

Certains développeurs poussent cela à l'extrême. Ils essaient de rester dans l'offre gratuite le plus longtemps possible. C'est peut-être parce qu'ils veulent se vanter de leur taux de combustion incroyablement bas. C'est peut-être juste une forme de machisme moderne. Peut-être qu'ils ont peu d'argent.

Dans tous les cas, travailler cet angle libre aussi longtemps que possible conduit généralement à des applications Web maigres et efficaces qui en font autant que possible avec le moins possible. Le jour où ils quitteront le niveau gratuit, les factures mensuelles resteront faibles à mesure que le projet évoluera, ce qui réchauffe le cœur de chaque directeur financier.

Voici quelques-uns des secrets pour tirer le meilleur parti de l'offre gratuite de Google. Peut-être que vous êtes bon marché. Peut-être que vous attendez juste de le dire à votre patron jusqu'à ce que la génialité soit complètement réalisée. Peut-être que vous vous amusez simplement et que c'est une gaffe. Quoi qu'il en soit, il existe de nombreuses façons d'épargner. 

Stockez uniquement ce qui est nécessaire

Les bases de données gratuites telles que Firestore et Cloud Storage sont des outils totalement flexibles qui éliminent respectivement les documents et les objets à valeur clé. Le niveau toujours gratuit de Google Cloud vous permet de stocker respectivement vos premiers 1 Go et 10 Go dans chaque produit. Mais plus votre application conserve de détails, plus les gigaoctets gratuits s'épuisent rapidement. Alors arrêtez d'enregistrer des informations à moins que vous n'en ayez absolument besoin. Cela signifie qu'il n'y a pas de collecte obsessionnelle de données au cas où vous en auriez besoin pour le débogage plus tard. Pas d'horodatage supplémentaire, pas de grand cache rempli de données que vous gardez juste pour être prêt.

La compression est votre amie

Il existe des dizaines de bons morceaux de code pour ajouter une couche de compression à vos clients. Au lieu de stocker de gros blocs de JSON, le code client peut exécuter les données via un algorithme tel que LZW ou Gzip avant de les envoyer par fil à vos instances de serveur, qui les stockent sans les décompresser. Cela signifie des réponses plus rapides, moins de problèmes de bande passante et moins d'impact sur votre quota de stockage de données mensuel gratuit. Soyez un peu prudent car certains très petits paquets de données peuvent devenir plus gros lorsque la surcharge de compression est incluse.

Passez sans serveur

Google est plus généreux avec ses services de calcul intermittents facturés à la demande. Cloud Run démarrera et exécutera un conteneur sans état qui répondra gratuitement à deux millions de requêtes chaque mois. Cloud Functions lancera votre fonction en réponse à deux millions de demandes supplémentaires. C'est plus de 100 000 opérations différentes chaque jour en moyenne. Alors arrêtez d'attendre et commencez à écrire votre code sur le modèle sans serveur.

Remarque: certains architectes vont grincer des dents à l'idée d'utiliser deux services complètement différents. Cela peut permettre d'économiser de l'argent, mais cela doublera la complexité de l'application et cela signifie qu'elle sera plus difficile à maintenir. C'est un réel danger, mais vous pouvez souvent plus ou moins dupliquer la structure de fonction en tant que service de Cloud Functions dans votre propre conteneur, ce qui permet de consolider votre code plus tard si vous le prévoyez.

Utilisez App Engine

App Engine de Google reste l'un des meilleurs moyens de faire tourner une application Web sans se soucier de tous les détails de la façon de la déployer ou de la mettre à l'échelle. Presque tout est automatisé, il déploiera donc de nouvelles instances si la charge augmente. App Engine est fourni avec 28 «heures d'instance» par jour, ce qui signifie que votre application de base fonctionnera gratuitement pendant 24 heures par jour et pourra même évoluer pendant quatre heures en cas de demande croissante.

Consolider les appels de service

Il y a une certaine liberté pour ajouter des extras si vous faites attention. Les limites des appels sans serveur sont sur le nombre de demandes individuelles et non sur la complexité. Vous pouvez regrouper plus d'action et plus de résultats dans chaque échange en regroupant toutes les opérations de données dans un plus gros paquet. Ainsi, vous pouvez offrir des gadgets stupides comme les cotations boursières, mais seulement si vous glissez les quelques octets supplémentaires dans les paquets absolument essentiels. Gardez simplement à l'esprit que Google compte la mémoire utilisée et le temps de calcul. Vos fonctions ne peuvent pas dépasser 400 000 Go-secondes de mémoire et 200 000 GHz-secondes de temps de calcul.

Utiliser le stockage local

L'API Web moderne offre un certain nombre de bons endroits pour stocker des informations. Il y a le très bon cookie à l'ancienne qui est limité à quatre kilo-octets. L'API de stockage Web est un système clé-valeur basé sur des documents qui mettra en cache au moins cinq mégaoctets de données et certains navigateurs conserveront 10 mégaoctets. IndexedDB offre un ensemble plus riche de fonctionnalités telles que des curseurs de base de données et des index qui accéléreront l'exploration des données qui sont souvent stockées sans limites.

Plus vous stockez de données localement sur la machine de votre utilisateur, moins vous devez utiliser votre précieux stockage côté serveur. Cela peut également signifier des réponses plus rapides et beaucoup moins de bande passante consacrée au transport de copies infinies des données vers votre serveur. Cependant, il y aura des problèmes lorsque les utilisateurs changeront d'appareil, car les données ne seront probablement pas synchronisées. Assurez-vous simplement que les détails importants sont cohérents.

Trouvez les bonnes affaires cachées

Google maintient une page utile qui résume tous les produits «toujours gratuits», mais si vous fouillez, vous trouverez de nombreux services gratuits qui ne figurent même pas sur la liste. Google Maps, par exemple, offre «une utilisation mensuelle gratuite de 200 $». Google Docs et quelques-unes des autres API sont toujours gratuits.

Utiliser G Suite

De nombreux produits G Suite, notamment Docs, Sheets et Drive, sont facturés séparément et les utilisateurs les obtiennent gratuitement avec leur compte GMail ou leur entreprise les paie en tant que suite. Au lieu de créer une application avec des rapports intégrés, écrivez simplement les données dans une feuille de calcul et partagez-la. Les feuilles de calcul sont suffisamment puissantes pour inclure des graphiques et des tracés comme n'importe quel tableau de bord. Si vous créez une application Web, vous devrez graver vos quotas de calcul et de données pour gérer les demandes interactives. Mais si vous créez simplement un document Google pour votre rapport, vous videz la plupart du travail sur la machine de Google.

Retirer les gadgets

Certaines fonctionnalités des applications Web modernes sont assez superflues. Votre application bancaire a-t-elle besoin de cotations boursières? Avez-vous besoin d'inclure l'heure ou la température locale? Avez-vous besoin d'intégrer les derniers tweets ou photos Instagram? Non. Débarrassez-vous de tous ces extras, car chacun signifie un autre appel à vos machines serveur et qui ronge vos limites gratuites. L'équipe de conception de produits peut rêver en grand, mais vous pouvez lui dire «Non!»

Soyez prudent avec les nouvelles options

Certains des outils les plus cool pour créer des services d'intelligence artificielle pour votre pile offrent de bonnes limites pour l'expérimentation. Le service AutoML Video vous permettra d'entraîner votre modèle d'apprentissage automatique sur des flux vidéo pendant 40 heures chaque mois, avant que les frais n'entrent en vigueur. Le service de données tabulaires broiera gratuitement vos lignes et lignes d'informations sur un nœud pendant six heures. Cela vous donne assez de corde pour expérimenter ou construire des modèles de base, mais attention. Il serait dangereux d'automatiser le processus afin que chaque utilisateur puisse déclencher un gros travail d'apprentissage automatique.

Gardez les coûts en perspective

Il est facile de pousser ce jeu à l'extrême et de transformer l'architecture de votre application en un appareil Rube Goldberg juste pour économiser un peu plus d'argent. Il est important de se rappeler que le passage du niveau gratuit au client payant est souvent une toute petite étape dans Google Cloud. Bien qu'il existe de nombreux services gratuits sur Internet qui passent de la gratuité à des milliers de dollars en un seul clic, les services de Google ne sont généralement pas tarifés comme ça.

Après avoir parcouru deux millions d'appels gratuits de Cloud Functions, le prochain est un énorme 0,0000004 $. C'est seulement 40 cents par million. Si vous creusez autour de votre tiroir à chaussettes, vous devriez pouvoir en couvrir quelques millions de plus sans trop de problèmes.

Le barème de prix est suffisamment généreux pour que vous n'ayez pas de crise cardiaque lorsque vous sortez de la zone franche. Si votre application a besoin de quelques millions de plus, ceci ou cela, vous serez probablement en mesure de le couvrir. La leçon importante est que maintenir la charge de calcul faible se traduira par des factures plus petites et des réponses plus rapides.