Lo scorso luglio Amazon Web Services ( AWS ) ha annunciato la nuova famiglia di Istanze EC2: le T2.

Le nuove istanze T2, che mirano a sostituire le precedenti T1, rappresentano la famiglia più economica tra tutte le istanze EC2 utilizzabili. Questa nuova tipologia è stata sviluppata per fornire un livello di performance base ed è in grado offrire delle risorse di computazione extra, chiamati burst, in caso di necessità.

Le istanze T2, rispetto alla famiglia T1, sono in grado di gestire nel tempo più burst computazionali, oltre la soglia base garantita, attraverso il concetto di CPU credit che illustreremo nel seguito del post e che rappresenta la novità di questa famiglia di istanze EC2.

Le istanze T2, oltre che ovviamente per testing, sono ideali per tutti quegli applicativi o servizi che non usano, in modo abbastanza costante, buona parte delle risorse computazionali ma che, occasionalmente, necessitano di gestire picchi di CPU.
Molte applicazioni come web servers, ambienti di sviluppo o piccoli database non richiedono alti livelli di utilizzo della CPU quindi con le T2 beneficiano della possibilità di avere accesso a CPU performanti in brevi momenti di necessità.

Esistono tre tipo di istanze T2 riassunti nella seguente tabella:

Nome vCPU Baseline performance RAM (GB) CPU credtiti / ora Prezzo ora
t2.micro 1 10% 1 6 $ 0,013
t2.small 1 20% 2 12 $ 0,026
t2.medium 2 40% 4 24 $ 0,052

Le istanze T2 sono basate sui più recenti processori Intel Xeon con frequenza di 3.3GHz durante le fasi di burst.

La colonna “baseline performance” indica la % di CPU fisica allocata e garantita ad ogni singola tipologia di istanza T2.

La tabella precedente mostra come, le istanze T2, siano legate all’hardware fisico su cui sono eseguite garantendo ottimi livelli di performance.
Questa famiglia di istanze implementa un modello accurato di gestione delle risorse in modo da permettere agli utilizzatori di ottenere in modo automatico e trasparente, ma comunque prevedibile, delle risorse computazionali aggiuntive qualora ve ne sia la necessità.
Questo è stato reso possibile dall’introduzione del concetto di “CPU Credits” che sono accumulati durante i periodi in cui l’istanza si trova in idle per poi essere consumati nei momenti di burst.

Le T2 possono accumulare crediti in modo continuativo per un giorno, quindi:

  • t2.micro possono ottenere un massimo di 144 CPU crediti ( 6 CPU crediti / ora * 24 h )
  • t2.small possono ottenere un massimo di 288 CPU crediti ( 12 CPU crediti / ora * 24 h )
  • t2.medium possono ottenere un massimo di 576 CPU crediti (24 CPU crediti / ora * 24 h)

Come riassunto anche in tablella, a seconda del tipo di istanza, possono essere accumulati dai 6 ai 24 crediti l’ora.

Per esempio un’istanza t2.micro riceve ogni ora 6 CPU crediti; questi se non vengono usati vengono accumulati nel “CPU Credit Balance” fino ad un massimo di 24 ore come visto in precedenza.

I crediti accumulati vengono automaticamete spesi per garantire percentuali di utilizzo superiori della CPU fisica, qualora ce ne fosse necessità, oltre la soglia garantita nella misura di un credito per un minuto di utilizzo al 100% di una vCPU, o per combinazioni equivalenti (2 minuti di una vCPU al 50%, 4 minuti al 25%, 2 vCPU al 50% per un minuto, …)

Scenari tipici in cui possono essere usate le istanze EC2 possono essere i sistemi aziendali batch nei quali durante il giorno vengono svolte attività basilari mentre, per qualche ora, la notte si ha la necessità di risorse computazionali extra; per esempio se per 10 ore l’istanza t2.micro si trova in stato idle potrete disporre di 60 CPU credit che vi garantiranno un’ora di extra CPU per le attività computazionali di fine giornata.

Un altro caso d’uso interessante in cui le istanze T2 possono essere usate sono le attività di hosting di alcune tipologie di siti Web. Infatti, durante le attività normali del sito possono essere accumulati crediti CPU per poi usufruire di risorse extra nel momento in cui il sito ha maggiori attività di traffico dovuto a visite inattese, azioni di marketing o altro.

E’ possibile monitorare lo stato dei propri crediti tramita le nuove metrica Cloudwatch CPUCreditUsage e CPUCreditBalance che, se combinate insieme, mostrano l’andamento dei crediti usati e quanti ancora disponibili:

zero12_t2_cloudwatch_credit_metrics_aws

Per avviare istanze di tipo T2 si possono usare solamente AMI basate sul sistema di virtualizzazione Hardware-assited Virtual Machine (HVM) per via dell’ovvia necessità di interagire direttamente con l’hardware fisico.

E’ comunque possibile migrare delle istanze EC2 basate su virtualizzazione PV a HVM, un esempio è consultabile da qui:

https://forums.aws.amazon.com/thread.jspa?threadID=155526

Noi vi consigliamo di avviare una nuova istanza T2 e riconfigurare l’intero ambiente invece di eseguire il lungo e complesso processo di migrazione (indicato nel link precedente) che potrebbe non portare ai risultati attesi.

In conclusione le istanze T2 sono un ulteriore tassello del continuo processo che sta portando avanti AWS per garantire sistemi efficienti a costi sempre più bassi!
Le istanze T2 sono adeguate quindi ad aziende che vogliono iniziare ad avvicinarsi al mondo Cloud di AWS mantenendo ridotti i costi (si parte da un prezzo orario di 0,013 $), alle aziende che vogliono prototipare nuovi applicativi o database come i NoSQL (es.: MongoDB) oppure alle aziende che, come abbiamo visto dall’esempio precedente, necessitano di burst di CPU per tempi ridotti.
Le T2 sono ideali anche per tutti quei progetti di startup che inizialmente richiedono basse risorse ma che con l’evoluzione del progetto possono avere necessità di risorse extra per brevi periodi di tempo mentre, per tutte le operazioni che richiedono delle risorse costanti nel tempo, ci sono le altre tipologie di istanze EC2 (M3, C3, R3, …)

Nelle scorse settimane anche il servizio RDS ha beneficiato del supporto alle istanze di tipo T2 come il servizio Elastic Compute Cloud (EC2).

Attualmente per utilizzare le istanze di tipo T2 in RDS è necessaria la creazione di una VPC ed al momento il supporto è solo per i database di tipo MySQL 5.6, PostgreSQL e SQL Server mentre per MySQL versione 5.1 e 5.5 sarà esteso nelle prossime settimane.

Leave a Comment