2 Il Cloud

Scarica in formato pdf o txt
Scarica in formato pdf o txt
Sei sulla pagina 1di 19

AWS Cloud Practitioner

Il cloud
Cos’è il cloud computing?

Il cloud computing consente di distribuire servizi internet su


richiesta, pagando in base al loro utilizzo.
Cosa si intende per sistema on-premise?

Per “on-premise” si intende la gestione completa, a livello aziendale,


dell’infrastruttura IT (gestione dell’hardware, degli ambienti, dell’alimentazione
elettrica ecc.).

Comporta un grande investimento iniziale e la necessità di dimensionare


preventivamente il sistema, sulla base di stime che potrebbero rivelarsi sbagliate
(sottostimate o sovrastimate).

Comporta dei consistenti investimenti ricorrenti (corrente elettrica, sostituzione


periodica dell’hardware ecc.).
Cosa si intende per sistema ibrido?

Combina elementi del sistema in cloud con elementi on-premise.


Costo totale di possesso

Generalmente noto come Total cost of ownership (TCO), rappresenta il costo per
il possesso di una determinata tecnologia o per un determinato sistema.
Le componenti del costo possono essere:
● Investimenti iniziali (o di mantenimento) meglio noti come Capex
○ Acquisto hardware
○ Spesa per lo sviluppo di un software
● Investimenti operativi e di gestione meglio noti come Opex
○ Costo della corrente elettrica per il funzionamento dei server
○ Costo dell’affitto per il locale che ospita i server
AWS Cloud vs On-premise

Minori Capex

Minori Opex
Che vantaggi offre il cloud sull’on-premise?

● Anzichè fare un grosso investimento iniziale (server) facciamo dei piccoli


investimenti periodici (costi dei servizi cloud)
● Non dobbiamo più mantenere i server (comprarli, aggiornarli, sostituire i
pezzi guasti…)
● Non dobbiamo più indovinare all’inizio la giusta capacità del nostro sistema
● Possiamo beneficiare di economie di scala (offerte dal provider del servizio
in cloud)
● Possiamo aumentare la velocità con cui mandare la nostra
applicazione/prodotto in produzione
● Possiamo scalare il nostro sistema con pochi click (anzichè con l’upgrade
dell’intera server farm on-premise)
Servizi gestiti

I servizi gestiti consentono di poter utilizzare una determinata tecnologia (ad


esempio un database) senza la necessità di installare il software, applicare gli
aggiornamenti e configurare l’intero sistema. AWS offre molti servizi totalmente
gestiti (ad esempio, Amazon RDS consente di avere un DBMS relazionale,
totalmente gestito da AWS).
Applicazioni serverless

Per serverless si intendono delle tecnologie che consentono di eseguire codice


senza la necessità di acquistare o configurare server su cui installarlo.
Virtualizzazione

Un sistema virtualizzato è un applicativo che simula il funzionamento di un intero


sistema hardware.

Una macchina virtuale, generalmente, simula il funzionamento di un sistema


operativo (Windows, Linux ecc.) come se fosse un semplice applicativo.

Abbiamo quindi un sistema operativo primario (Host) che è realmente collegato


all’hardware, su cui vengono eseguite una o più macchine virtuali su cui
funzionano i vari sistemi operativi secondari virtualizzati (Guest).
Hypervisor

È una componente incaricata di dividere le risorse fisiche (hardware) tra le varie


macchine virtuali, rendendo ciascun ambiente virtuale slegato dagli altri (sia in
termini di dipendenze che di sicurezza).
Multitenancy

Grazie ad un Hypervisor avanzato, AWS garantisce la Multitenancy dei propri


sistemi ovvero riesce, su uno stesso sistema hardware, ad offrire ambienti e
servizi virtuali a clienti differenti, garantendo performance e sicurezza elevati.
Multitenancy
Come posso migrare sul cloud?

Le opzioni quando vogliamo portare in cloud un applicativo attualmente


on-premise sono:

● Rehosting (lift and shift)


● Replatforming (lift, tinker and shift)
● Refactoring (re-architecting)
● Repurchasing
● Retaining
● Retiring
Monolite vs Microservizi

Per monolite si intende generalmente una grossa applicazione, generalmente


con una sola base di codice. Ogni piccola modifica richiede l’aggiornamento
dell’intero sistema, dato che tutte le componenti sono strettamente connesse
(tightly coupled).
Per sistema a microservizi si intende un’applicazione composta da tante piccole
parti indipendenti tra loro, ciascuna specifica per una determinata funzione, che
comunicano con dei protocolli di rete (es: HTTP). Le componenti sono quindi
debolmente connesse (loosely coupled).
La modifica di una funzionalità richiede l’aggiornamento del solo microservizio
che la implementa.
Monolite vs Microservizi

AWS generalmente suggerisce di sviluppare applicazioni a microservizi, per una


gestione più snella e dei rilasci di versioni più veloci
Publish/Subscribe

Il modello publish/subscribe è un paradigma di sviluppo in cui un sistema


mittente invia messaggi (o notifiche) a tutti i destinatari che si sono registrati per
ricevere quel particolare tipo di messaggio.

Il componente incaricato di gestire la comunicazione viene generalmente


chiamato broker o dispatcher.

Questo tipo di comunicazione non richiede che il mittente conosca i destinatari a


cui giungerà la notifica, pertanto è molto utile in applicazioni loosely coupled
basate su cloud.
Sistemi di gestione delle code

I sistemi che gestiscono le code di eventi sono alla base di molti sistemi a
microservizi perchè consentono di rendere asincrono l’invio di un messaggio
dalla ricezione.
Sistemi di gestione delle code

Potrebbero piacerti anche