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

Plafonner les coûts de plusieurs projets GCP avec des budgets sur plusieurs mois

Plafonner les coûts de plusieurs projets GCP avec des budgets sur plusieurs mois

mbhaphoenix

March 21, 2019
Tweet

More Decks by mbhaphoenix

Other Decks in Technology

Transcript

  1. Plafonner les coûts de plusieurs projets GCP avec des budgets

    sur plusieurs mois ! MEHDI BEN HAJ ABBES
  2. qPlusieurs équipes / projets GCP à gérer q500 euro par

    équipe utilisable sur plus d’un mois qUn seul compte de facturation Le cadre Comment plafonner les consommations / dépenses sur le cloud
  3. Au menu Google Cloud APIs Une boîte noire Serverless Cloud

    Pub / Sub Google Cloud Function Cloud Firestore Cloud IAM Live démo
  4. Le problème Ø Le budget dépensé se réinitialise le premier

    jour de chaque mois à 0,00 €, mais on veut gérer un budget pour un projet sur toute la période du hackathon, qui dépasse le mois. Ø La définition d'un budget permet d’envoyer des alertes, mais ne limite pas la consommation des ressources ou des API, alors qu’on veut plafonner et imposer une limite dure sur les dépenses sur un projet. Ø Le compte de facturation est lié aux projets hackathon et à d’autres projets, cependant nous souhaitons gérer uniquement les budgets pour les projets du hackathon. Et cela non seulement pour un projet, mais pour plusieurs projets hackathon
  5. La solution en quelques mots Créer un budget (la ressource

    Google Cloud) par projet pour lequel on veut plafonner les dépenses. « Lier » le budget au projet qu’on veut plafonner Activer les notifications automatisées, pour recevoir des messages sur Cloud Pub / Sub avec le statut actuel du budget. Configurer les notification des budgets de tous les projets pour qu’elles soient publiées au même topic Cloud Pub / Sub Utiliser une seule Cloud Function pour gérer automatiquement, pour tous les projets, les notifications de budget reçues à travers le topic Cloud Pub / Sub
  6. Un exemple de budget event envoyé par la boite noire

    https://cloud.google.com/billing/docs/how-to/budgets?hl=en_US&_ga=2.143921008.-474930223.1538755035#notification_format
  7. Google Cloud Function (CF) Le FaaS de Google Cloud :

    une solution de calcul lightweight permettant aux développeurs de créer des fonctions : Øautonomes Øà but unique Øqui répondent aux événements Cloud Øen mode serverless : sans avoir à gérer un serveur ou un environnement d'exécution.
  8. Une CF pour gérer les budgets events Dès qu’une notification

    de budget pour un projet est envoyé au topic Cloud Pub / Sub, elle est traitée par notre Cloud Function L’implémentation de la Cloud Fonction fournit une solution au problème de réinitialisation du budget au premier jour de chaque mois, en gérant « l’état du budget » dans Cloud Firestore. Si les dépenses totales d’un projet dépassent le budget fixé pour le projet, la facturation sera désactivée pour le projet à l’aide de l’API Cloud Billing. Bien sûr, nous n’oublierons pas les authentifications et autorisations nécessaires
  9. Pourquoi Cloud Firestore ? üUne base NoSQL serverless orientée documents

    üLa nouvelle version majeure de Cloud Datastore. üModèle de pricing start free then pay as you go üUn free tier très généreux üAucune autre solution de stockage Google Cloud à accès aléatoire, à l’exception de Cloud Datastore, ne dispose de ce genre de modèle de pricing. üGrande facilité de parcourir les données Cloud Firestore via la console Google Cloud.
  10. Les librairies clientes Google Cloud Google Cloud Client Libraries :

    l’option recommandée pour accéder aux APIs Google Cloud par programmation, lorsque celles-ci sont disponibles. C’est l’option que nous avons utilisé avec Cloud Firestore. Google API Client Libraries: Nombre de Google Cloud APIs ne disposes pas encore de Google Cloud Client Library Exemple l’API Google Cloud Billing C’est l’alternative pour consommer cette API