Com gestionar els vostres clients en un entorn multitenant d’Azure | Part 3: Model de preus i gestió de recursos i costos

Entorno-Multi-Tenant-Azure-Gestión-Recursos-costes-modelo-de-precios-Itequia (CAT)

Com gestionar els vostres clients en un entorn multitenant d’Azure | Part 3: Model de preus i gestió de recursos i costos

A les dues parts anteriors d’aquesta sèrie d’articles sobre Com gestionar els teus clients en un entorn multitenant a Azure:

Hem destacat punts importants del recorregut que hem de tenir en compte a l’hora de crear una solució multitenant:

  • Nivells d´aïllament entre Tenants
  • Límits i escalat
  • Cicle de vida d’un Tenant: decisions d’arquitectura i desplegament

Tot i així, amb tota aquesta informació sobre la qual treballar, hi ha punts que encara necessitem analitzar i conèixer per poder prendre decisions:

  • Gestió de recursos de computació d’Azure
  • Gestió de Costos

Aquests són els punts que repassarem en aquest nou article, i arribats a aquest nivell, finalment, podrem decidir quin model de preus apliquem al nostre sistema.

Que-modelo-precios-aplicar-sistema-Itequia

Gestió de Recursos de Computació a Azure

Hi ha diverses maneres per dur a terme aquesta gestió. Haurem de tenir dins del nostre radar conceptes com:

  • Web Server 
  • App Services 
  • Load Balancing 
  • Statefulness – Gestió de l’estat de cada Tenant

A l’hora de dissenyar com gestionarem els recursos de computació. Podem trobar més detall a: Architectural approaches for compute in multitenant solutions

Noisy-Neighbours-Gestión-Azure-Itequia

Hi ha un aspecte concret daquesta gestió de recursos que magradaria recalcar. Reprenent el símil d’“inquilí” d’una casa que fèiem a la primera part d’aquesta sèrie d’articles; ens podem trobar amb els típics veïns sorollosos o Noisy Neighbours.

En el cas d’un entorn compartit d’Azure, amb una capacitat del sistema total compartida, un “veí sorollós” podria ser aquest tenant que utilitza tant els recursos compartits que provoca que aquests deixin d’estar disponibles per a un altre Tenant:

Tenant-Resource-Usage-Itequia

Com podem imaginar, aquest escenari es pot complicar quan a l’edifici hi ha més de dos apartaments i més d’un sol “veí sorollós”. Per mitigar aquests casos ens podem plantejar diferents estratègies:

  • Desplegar amb recursos compartits sobredimensionats
  • Escalar dinàmicament el sistema en funció de la càrrega. De manera que ens assegurem de tenir els recursos suficients per a cada moment
  • Crear diversos pools de recursos i assegurar-nos que els Tenants d’aquests pools tinguin càrregues de treball diferents
  • També hi ha la possibilitat d’utilitzar throttling per establir límits per a cada Tenant

Per poder assegurar que els nostres Tenants tindran el servei que necessiten a cada moment. Recordeu aquesta “il·lusió d’entorn dedicat” que comentàvem al primer article d’aquesta sèrie.

Gestió de costos en un entorn multitenant

A primera vista podem pensar: “Ja sembla força complicada la gestió de costos a Azure per a un únic Tenant, com ha de ser per a múltiples Tenants?”, com puc cobrar als meus clients el cost de recursos d’Azure que ha utilitzat?

A l’article “Architectural approaches for cost management and allocation in a multitenant solution” podem trobar totes les eines necessàries i consideracions que tenim a disposició per a aquest tema: 

  • Utilitzar Resource Tags per etiquetar els recursos de cada Tenant. Aquest cas es complica en un entorn compartit.
  • Utilitzar la instrumentació:
    • Per exemple: mesurar el nombre de peticions de cada Tenant mitjançant:
      • Event Hubs (tractant cada petició com si fos un esdeveniment)
      • Application Insights que no està pensada per a aquesta tasca ni es recomana fer-la servir, encara que hi ha gent que les utilitza 

Pel que fa a la gestió de costos haurem de tenir en compte la precisió que desitgem. Per això ens podem fer les següents preguntes:

  • Per què estic mesurant? Quin és el meu propòsit?
  • Necessito costos aproximats o costos exactes?
  • Com gestionaré els components compartits?

i analitzar com respondre cadascuna amb els recursos que ens ofereix Azure.

Models de preus 

Arribats a aquest punt, ja tenim clar tot el que necessitem per poder gestionar un entorn multitenant a Azure. Però com és normal, voldrem guanyar diners amb la nostra plataforma, aleshores quins models de preu puc fer servir?

Limites-escalado-gestion-multi-tenant-Itequia

La resposta a aquesta pregunta està lligada estretament amb quin serà el nostre model de negoci atès que tindrà una relació directa amb el model de preu a oferir.

De per si mateix els models de preu ja són complexos, en aquest article repassarem algunes pinzellades sobre ells. Podeu trobar més detall a “Pricing models for a multitenant solution”.

Algunes opcions de model de preus que tenim són:

  • Cobrar a cada tenant una tarifa plana: sense importar quants recursos del sistema utilitza cada Tenant.
  • Cobrar per consum a cada Tenant; però com hem vist és un punt difícil de predir amb els que també serà difícil predir el nostre cost i el nostre benefici.
  • Aplicar el model Freemium: oferir algunes funcionalitats i/o característiques del nostre sistema gratuïtament i cobrar per altres afegides o millorades.
Versión-Freemium-Gestión-Multi-Tenant-Itequia
  • Tiered Pricing: En aquesta opció no oferim res gratuïtament, però sí diferents categories del nostre sistema associada cadascuna amb un conjunt de funcionalitats que es poden utilitzar. Seria a l’estil “Bronze, Plata, Or” 
Tiered-Pricing-gestion-multi-tenant-Itequia

En resum, sigui quin sigui el model de preus que volem aplicar haurem de tenir en compte:

  • Mesurar l´ús dels recursos de cada Tenant
  • Gestionar els costos totals o parcials
  • Assegurar límits dús
  • Plantejar-nos, si aplica al nostre sistema activar i desactivar funcionalitats 

Gestió d’un entorn MultiTenant a Azure

En aquesta sèrie d’articles hem après la gestió d’un entorn multitenant a Azure recorrent:

  • Les diferents opcions d’aïllament que podem aplicar
  • Límits i escalat
  • Cicle de vida d’un tenant
  • Gestió de la computació
  • Costos
  • Preus 

Hi ha aspectes més tècnics i arquitectònics que també cal tenir en compte. Podeu revisar tots ells en aquesta formació de Microsoft, “Managing Your Customers in a Multi-Tenant Environment” que ha estat la font més important d’informació per desenvolupar aquests articles.

Oriol Fernandez Moreno – Key Software Developer at Itequia