Programmazione in ambito distribuito e Cloud Computing
15/10/2024
yuribacciarini.com
2013
<UniFi>
2017
Startup(s)
2019
</UniFi>
2015
Web developer
2018
FE/BE Developer
2020
DevOps engineer
Telegram group
Condividiamo esperienze e opinioni su cloud e containerizzazione.
Qualcuno ha già provato qualche piattaforma cloud? Quale e per quale scopo?
Queste strane creature di cui tutti parlano
L'orchestratore delle strane creature
La magia nera che salda insieme il lavoro di vari ruoli
Questa "nuova" scienza
Cloud computing is the on-demand delivery of IT resources over the internet, with pay-per-use pricing.
https://www.cloudzero.com/blog/history-of-the-cloud/
Credit: The history of the cloud between 1960 and 2005 – CIIT
https://www.cloudzero.com/blog/history-of-the-cloud/
Credit: The history of the cloud between 2005 and 2020 – CIIT
https://www.cloudzero.com/blog/history-of-the-cloud/
| Role | Competenze verticali |
|---|---|
| Software engineer | Development |
| DevOps engineer | L5-7, sistemista (unix/windows) + developer (scripting) |
| Site reliable engineer | DevOps + focus sulla reliability |
| Network engineer | L0-5, Firewall, routing |
| ML engineer | AI/ML |
| Data engineer | statistics knowledge, analytical skills |
conoscenza cloud distribuita
"programmazione"
Cloud service providers
We all know what followed: 2008, Google Cloud was launched. 2009 Alibaba Cloud. 2010 Microsoft Azure. 2011 IBM Cloud. 2013 Tencent Cloud. 2016 Oracle Cloud.
Elaborazione (Compute)
Archiviazione (Storage)
Rete (Networking)
Database
Analisi (Analytics)
Sicurezza (Security)
Strumenti di gestione (Management Tools)
Integrazione
High availability (HA) solution
| AZ | Availability Zone |
| HA | High availability |
Multi regions solution
Disaster recovery (DR)
Disaster recovery (RPO & RTO)
Disaster recovery (RPO & RTO)
l'RPO si riferisce alla quantità di dati che può essere persa mentre l'RTO riguarda il tempo massimo necessario per ripristinare l'operatività del sistema.
Disaster recovery
La scalabilità si riferisce alla capacità di un sistema di aumentare (scaling up) o ridurre (scaling down) le risorse per gestire un aumento o una diminuzione del carico di lavoro.
Esempio: Aumentare la capacità di un database aumentando la potenza del server (scaling up) o aggiungendo altri server per suddividere i dati (scaling out).
L'elasticità si riferisce alla capacità di un sistema di adattarsi dinamicamente e in tempo reale alle variazioni del carico di lavoro, aumentando o riducendo automaticamente le risorse in base alla domanda.
Esempio: Un sito web di e-commerce che aumenta automaticamente il numero di server durante una campagna promozionale per gestire il traffico aggiuntivo e poi li riduce quando la campagna termina.
Obiettivi
Obiettivi
Obiettivi
In sintesi, la scalabilità è il fondamento per la crescita sostenibile di un sistema, mentre l'elasticità consente una gestione flessibile e immediata delle risorse in base ai cambiamenti istantanei del carico di lavoro.
Il "cloud lock-in" si riferisce a una situazione in cui un cliente diventa dipendente dagli strumenti, dalle tecnologie o dai servizi di un determinato fornitore di servizi cloud, rendendo difficile o costoso passare a un altro fornitore.
Strategie per evitarlo:
Non sempre però è un punto a sfavore.
Risorse di infrastruttura virtualizzate.
Es. affitto di una VM
piattaforme complete per lo sviluppo, il test e la distribuzione di applicazioni
Es. Heroku, Firebase by GCP
distribuzione software in cui le applicazioni sono ospitate nel cloud e accessibili tramite internet.
Es. Google workspace
as a service
eseguire funzioni o microservizi senza gestire l'infrastruttura sottostante.
Es. AWS Lambda, Azure function app
ambiente per gestire e distribuire container.
Es. AWS ECS, Azure
accesso ai dati e servizi di gestione dei dati tramite il cloud.
Es. Google workspace / dropbox
gestione desktop remoti
Es. Amz workspace
as a service
E cloud security
Shared responsibility model
Cloud Security model
.. or hybrid
Modello in cui risorse come server e storage sono fornite da un fornitore terzo (es. AWS, Azure)
Caso d'uso: Hosting di un sito web per una startup
Infrastruttura cloud dedicata a una singola organizzazione, ospitata on-premises o in un data center privato. Offre maggiore controllo e sicurezza, ideale per aziende con requisiti di conformità e gestione di dati sensibili.
Esempi
Combina cloud pubblico e privato, consentendo di mantenere il controllo sui dati sensibili (cloud privato) e di sfruttare la scalabilità del cloud pubblico per gestire picchi di domanda.
Number of executions X (Lambda memory size/1024) X (Lambda duration in milliseconds/1000) = GB-seconds
Cloud native journey
vs cloud journey
Drivers