Estratto del documento

Cloud e Mobile Computing

Domande orale

● Virtualizzazione: pro e contro

● Rapporto tra cloud computing e virtualizzazione

● Modelli di deployment

● Cos’è Docker

● Concetti principali di Docker

● Union File System (File system e strati di Docker)

● Esempi di cloud pubblico e privato

● NDN

● Caratteristiche del Cloud Computing

● Modelli di scalabilità

● Configurare le Virtual Machine (Approcci?)

● Concetti dell’architettura a microservizi

● Vantaggi dell’approccio a microservizi + Monolith First

● Approccio Monolith First

● Aspetti del 5G più interessanti per un ingegnere informatico

● GPS

● Cos’è il Monolith

● Quali sono i 3 service model

● Virtual Storage

● Cos’è una MANET + IP Routing

● StatefulSet

● Auto Scale di Kubernetes

● Context awareness: cosa si intende e quali sono i principali tipi di contesto visti

● Parlare delle diverse tipologie di allocazione delle informazioni: come può essere

classificata l’informazione sulla posizione, problema approccio centralizzato in cui si

invia la posizione geografica, numero di utenti gestibili da bluetooth e GPS

● Cos’è un deployment in Kubernetes e perché è necessario (differenza tra ReplicaSet

e Deployment)

● Cosa si intende per scalabilità orizzontale e verticale?

● Componenti principali di Kubernetes

● Cos’è l’Opportunistic Networking

● Quali sono le data structure dei dati, ossia come è possibile strutturare le

informazioni

● Quali sono le tecniche di posizionamento principali

● Cosa si intende per Infrastructure as Code: caratteristiche, esempi, obiettivi

● Service in Kubernetes

● Perché uso i Pod e non direttamente i container in Kubernetes

● Cos’è il MEC? (Vantaggio rispetto ad OpenFog)

● Service model nel cloud computing

● Service discovery: cosa si intende per il manage binding e se viene persa una risorsa

o servizio come si può gestire la riqualificazione del binding

● 5G: quali sono le 3 modalità di servizio

● AWS e suoi componenti

● Tipi di mobile computing

● Scopo del cloud controller manager in Kubernetes

● 5G: cosa si intende per MEC e come si rapporta la soluzione 5G/MEC rispetto ad un

edge computing tradizionale, dove posizionare dispositivi di edge computing,

soluzioni 5G e edge computing sono contrapposte o complementari

● Legge di Conway quando si parla di microservizi

● Elm e Operator in Kubernetes

● OpenFog e tecnologie simili viste, eventuali modi di gestire le disconnessioni dei

dispositivi, perché c’è la necessità di realizzare il consortium OpenFog e qual è il suo

scopo

● GPS: problemi, come risolvere problema del clock

● Scene analysis

● Differenza tra realizzare un'applicazione con Docker-compose e al di sopra di

Kubernetes

● Cosa sono i Pod, Services e Deployment in Kubernetes

Introduzione al Mobile Computing (1): Storia,

caratteristiche, data center, perché è utile per le

aziende

Con Cloud Computing si indica la possibilità di utilizzare applicazioni e dati che non

risiedono su una macchina locale, ma vengono usufruiti attraverso un utilizzo remoto,

tramite la rete Internet. Un dispositivo serve solo per accedere ai servizi, che sono invece

installati su server remoti.

Storia:

● Mainframe: pochi elaboratori per esigenze di molti utenti, molto costosi, grandi

dimensioni, elevate prestazioni

● PC: elaboratore personale, costi ridotti, dimensioni ridotte

● Cloud: centralizzazione delle risorse di computazione e storage, ma in outsourcing.

Nel Cloud le risorse sono centralizzate in un unico data center, usato da più utenti in

contemporanea: non si ha un unico elaboratore e le risorse cloud non sono di

proprietà dell’azienda o del singolo utente.

Data Center

I Data Center sono una infrastruttura per offrire quantità di risorse per il Cloud Computing,

anche se i principi del Cloud Computing possono essere applicati anche in contesti in scala

più piccola, come un singolo server.

Problemi dei Data Center:

● Consumo di decine di Megawatt

● Problemi di fornitura energetica, di raffreddamento, etc.

● Estremamente costosi (milioni o miliardi di dollari)

Cloud Computing e Data Center: vantaggi del modello in generale

● Economie di scala: i data center riducono drasticamente il costo per server. Inoltre,

l’aggregazione della domanda di molti utenti permette di aumentare moltissimo

l’utilizzo delle risorse

● Costi: in caso di server privato comporta costi iniziali, configurazione del sistema

operativo, rischio d’investimento. Acquistare risorse tramite un cloud provider

permette di avere un costo basso (si affittano le risorse), nessun bisogno di

configurazioni, basso rischio, maggiore flessibilità. Questo concetto è riassunto in

“from CapEx to OpEx”, ossia “from Capital Expense (costo immediato) to Operational

Expense (affittare risorse in base alla necessità)”

● Flessibilità: l’infrastruttura si può estendere facilmente al crescere del business

● Si può accedere da qualunque dispositivo

● Disponibilità: con più server si ha una maggiore fault tollerance

● Integrazione e cooperazione applicativa: i middleware di cloud computing

seguono standard SOA o ReST fornendo API

● Efficienza: la virtualizzazione consente l’overbooking delle risorse fisiche, ossia

sapendo che difficilmente gli utenti useranno il 100% delle risorse che hanno

richiesto, i cloud provider affittano più risorse di quelle che fisicamente hanno a

disposizione.

Cloud Computing e Data Center: svantaggi

● Rete determinante per performance, disponibilità e costi di connessione

● Controllo: non si ha una gestione dell’infrastruttura

● Security: si demanda ad altri la gestione della sicurezza

● Privacy: i dati personali risiedono sul cloud, ci sono diverse normative a riguardo

Dal Cloud Computing all’Utility Computing

L’Utility Computing si basa sulla possibilità di ottenere risorse di computazione secondo

necessità (as needed), con i costi che dipendono dalla quantità di risorse effettivamente

utilizzate.

Caratteristiche:

● Pay-per-use

● Elastic capacity: possibilità di aumentare e diminuire le risorse in base alla

necessità

● Illusione di avere risorse infinite

● Risorse accedute tramite un’interfaccia self-service: è possibile aggiungere risorse

attraverso l’interfaccia del provider

Cloud Computing per le aziende

Alcuni esempi di un utilizzo del cloud computing in ambito enterprise sono i seguenti:

● Cloud ibrido: possibilità di avere un cloud pubblico (come Amazon) affiancato al

proprio data-center all’interno dell’azienda. Il cloud pubblico fornisce flessibilità,

mentre il cloud privato è usato per mantenere i dati dei clienti.

● Load balancing: si usa un cloud privato per soddisfare le richieste dei clienti e in

caso di picco di richieste si usano le risorse del cloud provider

● Piattaforme di test e development: il cloud può essere usato come una piattaforma

di test, tramite virtual machine (VM) per testare nuovi servizi e applicazioni

● Disaster recovery: si fa backup su infrastrutture di terze parti

● Cloud file storage: cloud usato per depositare grandi quantità di dati, come se fosse

un dispositivo esterno

Introduzione al Cloud Computing (2): Attori,

caratteristiche, elementi, modelli, esempi concreti,

evoluzioni

Definizione di Cloud Computing del NIST: è un modello per abilitare un accesso ubiquo

(accessibile a tutti), conveniente, on-demand ad un pool condiviso (permette di accedere a

risorse tramite la rete, di risorse configurabili di computing(con repliche per ogni risorsa) che

possono essere rapidamente provvisti e rilasciati con una gestione minimale tramite

interazione con il provider.

Cloud Computing: attori principali

● Cloud provider: è l’azienda che offre servizi e applicazioni complete, generalmente

con un modello pay-per-use

● Cliente amministratore: seleziona e configura i servizi offerti dal provider, fornendo

tipicamente un valore aggiunto. È l’attore intermedio tra il provider e l’utente finale: è

un cliente del cloud provider ed è un fornitore dal punto di vista dell’utente finale.

Sfrutta le risorse offerte dal provider per andare a realizzare un servizio a valore

aggiunto e fornisce il servizio all’utente finale. Sono solitamente delle aziende che

sfruttano una virtual machine per realizzare un’applicazione e rivende il servizio agli

utenti finali (es. Netflix).

● Utente finale: utilizza i servizi opportunamente configurati e/o sviluppati dal cliente

amministratore.

5 caratteristiche del Cloud Computing

1. Accesso alle risorse tramite broad network: il cloud promuove un accesso alle

risorse remote tramite canali di comunicazione a banda larga e tramite dispositivi

eterogenei. Le risorse sono disponibili attraverso la rete, il deployment dei servizi

avviene lato cloud e i dispositivi da cui si accede ai servizi sono detti “thin”, ossia visti

come terminali per accedere ai servizi remoti ad esempio tramite web browser.

2. Rapida elasticità: capacità di espandere e ridurre molto velocemente le risorse

utilizzate; si può far crescere le risorse se il servizio ha successo oppure ridurre l’uso.

3. Servizi misurabili: le risorse che si utilizzano devono essere monitorate, misurate e

quantificate. Il cloud provider deve capire quanto si stanno utilizzando le risorse: è

facile calcolare lo spazio su disco, è più difficile calcolare i costi da sostenere per

ricavare informazioni ad esempio sulla CPU occupata, perché è una grana troppo

fine. È più semplice realizzare una virtual machine con una certa capacità

computazionale, con il consumo di CPU che viene calcolato in base a quanto tempo

le virtual machine rimangono attive: questa è comunque una misurazione non

perfetta, che stima il consumo di CPU. Quindi si può decidere di non far pagare

l’utente in base alla CPU utilizzata, ma in base a quanto la VM è attiva.

4. Gestione delle risorse in modalità on-demand e self-service: l’utente

amministratore deve essere in grado di richiedere più risorse o rilasciarle in modo

semplice, ad es. tramite interfaccia web per la gestione delle virtual machine.

5. Pooling di risorse: le risorse di computazione sono accedute in concorrenza per

servire gli utenti tramite un modello multi-tenant. Gli utenti sono divisi in

organizzazioni e ciascuna organizzazione (tenant) accede alle proprie VM come se

quelle fossero le uniche risorse disponibili in quel data center, senza avere la

sensazione che tanti utenti stanno utilizzando le stesse risorse nello stesso tempo.

C’è un grado di indipendenza di locazione: fino ad un certo livello non si è in grado di

percepire dove si trovano le risorse o la virtual machine, ossia due VM con latenze

simili anche se risiedono in stati diversi. Si ha indipendenza fino ad un certo punto:

se si chiede che i dati rimangano dentro l’area europea allora devono risiedere in

data center in Europa.

1.

3 Cloud Service Models

Si hanno diversi modelli di servizio, che cambiano in base a quale livello di astrazione ci si

trova.

1. Infrastructure-as-a-Service (IaaS): il servizio offerto è un sistema di elaborazione

completo, disponibile via internet e realizzato tramite una macchina virtuale (es.

Amazon EC2). È l’utente che aggiorna il sistema operativo, gli ambienti di sviluppo, i

database, etc. La parte dell’infrastruttura rimane gestita dal provider.

2. Platform-as-a-Service (PaaS): fornisce ad un ambiente di sviluppo o di deployment

(es. Google App Engine, Salesforce.com, Elastic BeanStalk). Ad esempio, si può

ricevere un ambiente PHP e un database preinstallato a cui ci si collega per

effettuare il deployment dell’applicazione.

3. Software-as-a-Service(SaaS): il servizio offerto è un’applicazione finale accessibile

tramite la rete (Es. Google Docs). L’utente accede al servizio, senza essere a

conoscenza delle strategie di backup, configurazione e load balancing

dell’applicazione.

Esempio di PaaS: Serverless Computing

È una funzionalità fornita agli sviluppatori per eseguire applicazioni senza gestire server: il

provisioning, la scalabilità e la manutenzione sono garantite dal cloud provider.

Le funzioni serverless non costano nulla quando non vengono utilizzate: gli sviluppatori

effettuano il deployment dell’applicazione e si demanda al service provider qualsiasi aspetto

legato alla disponibilità e scalabilità dell’applicazione, ossia è il cloud provider che

automaticamente aggiunge server per gestire la scalabilità.

Il problema di questo aspetto è che ci si potrebbe non accorgersi che l’applicazione è usata

più del previsto, pagando quindi più di quanto previsto.

4 Modelli di Cloud Deployment

1. Cloud pubblico: la disponibilità di risorse di computazione e di storage sono offerte

da un provider che utilizza i propri data center per fornire questi servizi agli utenti. Le

risorse sono di proprietà di un’organizzazione che le vende ad altre organizzazione.

Problemi/limiti: connessione di rete, controllo infrastruttura, privacy dei dati.

2. Cloud privato: il cloud computing viene applicato ad un ambiente privato. Permette

di mettere a fattor comune tutte le risorse di computazione e memorizzazione per

creare un cloud privato all’interno dell’azienda che permetta un deployment dei

servizi in modo semplice (Es. OpenStack). Problemi/limiti: costi, manutenzione,

scalabilità tutte a carico dell’azienda.

3. Community Cloud: è un cloud con un mix delle caratteristiche del cloud privato e

del cloud pubblico. È poco usato.

4. Cloud ibrido: è dato dall’unione di più cloud (privato, pubblico o community) che

rimangono comunque entità uniche. Un’azienda può utilizzare un cloud privato al suo

interno in modo congiunto ad un public cloud: privato per dati sensibili e pubblico per

dati di grandi dimensioni, privato per fornire servizi ai clienti e pubblico per

demandare picchi di richieste, privato per deployment applicazioni finali e pubblico

per test.

Il cloud pubblico e privato è attrattivo per business piccoli.

Cloud Computing: principali provider (livello IaaS)

● AWS

● Microsoft Azure

● Google Cloud

● Salesforce

AWS (Amazon Web Services)

AWS è la soluzione IaaS di Amazon.

Servizi offerti:

● EC2 (Elastic Compute Cloud): permette di noleggiare, in modello pay-per-use,

server privati virtuali, con la possibilità di attivarli e disattivarli a piacimento

● S3 (Simple Storage Service): fornisce uno storage di dati, accessibile tramite Web

● SimpleDB: permette agli sviluppatori di effettuare query su dati strutturati e si integra

con EC2 e S3 per fornire le funzioni di base di un database.

● CloudFront: è un Content Delivery Network (CDN) per la distribuzione di oggetti

salvati in S3 in server geograficamente vicini al richiedente

AWS Lambda (Serverless Computing)

Permette di non gestire alcun server: si fornisce ad Amazon il codice che deve essere

eseguito ogni volta che è necessario (ad es. ad ogni richiesta di un utente bisogna fare

un’autenticazione), gestendo la scalabilità dell’esecuzione di questo codice.

Con AWS Lambda si hanno tutti i vantaggi del Serverless Computing: si esegue il codice

senza dover effettuare il provisioning e senza gestire i server.

Microsoft Azure

E’ la soluzione cloud computing di Microsoft.

Per il computing fornisce:

● Virtual machines (IaaS con Windows o Linux)

● App services (PaaS per sviluppare siti web)

Per lo storage fornisce:

● SQL (database relazionali in modalità Saas)

● Table (testo strutturato mantenuto in collezioni partizionate)

● Blob (testo non strutturato e dati binary)

OpenStack

E’ un collezione di servizi (framework) che insieme forniscono la capacità di creare delle

soluzioni di IaaS.

Permette di gestire grandi insiemi di risorse fisiche e realizzare pool di virtual machine.

Vedi blocco di slide su OpenStack per approfondimenti.

Evoluzioni del modello Cloud Computing

Il cloud computing sta evolvendo verso Edge Computing e Fog Computing: si basano su

spostare la capacità computazionale più vicino agli utilizzatori, riducendo la latenza e l’uso di

banda, migliorando le performance e la velocità.

Edge Computing

Si trasferisce l’analisi dei dati il più vicino possibile alla sorgente, senza la necessità di

doverli trasferire in cloud per il processamento.

Si implementa installando elevate capacità di computazione e di storage vicino all’utente

finale.

Se la distanza tra gli utenti finali e il Cloud Data-Center è elevata si può avere una latenza di

decine o centinaia di millisecondi.

Ecosistema Edge-Cloud (layers)

1. Utenti e sensori (compresi i client finali)

2. Dispositivi gateway/edge

3. Infrastruttura perimetrale: offre un punto medio tra rete locale e Cloud

a. rispetto a Edge: capacità di elaborazione e archiviazione dei dati molto

maggiore

b. rispetto a Cloud: latenza estremamente bassa

4. Cloud centralizzato: luogo principale per l’archiviazione, analisi e elaborazione dei

dati su larga scala.

Vantaggi dell’Edge Computing

● Tempo di risposta e analisi real-time più veloci: riduzione della latenza per

l’accesso ai servizi

● Operazioni affidabili con connessione intermittente

● Sicurezza

● Vantaggio economico: si effettua pre-processing sull’edge, quindi si trasferisce una

quantità di dati molt

Anteprima
Vedrai una selezione di 17 pagine su 77
Cloud e Mobile Computing - Appunti completi del corso Pag. 1 Cloud e Mobile Computing - Appunti completi del corso Pag. 2
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 6
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 11
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 16
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 21
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 26
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 31
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 36
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 41
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 46
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 51
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 56
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 61
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 66
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 71
Anteprima di 17 pagg. su 77.
Scarica il documento per vederlo tutto.
Cloud e Mobile Computing - Appunti completi del corso Pag. 76
1 su 77
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher elefante1234 di informazioni apprese con la frequenza delle lezioni di Cloud e mobile 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à degli Studi di Ferrara o del prof Tortonesi Mauro.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community