Facturation Azure dans un contexte CSP

Le programme Cloud Solution Provider (CSP) est un programme permettant aux partenaires d’adopter un nouveau business model orienté Cloud, notamment Cloud Hybride. Via ce programme, les partenaires sont désormais en mesure d’utiliser/packager/revendre les briques de cloud public Microsoft (Azure, Office 365, Intune, EMS, CRM Online, etc…) tout en gérant la relation client de bout en bout.

Le CSP permet aux partenaires de :

  • Facturer directement le client mensuellement
  • Provisionner et gérer les souscriptions des clients
  • Ajouter leurs propres services, IP, bundle
  • Etre le point de contact privilégié sur les questions de support

Il existe 2 business models dans le cadre du CSP :

  • Un modèle direct où le partenaire s’approvisionne directement auprès de Microsoft
  • Un modèle indirect où le partenaire s’approvisionne directement auprès d’un distributeur

Bref, en tant que CSP, un aspect primordial à ne pas négliger est celui de la facturation ! Comment refacture au client sa consommation Azure sachant qu’au sein d’une seul et même souscription il peux y avoir plus projets/workloads, Resource Group, etc…

Dans une souscription Azure classique, c’est relativement simple, dans un Resource Group, on peut visualiser directement le coût de celui-ci, dans le cadre d’un CSP, cela n’est pas possible.

Pour y arriver, Microsoft met à disposition un module Powershell appelé Partner Center Powershell Module disponible ici. Pour l’installer et l’utiliser procéder comme cela:

Install-Module -Name PartnerCenterModule
Import-Module PartnerCenterModule
using module PartnerCenterModule

A ce stade, voici comment obtenir des données sur votre facturation. Il faut maintenant ce connecter au Tenant et à la souscription voulue.

import-module azurerm
Login-AzureRmAccount -TenantId TENANTID -Subscriptionid SOUSCRIPTIONID
$credentials = Get-Credential '<username@domain>'
Add-PCAuthentication -cspappID '<native app id GUID>' -cspDomain '<csp partner domain>' -credential $credentials

Ensuite, on sélectionne le PCCustomer et on requête dans l’ordre la facture la plus récente puis la consommation en cours (nous voyons qu’une limite budgétaire de 1200 € à été définie).

Select-PCCustomer -tenantid TENANTID
Get-PCCustomerServiceCostSummary -BillingPeriod MostRecent
Get-PCCustomerUsageSummary

Bon, c’est pas mal mais insuffisant pour moi. Je m’explique, au sein d’une souscription, on peut avoir plusieurs projets ou Resource Groups, alors comment savoir qui consomme quoi ? Facile allez-vous me dire: « les resource tags », et bien oui et non… Voici les différents façons de traiter la facturation dans un contexte CSP:

  1. Le fichier Excel de rapprochement (CSV)
  2. Le module Powershell, pas user-friendly du tout !
  3. Les APIs mais nécessite de développer
  4. Cloudyn que Microsoft a racheté
  5. PowerBI mais qui ne permet pas l’export « dynamique »

Fichier de rapprochement Excel

Dans une souscription Azure classique, le tag MS-RESOURCE-USAGE permet de scinder les choses, mais pas de prise en compte de ce TAG dans l’excel… Par contre, j’ai répéré deux autres TAGS qui peuvent servir à remonter les usages dans l’EXCEL, il s’agit des TAGS PROJECT et SERVICEINFO.

Mais cela serait trop simple… Le fichier Excel de rapprochement comporte deux sections, l’une détaille l’usage en terme de facturation (en €) l’autre détaille l’usage technique (en heures, requêtes, …). J’ai pas trop regardé, mais croiser ces deux sections permettrait sûrement d’obtenir un résultat sympa en se basant sur le ResourceGUID, mais j’ai un gros doute car j’ai vu une même GUID reporté sur deux souscriptions différentes… Quoiqu’il en soit, à ce stade et en manipulant l’Excel à coup de croisé dynamique, on arrive quand même à facturer et savoir qui à consommé quoi pour différents clients (Subscription) au sein d’un CSP (Tenant). Ci-dessous, des extraits de mes Excels, la première capture détaille la facturation, la seconde la consommation.

 

La solution Cloudyn

Pour rappel, Cloudyn permet de suivre l’utilisation du cloud et les dépenses liées à vos ressources Azure et celles d’autres fournisseurs de services cloud, notamment AWS et Google. Les rapports du tableau de bord vous aident à comprendre la répartition des coûts, de même que la rétrofacturation et la facturation interne. La gestion des coûts vous permet d’optimiser vos dépenses cloud en identifiant les ressources sous-utilisées que vous pouvez ainsi gérer et ajuster.

En premier lieu, il convient de créer un clé API dans le Dashboard du Partner Center, comme le montre les étapes ci-dessous. Copiez bien la clé car elle n’apparaît que UNE fois.

Ensuite dans Cloudyn, dans Account Setup, choisissez CSP Account, et reporter les valeurs ci-dessous avec un Rate Id MS-AZR-0145P.

Il faut attendre un peu, par expérience, attendez 1 journée pour que le batch fasse le process de refresh. ET LA  !!!! BIM !!! du détail ! Par service, tag, etc….


 

L’accès aux données de gestion des coûts est assuré par une gestion des utilisateurs ou des entités. Les comptes d’utilisateur Cloudyn déterminent l’accès aux entités et aux fonctions d’administration. Il existe deux types d’accès : administrateur et utilisateur. Sauf modifié par utilisateur, l’accès administrateur concède à l’utilisateur un accès non restreint à toutes les fonctions du portail Cloudyn, notamment la gestion des utilisateurs, la gestion des listes de destinataires et l’accès aux entités racines pour toutes les données d’entité. L’accès utilisateur permet aux utilisateurs finaux d’afficher et de créer des rapports à travers l’accès dont ils disposent aux données d’entité.

Les entités sont utilisées pour refléter la structure hiérarchique de votre organisation. Elles identifient les services, divisions et équipes de votre organisation dans Cloudyn. La hiérarchie des entités permet de suivre avec précision les dépenses réalisées par les entités.

Quand vous avez inscrit votre contrat ou compte Azure, un compte avec l’autorisation d’administrateur a été créé dans Cloudyn pour vous permettre de réaliser toutes les étapes de ce didacticiel. Ce didacticiel décrit l’accès aux données de gestion des coûts, y compris la gestion des utilisateurs et la gestion des entités. Vous allez apprendre à effectuer les actions suivantes :

  • Créer un utilisateur avec un accès administrateur
  • Créer un utilisateur avec un accès utilisateur
  • Créer des entités

Toute la documentation ici => https://docs.microsoft.com/fr-fr/azure/cost-management/tutorial-user-access

POWER BI

Power BI permet d’obtenir des rapports dynamiques quasi temps-réel, dans mon cas, j’ai paramétré un update tous les jours… Mais voici ce que l’on obtient après avoir importé le module correspondant dans APPSource.

Dans le rapport ci-dessus, on voit bien la récupération du nos fameux tags MS-RESOURCE-USAGE mais le facturation est faussée. Il faut modifier le rapport, cf étape 8 pour y mettre des cases à cocher pour obtenir des rapports plus fiable.

On rajoute le champ SubscriptionUsage -> TAGS en tant que Segment. Le truc qui m’embête c’est le TAG vide qui semble falloir cocher pour obtenir des données fiables. Pour moi ce qui est le plus fiable, c’est le Powershell et le CSV issu du Partner Dashboard. PowerBI me mets le doutes. Ci-dessous le contraste entre CSV vs. PowerBI. D’où vient cet écart de 13.52 € ???

 

Bon, au travers de ce billet, j’ai un peu démystifié le billing dans un cadre CSP. A suire, car j’ai vu 2/3 trucs super cool sur GITHUB !

 

Partagez si ça vous plait !
5 1 vote
Évaluation de l'article
S’abonner
Notification pour
guest

0 Commentaires
Commentaires en ligne
Afficher tous les commentaires
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x