Cloud principles Flashcards

1
Q

Quali sono i requisiti per un servizio internet moderno? Quali sono le pitfalls del designing?
Quali sono le fasi?

Cos’è un servizio?

Tassonomia di un servizio.

Quali sono le metriche di performance?

Quali sono alcune problematiche per quanto riguarda il computing dei data center?

A

Un servizio internet deve essere:
- Robusti : garantire il continuo funzionamento
- Performanti
- Sicuri: resistere a intrusioni
- Scalabili: indipendentemente dal carico del lavoro
- Economicamente sostenibili
- Avere un infrastruttura
- Usabilità: di facile utilizzo
- In grado di gestire grandi traffici di dati e richieste
- Mantenere i clienti soddisfatti
- Mantenere la reputazione
- Costo: apparentemente gratuito (o abbordabili)
- Infrastruttura: basato su datacenter distribuiti

______
Un ingegnere cloud ha il compito di implementare un sistema scalabile che garantisca continuità, attraverso le fasi:
- deign
- build
- test
- document
- monitor
- fix/update

Dobbiamo evitare colli di bottiglia e single point of failure, sovraccarichi
____

Un servizio è la capacità di un sistema di fornire in modo continuativo una o più risposte in presenza di specifiche richieste al sistema da parte di un utente/cliente.

I concetti più importanti per un servizio è la continuità, la presenza di un contratto, che definisce delle SLA, la reputazione che deve proteggere. Ci possono essere dei contratti, che definiscono SLA ed eventuali penali.
____
Un servizio è governato da policy, espone gli endpoints, implementa dei contratti e manda/riceve messaggi.
___
Throughput e response time. Dobbiamo garantire un certo throughput e tempo di risposta.
___
se soddisfiamo il minimo del workload perdiamo clienti, se soddisfiamo la media perdiamo nei picchi e sprechiamo energia, se soddisfiamo i picchi buoni guadagni ma consumiamo tanto.

Il Design è inaffidabile se non sappiamo quanti client avremo, le richieste, essere vulnerabili a hotspots o burst di richieste, il carico di lavoro potrebbe variare.
____

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quali sono i paradigmi del Cloud computing?

A

Everything as a service.

Abbiamo 2 tipi di paradigmi, servizio e deployment(infrastrutture con caratteristiche)

Faas
Saas (controllo dell’applicazione con controllo admin client-side)
Paas (possiamo controllare l’applicativo e middleware con una programmibilità limitata)
Iaas (Ho controllo totale a livello di OS, ma non di Hypervisor e HW)
On-site
____
Ci sono casi dove uniamo due paradigmi come:

SaaS plaftform extensions(Saas + Paas): API e integrazione con altri servizi

IaaS+ (Paas + Iaas): Application container, dev tools

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quali sono le tipologie di paradigma?

A

Public cloud: Infrastruttura cloud disponibile al pubblico, tipicamente per diversi tipi di servizio

Community Cloud: Infrastruttura gestita da diverse organizzazioni (pubbliche amministraizoni)

Private Cloud: Disponibile per solo un organizzazione, gestito dall’organizzazione o da una serva parte (exclusive cloud)

Hybrid Cloud: Infrastruttura composta da 2 o più clouds, uniti da una tecnologia standarizzata
(Amazon , Google …)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qual’è stata la transizione da legacy a cloud?

A

Nota: possiamo avere più server in ogni caso

  • Vertical silo: 1 server 1 app

Tipico approccio di deployment di
un’applicazione, non e proprio una struttura cloud, ma e
stata la prima implementazione simile. Architettura oneto-one, dove ad ogni server corrisponde un’applicazione.
Si pu`o cercare di consolidare i vari server in un singolo e
creare della macchine virtuali su cui far girare le applicazioni, tuttavia i server rimangono spesso sotto utilizzati.

  • Server consolidation: 1 server 1vm 1 applicazione (utile per il vertical scaling configurando la vm)
  • 1 server 1 VM di management e Vm delle app
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Definizione del cloud computing definendo i suoi obbiettivi

A

Il cloud computing è un modello per l’accesso immediato a un set/pool configurabile risorse di computing condivise e configurabili (rete, server, storage…) che possono essere rapidamente forniti (on demand) e impiegati con il minimo costo di gestione e l’interazione del servizio provider. Cercando di promuovere elasticità e sicurezza.

Dobbiamo rendere le perdite in profitti, quindi utilizzare la potenza computazionale inutilizzata per altri servizi che portano un profitto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Un sistema cloud quali paradigmi adotta?

A
  • Parallelismo su larga scala
  • consistenza lazy, distribuito geograficamente e uso di caching
  • comunicazione asincrona e IPC (Inter process comunication) limitate
  • Logiche diverse da implementare come MVC
  • Replicazione sia verticale che orinzontale
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Se per abbiamo una catena di servizi come evitiamo i bottleneck?

In cosa consiste la legge di Amdhal?

A

Se abbiamo una catena di servizi, dobbiamo garantire che tutti abbiamo lo stesso data rate, altrimenti dobbiamo replicare quelli che hanno data rate minore (il codice deve essere parallelizzabile).
__
La legge di ahmdal misura lo speed in un sistema parallelo
Dato:
- Tp: tempo richiesto per la parte di elaborazione parallela
- Ts: tempo richiesto per la parte di esecuzione sequenziale
- p: Tp/(Ts +Tp)
- Tn: Ts + Tp/n
- n: numero di processori

S = (Ts + TP)/(Ts + Tp/n)

Per n -> inf
S = S/(1-p)

Il miglioramento delle prestazioni di un sistema che si può ottenere parallelizzando una certa parte del sistema è limitato dalla frazione di tempo in cui tale parte è effettivamente utilizzata.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly