Anteprima
Vedrai una selezione di 6 pagine su 24
Architetture dei Calcolatori e Cloud Computing - 2/2 Pag. 1 Architetture dei Calcolatori e Cloud Computing - 2/2 Pag. 2
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Architetture dei Calcolatori e Cloud Computing - 2/2 Pag. 6
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Architetture dei Calcolatori e Cloud Computing - 2/2 Pag. 11
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Architetture dei Calcolatori e Cloud Computing - 2/2 Pag. 16
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Architetture dei Calcolatori e Cloud Computing - 2/2 Pag. 21
1 su 24
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

NAT

I container possono:

- condividere lo stesso IP che appartiene all’host

- Ricevere un nuovo IP ciascuno 7 of 16

fi fi fi fi fi fi fi fi fi fi fi fi fi fi fi fi ffi fi

Oppure usare address translation, che permette a più computer di condividere lo stesso IP. Con i

Container inizia l’esecuzione,

container, il NAT software viene eseguito nel SO host. richiede

NAT software risponde assegnandogliene uno da un set riservato e privato di

indirizzo IP, il

indirizzi IP che non possono essere usati sull’internet. intercetta tutti i pacchetti

NAT

uscenti, e rimpiazza i singoli IP con l’IP dell’host OS., poi invia il pacchetto.

Quando arriva una risposta, NAT rimpiazza l’indirizzo host con l’indirizzo privato assegnato al

container, e inoltra la risposta a quel container.

Permette a più container di condividere un IP, allo stesso modo in cui un hotspot o wi permette

di farlo tra più dispositivi connessi.

Automated network con guration and operation

Con gurare e cientemente migliaia di switch e interconnessioni.

- Spanning tree protocol: data center fanno il broadcast di un pacchetto

- Standard routing protocols: Open shortest path rst, software de ned networking (speci ca

high level policies)

Virtual storage - 8

Un disco fornisce un’interfaccia basata sui blocchi, l’hardware può recuperare o salvare blocchi di

dati di dimensione ssa.

Modulo del SO chiamato le system che serve agli utenti e applicazioni per interrogarlo per

andare a creare o manipolare le (open, Close, read, write, seek).

Due tipi di sistemi di Storage remoto

- byte oriented remote le access: equipaggiare un server con un disco dove viene eseguito un

SO con un le system. Usare dei software in ciascun workstation per manipolare i le. Il SO

utente invia una richiesta al server che esegue operazioni sui le.

Uno dei primi sistemi per accessi al le system da remoto era NFS network le system,

diventato uno standard di rete. NFS integra i le remoti nello Storage locale utente, cioè alcune

cartelle locali corrispondono a quelle nel le system remoto.

- Block oriented remote disk access: diskless workstation, non hanno uno storage locale.

NAS

Network access workstation.

- host-based : ogni computer con un server software può diventarlo. È un computer con network

access, direttamente collegato con uno Storage locale e un software che gestisce le richieste

che arrivano dalla rete.

- Server-based : usano hardware server ad alta velocità, migliora l’host based.

NAS, l’hardware e software sono ottimizzati per alte performance, forniscono un le Storage

system scalabile remoto adatto ai data center.

Per migliorare la durabilità si può usare parallelismo e ridondanza -> RAID

Vantaggio: l’e ettivo le system risiede nel server NAS, quindi solo i le di dati passano nella rete,

il server mantiene i metadati (es: directories e inode)

Svantaggi: ogni OS de nisce un proprio tipo di le system, ogni NAS è naturalmente legato a un

particolare SO. L’utente quindi può usare solo SO che sono compatibili con NAS le system.

SAN

Vantaggi: lavora con qualunque SO. Integer per identi care i blocchi fa si che il mapping tra i

blocchi del client su un blocco del disco locale diventi molto e ciente.

Virtual disks

Mappa come usare i singoli blocchi di memoria da assegnare. Blocchi allocati a un’entità possono

anche essere su un singolo dico di un server o distribuiti su più server. 8 of 16

fi fi ffi

ff fi fi fi fi fi fi fi fi fi fi fi fi fi fi ffi fi fi fi fi fi fi fi fi

Automation - 9

Bisogno di automazione in un data center

- extreme scale. : un provider deve accogliere migliaia di utenti, alcuni individui, altri Enterprise,

che a loro volta possono rilasciare migliaia i container o VM

- Diverse services : un cloud data center provider fa scegliere i software e servizi da eseguire.

Run di migliaia di servizi di erenti allo stesso momento

- Constant change. : un provider deve gestire dinamicamente richieste di cambiamenti, con un

tempo di risposta pari al carico della modi ca. (Caso estremo: un nuovo tenant, vanno migrati

tutti i suoi dati)

- Human error. : molti problemi hanno questa causa

Es: deploy di una VM:

1. Scegliere un server dove eseguirla

2. Con gura hypervisor sul server per eseguire le VM

3. Assegna IP alla VM

4. Con gura network per inoltrare pacchetti alla VM (es: VXLAN)

5. Scegli un remote disk server e alloca Storage per la VM

6. Con gura hypervisor per inviare richieste dalla Vm allo Storage del server

Questo può essere automatizzato.

Cosa può essere automatizzato:

- creazione e rilascio di risorse virtuali

- Workload

- Ottimizzazioni

- Safety and recovery

- Software update and upgrade

Livelli di automazione

0. No automation

1. Preparazione e con gurazione

2. Monitoring e misurazioni

3. Analisi e trend Prediction

4. Identi cazoni di cause alla radice

5. Risoluzioni di problemi

Livello 3 e superiori possono usare ML. -> Alops Arti cial intelligence operations

Kubernetes tools per gestire rilasci di containerized software, controllare

: forniscono per

comunicazioni di rete tra containers. Assegnano di default un IP ad ogni gruppo di

container, Pod.

chiamato Permette a gruppi di container di comunicare ed eseguire microservizi,

anche se il container sta su più server.

Docker : usa un approccio con un layer virtuale che fa da bridge per le comunicazioni tra

container.

Orchestration, automated replication and parallelism - 10

Containers:

- rapid creation : I container hanno molto meno overhead e quindi ci vuole meno tempo per

crearli rispetto alle VM

- Short lifetime : una Vm rimane semi permanente una volta creata, un container è e mero. Un

container assomiglia a un processo: è creato quando serve, esegue un Application task e poi

esce. 9 of 16

fi

fi

fi fi fi ff fi fi ffi

- Replication : quando aumenta la richiesta per un servizio, più container per quel servizio

vengono creati ed eseguiti simultaneamente. Al contrario quando avviene una minor richiesta, i

container vengono terminati.

Orchestration ->. Sistema automatico che coordina sotto sistemi: con gura, rilascia, opera,

monitoraggio.

Orchestration

- scaling dinamico dei servizi : fa partire più copie di un container in esecuzione e controlla la

richiesta. Quando questa cresce incrementa le copie simultanee, quando decresce termina

quelle inutilizzate

- Coordinazione tra più server : rilascia copie di container su più server sici -> load balancing

- Resilience and automatic recovery : può fare il restart di container che hanno problemi

Container Orchestration System

Kubernetes (K8s) è un esempio di

Kubernetes

Gestiscono molti aspetti dei servizi in esecuzione.

- service naming and discovery : permette a un servizio di essere acceduto (da applicazioni)

attraverso un dominio e un IP (con gurati per essere globali, accedibili da app esterne al data

center)

- Load balancing : servizio non limitato un solo server sico, ma con elevato tra co, più copie

del container per un determinato servizio sono distribuite

- Storage orchestration

- Optimized container placement : quando si crea un servizio, vengono speci cati gruppi

nodi)

(cluster) di server (chiamati che Kubernetes può usare per eseguire container per quel

servizio.

- Automated recovery : Kubernetes automaticamente rimpiazza container che hanno errori e

non sono pronti per eseguire un servizio

- Automated rollouts and rollbacks : permette di fare il roll out di nuove versioni di un servizio

con una frequenza speci cata. Utente crea nuova versione dell’immagine del container e

chiede a Kubernetes di andare a rimpiazzare i container in esecuzione con la nuova versione.

Permette ai nuovi container di ereditare risorse dei vecchi container.

Kubernetes cluster model

Conceptual mode, chiari ca lo scopo complessivo del sistema Kubernetes.

Cluster: insieme di containers

descrive un con il software usato per creare, operare e accedervi.

Può aumentare o diminuire il numero dei container in base alle necessità.

Due tipi di Software nel container: proprietario

invocato dal per creare e operare container,

dall’utente

invocato per ottenere accesso al container.

Utenti accedono ai singoli container nel cluster, il proprietario usa il software per creare e operare

il cluster.

Kubernetes Pods

Paradigma microservizi: suddividere l’app in più pezzi autonomi eseguiti ciascuno in un

container, essi sono progettati per lavorare insieme (strettamente accoppiati) comunicando

attraverso la rete.

Pod la più piccola unità di

: si riferisce a un’applicazione, costituito da uno o più container. È

lavoro che può essere rilasciata da Kubernetes. Quando rilasciato, kubernets assegna tutti i

container nel pod nello stesso nodo.

Assegna un IP ad ogni Pod in esecuzione, ogni container nel pod condivide lo stesso indirizzo.

La comunicazione tra containers nel pod avviene con comunicazione di interfaccia di rete

localhost, come se fossero processi eseguiti nello stesso computer.

Kubernetes : nodes and control plane

Quando il proprietario crea un cluster speci ca quali nodi possono eseguirlo, e Kubernets

distribuisce i container nel cluster su questi nodi. 10 of 16

fi

fi fi fi fi fi fi fi ffi

Control plane : componenti software usati per creare ed operare containers

Master node : nodo dove viene eseguito il control plane

Kbernetes features

- replicas : il proprietario può speci care quante repliche di un pod possono esserci, per

controllare la scalabilità di un’applicazione

MapReduce Paradigm - 11

Cloud native vs conventional software

Bene ci cloud native:

- Migliore sicurezza

- Ridotti difetti software

- Migliori performance

- Aumento di scalabilità

- Maggiore a dabilità

Uso di data center servers per parallel processing

Usare parallelismo per risolvere problemi singoli:

- Partitioning: suddivisione di un problema in sotto problemi gestibili separatamente

- Parallel computation: processori lavorano simultaneamente a diverse parti del problema,

essendoci migliaia di processori, il tempo di esecuzione si riduce drasticamente

- Combination of results

Limiti:

- Alcuni problemi possono non essere facilmente divisi

- Un eccesso di granularità del problema diventa inutile

- Maggiore costo di risorse

- Competizione su database

- Overhead nella comunicazione

MapReduce paradigm

Rimpiazza lo step di combinazione dei risultati con un insieme di processori in parallelo, ognuno

che combina 1 k-esimo dei risultati.

Map: esecuzione della computazione nel primo set di processori

Shu e: redistribuzione dei dati in un secondo set di processori<

Dettagli
Publisher
A.A. 2023-2024
24 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher massimm di informazioni apprese con la frequenza delle lezioni di Architetture dei calcolatori e cloud computing e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università Politecnica delle Marche - Ancona o del prof Galdelli Alessandro.