Definitivament, el cloud públic ha suposat una revolució en la forma en la qual veiem la IT: la capacitat que ens ha donat per a experimentar sense necessitat de fer una inversió inicial ha fet possible molts projectes que, d’una altra forma, ni tan sols s’haugéssin provat. D’altra banda, la seva elasticitat ens ha permès crear entorns resistents a pics de càrrega imprevistos.
Però això ha vingut acompanyat d’un petit problema: la gestió de costos variables. Cada element que arrenquem al cloud públic té un cost. I cada cloud públic té un esquema diferent de costos, estalvis, prepagaments…
Amb l’objectiu d’estalviar-nos un ensurt, parlarem dels principals “forats” a través dels quals se’ns pot escapar el pressupost d’IT quan treballem amb el cloud públic.
Computació
Al Cloud Públic, cada màquina virtual, base de dades, servidor de memòria caué, etc… que tinguem aixecat té un cost. Diners contants. 0,07 Euros per hora pot no semblar molt però quan els comptem en un mes són 50 Euros.
Tenir recursos sobredimensionats en una IaaS pública també ens pot fer perdre diners. Hem de pensar que els costos augmenten de forma lineal sobre la base de la grandària de les instàncies, per la qual cosa, reduir una màquina virtual a la mida més petita ens estalviarà com a mínim la meitat del seu cost.
No aprofitar, on sigui possible, les capacitats de cada proveïdror per a beneficiar-se del seu excedent de càrrega (spot instances, preemptive instances…) pot fer que gastem més diners del necessaris quan podríem estar pagant un 20-30% sobre el preu de tarifa.
Utilitzar tarifes “on demand” per a recursos que sabem que estaran vigents durant un any o més, pot suposar un sobrecost mínim del 20% respecte a un recurs reservat.
Emmagatzematge
El principal vampir en aquesta àrea és el “snapshot oblidat”, l’acumulació d’aquests pot engreixar la factura mes a mes. Una mala o inexistent política de control de snapshots pot afectar a mig/llarg termini ja no només a la factura, si no en la gestió dels recursos.
De la mateixa forma, ens podem trobar volums abandonats que ja no es fan servir. És important configurar eines i alertes que ens informin d’aquesta casuística, ja que pot convertir-se en un forat negre a la nostra factura.
Per acabar, els tipus de disc també s’han d’escollir adequadament. No té sentit invertir en un disc amb una capacitat de lectura/escriptura elevadíssima si el sistema amb prou feines té activitat.
Trànsit no previst
I no ens referim a un pic de tràfic de clients.
Ens referim al trànsit que no sabiem que tenia un cost.
Per exemple, a AWS, el trànsit entre AZs costa diners. Quants?
Segons la documentació d’AWS, el trànsit “Cross-AZ” costa 0,01$/GB “en cada direcció”, és a dir, que costa 0,02$ / GB. Pot semblar poc, però pensem en components comuns:
- Clústers d’ElasticSearch amb replicació multiAZ
- Desplegaments d’EKS (Kubernetes) multiAZ
- Desplegaments de Kafka multiAZ
- …
I la transferència sortint? No només es refereix a la despesa que fan els usuaris que visiton les nostres pàgines web. Si fem trucades a serveis d’AWS utilitzant les APIs públiques sense configurar l’enrutament adequadament, acabarem generant trànsit sortint. Com a norma general podem deir que tot el que surt d’un Internet Gateway a AWS es factura com a trànsit sortint.
Trucades a APIs al proveïdor
Tots els proveïdors de cloud públic cobren d’una forma o una altra per l’accés als seus APIs.
Agafem d’exemple S3:
- 0,005$ per cada 1000 peticions PUT, COPY, POST o LIST
- 0,0004 per cada 1000 peticions GET, SELECT
Que a més varien en funció del tipus d’emmagatzematge que se seleccioni.
No només cal tenir en compte les peticions que fa la nostra aplicació. Pensem també en els sistemes d’auditoria que ens proporcinen els proveídors cloud, on emmagatzemen els seus resultats, i ens podríem trobar amb una desagradable sorpresa a final de mes.
PD: no passa només a AWS, a Google Cloud Platform, per exempl, tenim el concepte d’“Operations” a CloudStorage, amb preus idèntics als de S3.
Como evitar ensurts?
Quan es tracta d’elaborar pressupostos de sistemes desplegats al Cloud Públic, el millor és conèixer bé l’arquitectura que es desplegarà. Ja sigui serverless, basada en VM’s, o mixta, cada elecció té els seus petits coldaros per on cèntim a cèntim la nostra factura pot créixer.
La gestió de costos al cloud públic es una tasca contínua, que requereix dedicació i coneixement. L’ús d’eines com els budgets (pressupostos) que els principals proveïdors posen a disposició dels clients (i que, per cert, també tenen cost en algun d’ells), son només una forma de control, però no la definitiva.
Cal comprendre com infereix despeses cada servei de cada proveïdor per poder mantenir la despesa a ratlla. Observar dia a dia com evoluciona el consum dels nostres comptes quan hi ha nous desplegamenta i/o s’utilitzen noves tecnologies ens permet entendre millor com afectaran als costos. Realitzar pilots amb comptes de prova per a mesurar el cost real que té un sistema ens pot estalviar ensurts.
Tenir en comptre que qualsevol eina que s’integri amb el nostre proveïdor de cloud, incorrerá en una despesa extra no prevista, també és una bona estratègia defensiva (Sí, plataformes de monitoring que us integreu amb CloudWatch, us miro a vosaltres).
En Teradisk comptem amb un equip de persones acostumbrades a realitzar un seguiment de costos i identificar despeses innecessàries, així com oportunitats d’estalvi. Si us trobeu en vla situació de tenir costos d’AWS fora de control, no dubteu en parlar amb nosaltres.