Optimizați costurile cu mașinile virtuale folosind Azure Spot Virtual Machines

Eduard Plesu

Azure Business Development Manager & Microsoft Certified Trainer

Cloud Computing nu mai este de mult un concept nou. Tot mai multe organizații se orientează către cloud computing pentru a dispune de o mai mare flexibilitate, securitate și posibilități nelimitate de inovare și aducere în piața a proiectelor și produselor noi.

În termeni simpli, cloud computing presupune închirierea de resurse ca servere, storage, networking, baze de date, analitycs etc. de la un cloud provider cum este Microsoft, Google sau Amazon. Aceștia beneficiază de „economies of scale” ce le permite să facă lucrurile mai eficient și la un cost mult redus per unitate deoarce lucreză la o scală mare. Astfel, ei pot transpune acest beneficiu clienților acestora, care ajung să plătească prin cloud computing mult mai puțin decât dacă și-ar cumpăra singuri toate cele necesare infrastructurii IT.

De cele mai multe ori, acești clienți plătesc pe sistem pay-as-you-go (PAYG), în funcție de cât consumă dintr-un anumit serviciu. Pentru a se asigura că pot acoperi capacitatea de resurse cerută de clienții PAYG, cloud providerii își dotează datacenterele cu mult peste necesarul curent de consum. Asta înseamnă că o bună parte a resurselor rămân neutilizate.

Amazon a introdus un sistem prin care clienții pot licita pentru puterea de compute rămasă neutilizată, dar prețul în acest caz poate fluctua foarte mult.

În platforma Azure a fost introdus recent un concept numit Azure Spot Virtual Machines, care îți permite să folosești mașini virtuale cu aceleași funcționalități ca cele standard, dar care îți pot aduce economii de costuri de până la 90% față de prețurile de PAYG, folosind puterea de compute rămasă disponibilă și nefolosită într-o regiune.

Pentru exemplificare, ne uităm în continuare la costurile PAYG ale unei mașini virtuale de tip D2s v4, cu Windows Server Datacenter situată în regiunea West Europe:

Costul PAYG pt. o lună de zile este 127.43 EUR.

Vom compara acest cost cu cel al mașinii virtuale Azure Spot.

Costul cu această mașină virtuală este de 18.06 USD pe lună, ceea ce înseamnă o economie de 88% față de prețul de PAYG al acesteia.

Deși avantajele din punct de vedere costuri sunt mai mult decât evidente, sunt câteva aspecte de care trebuie să ținem cont.

  • Azure Spot instances nu asigura un SLA din punct de vedere disponibilitate. În momentul în care Azure are nevoie să realoce puterea de compute utilizatorilor PAYG, mașina virtuala Azure Spot va fi „evacuată”, cu o notificare cu 30 de secunde în avans, pentru a face loc celor care au nevoie de resurse PAYG.
  • Capacitatea disponibilă poate varia în funcție de dimensiunea VM-ului, regiune, perioada zilei etc. După evacuare veți putea porni VM-ul doar dacă există capacitate de compute disponibilă care să nu fie utilizată de clienții PAYG. Pornirea VM-ului nu se face automat, ci este o operațiune ce rămâne de făcut manual.
  • În momentul creării unei Azure Spot virtual machine aveți posibilitatea să optați între 2 tipuri de evacuare:
  1. Evacuare bazată pe capacitate
  2. Evacuare bazată pe capacitate sau preț maximal

  • Puteți alege și politica de evacuare. Astfel veți seta ce se întâmplă cu mașina virtuală după evacuare. Aceasta poate intra într-o stare de dealocare (stopped), caz în care veți plăti în continuare costurile asociate rulării unui VM (storage, network, etc.) sau ștearsă (deleted), caz în care toate resursele asociate VM-ului (inclusive storage, network, etc.) vor fi șterse și nu veți mai plăti prețuri PAYG pt. ele.
  • În momentul creării VM-ului Azure spot aveți posibilitatea să dați click pe opțiunea „See all sizes” și să vedeți atât costurile cât și un istoric de evacuare, afișat în procente „Eviction rate”.

  • Mașinile virtuale cel mai des utilizate vor avea și gradul de evacuare mai mare și un discount mai mic față de cele utilizate mai rar.
  • Mașinile virtuale Azure Spot nu pot fi convertite în VM-uri standard (regula se aplică și invers). Pentru a trece resursele de pe un VM Spot pe unul standard ar trebui să ștergeți VM-ul spot, după care să creați un nou VM pe baza disk-ului.

  • Azure Spot nu este disponibil pentru mașinile virtuale de tip B sau cele Promo (Dv2, NV, NC, H).

În ce condiții ar fi Azure Spot Virtual Machines benefic de utilizat?

Atunci când aveți workload-uri utilizate în scopuri de dev&test ce nu au nevoie să ruleze 24/7 sau dacă aveți workload-uri ce nu sunt „time sensitive”, dar care au nevoie de o capacitate mare de compute, Azure Spot poate fi o soluție foarte bună care să ducă la economii substanțiale de costuri.

Pentru orice alte întrebări legate de Azure Spot Virtual Machines sau Azure în general, îmi puteți scrie la adresa eduard.plesu@alef.com și voi fi bucuros să lucrăm la proiecte împreună.