En la computació en el núvol és molt important gestionar la disponibilitat i el rendiment de les plataformes, alguna cosa que depèn directament de la càrrega de trànsit que suporten a cada moment. Per poder gestionar bé el rendiment s’utilitzen diferents mètodes com el balanceig de càrrega o l’autoescalat.
AWS autoscaling és una eina que permet assignar sempre els recursos adequats en el moment correcte perquè les aplicacions puguin funcionar de manera adequada. Tot això es forma automàtica, tenint en compte els recursos necessaris a cada moment, gràcies a una política d’escalat predefinida.
Què és l’autoscaling
L’autoscaling o autoescalat s’utilitza en el cloud computing per a ajustar automàticament els recursos segons la càrrega que se suporta a cada moment. A més càrrega de treball, un major nombre de servidors s’activen, si la càrrega disminueix, ocorre el contrari, tot això gestionat de manera automàtica.
Amb AWS autoscaling s’afegeixen o es treuen instances VM d’un grup d’instàncies administrat de manera automàtica segons la variació de càrrega. Perquè aquest ajust automàtic sigui eficient és necessari definir una política d’ajust d’escalat adequada.
Gràcies a l’autoscaling els usuaris poden disposar dels recursos informàtics (memòria, xarxa o capacitat de procés) que necessitin segons ho exigeixin els pics de trànsit o patrons d’ús. Aquest sistema permet complir amb un dels objectius que persegueix la computació en el núvol, que els usuaris només paguin pel que necessitin (aplicacions o infraestructures a les quals acudir quan sigui necessari).
Balanceig de càrrega i autoescalat, és el mateix?
Encara que el concepte és similar, l’autoescalat incrementa o disminueix els recursos (el nombre de servidors en funcionament) depenent de la càrrega de cada moment, mentre que el balanceig de càrrega distribueix de manera òptima les diferents peticions entre els diferents servidors, incrementant el rendiment de les aplicacions.
És habitual utilitzar l’autoescalat al costat del balanceig de càrrega per a optimitzar els costos de la infraestructura i incrementar el nivell d’acompliment.
Com funciona l’autoscaling
L‘autoscaling comença amb una configuració de llançament on es defineixen els recursos informàtics que es necessiten inicialment per a la càrrega de treball que s’espera. Després es defineix una política d’escalat on s’indiquen els valors que permetin al servei escalar fins a una quantitat màxima especificada per a satisfer una demanda.
Seguint aquesta política d’escalat s’activa el procés automàtic d’escalat quan és necessari i es realitza l’ajust corresponent, també indicat en la mateixa política.
Per què és necessària una política d’escalat
Especificar una política d’escalat és fonamental per poder realitzar l’ajust automàtic de recursos de manera òptima. En aquesta política es defineixen els diferents indicadors que han de tenir-se en compte com l’ús de CPU o l’amplada de banda, fixant les mètriques d’escalat i els valors del llindar en el qual s’activa el procés d’escalat.
En una política d’escalat es pot especificar el tipus d’ajust a realitzar com un percentatge de la capacitat actual (si la capacitat actual és 20 i l’ajust és del 20%. L‘autoscaling afegeix 2 a la capacitat per a un total de 22, per exemple): També es pot ajustar utilitzant números absoluts (si la capacitat és 15 i l’ajust és 5, s’afegeixen aquests 5 per a un total de capacitat de 20).
Què és un grup d’autoescalat
En AWS es poden crear grups d’autoescalat que consisteixen a agrupar diverses instàncies que comparteixen característiques similars, tractant-se com un grup lògic a l’hora d’administrar les instàncies. Aquest tipus de grups es creen de forma molt senzilla en consola utilitzant el comando “create auto scaling group” en AWS, i són una forma òptima d’incrementar o disminuir els recursos cloud necessaris en el procés d’autoescalat.
Quins beneficis aporta l’autoescalat
L’autoescalat és fonamental perquè les aplicacions en el núvol lliurin un rendiment òptim i tinguin el nivell d’accessibilitat adequat en diferents condicions.
Els avantatges de l’autoscaling són:
Mantenir sempre nivells òptims de disponibilitat i acompliment
L’autoescalat és fonamental en el cloud computing per a garantir el nivell d’acompliment en tot moment, fins i tot quan les càrregues de treball siguin impredictibles o es modifiquin contínuament.
Aquest sistema realitza un monitoratge continu de les aplicacions per a verificar si estan funcionant d’acord amb els nivells d’acompliment definits, i ajustar els recursos quan la demanda s’incrementa o reduir-los si disminueix.
Accelera els temps
Quan s’activa una alerta sobre la necessitat de més recursos per un excés de càrrega, el sistema d’autoescalat actua de manera immediata realitzant els processos necessaris per incrementar el nombre de servidors actius i els recursos disponibles.
Aquesta reacció automàtica permet reaccionar de manera immediata davant noves demandes sense que es produeixin períodes de sobrecàrrega amb un funcionament lent o no òptim de les aplicacions cloud.
Millora la presa de decisions
Ajustant la política d’escalat es garanteix que el sistema incrementi o disminueixi els recursos de manera òptima quan sigui necessari. No serà necessari realitzar una valoració a cada moment per prendre la decisió d’augmentar o disminuir els recursos, ja que la pròpia política inclou la informació necessària per saber quan actuar i que augment o disminució cal realitzar.
Reducció de costos
Amb l’autoscaling es redueixen els costos de la computació en el núvol en realitzar una gestió òptima dels recursos disponibles. AWS autoscaling permet sol·licitar spot instances amb grans descomptes, facilitant una reducció significativa en els costos de l’ús del seu servei (ja que són instàncies que no estan sent utilitzades i que s’ofereixen a un preu inferior al preu sota demanda).
Quins tipus d’autoscaling existeixen
Existeixen diferents tipus d’autoescalat que es poden utilitzar per a gestionar i controlar el rendiment de les aplicacions i plataformes cloud:
- Nombre d’instàncies fix (Maintain Current Instance Levels). Amb aquest sistema es manté un número mínim o especificat d’instàncies actives al mateix temps. Si alguna deixa de funcionar o no ho fa de manera òptima, és automàticament substituïda per una nova.
- Escalat manual (Manual Scaling). És la forma bàsica d’autoescalat on només és necessari especificar el valor màxim, mínim o òptim a escalar.
- Escalament per data (Scheduled Scaling). S’utilitza quan és necessari incrementar els recursos en un dia i hora específic (per exemple, en el llançament d’un nou producte on s’espera un gran increment del trànsit)
- Escalament dinàmic (Dynamic scaling). Potser és el tipus d’autoescalat més interessant, ja que permet controlar el procés d’escalat mitjançant polítiques.
L’autoscaling és un mètode que permet optimitzar l’ús dels recursos cloud per poder estalviar costos, ser més eficients i oferir major qualitat de servei. Tot això de forma automàtica, incrementant o disminuint els recursos segons la demanda o càrrega de cada moment.