Skip to content

Commit

Permalink
Aggiornamento Client server arch., rimosso cos’è aggiunti tag #3085
Browse files Browse the repository at this point in the history
Signed-off-by: Matteo Bisi <[email protected]>
  • Loading branch information
matteobisi committed Jan 6, 2025
1 parent 5dd9d62 commit 083dd5c
Show file tree
Hide file tree
Showing 16 changed files with 32 additions and 31 deletions.
2 changes: 1 addition & 1 deletion content/it/application-programming-interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ Senza un framework condiviso, per le applicazioni è difficile implementare la [

Le API permettono ai programmi o alle applicazioni di interagire e condividere informazioni in modo definito e comprensibile.
Sono gli elementi costitutivi delle moderne applicazioni e forniscono agli sviluppatori un modo per integrarle tra loro.
Ogni volta che si dice che i [microservizi](/it/microservices/) lavorano insieme, si può assumere che interagiscano tramite un'API.
Ogni volta che si dice che i [microservizi](/it/microservices-architecture/) lavorano insieme, si può assumere che interagiscano tramite un'API.
2 changes: 1 addition & 1 deletion content/it/chaos_engineering.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ category: Concetto
Con _Chaos Engineering_ (CE) si intende la disciplina che consiste nel condurre esperimenti su un [sistema distribuito](/it/distributed_systems/) nell'ambiente di produzione, per creare confidenza nella capacità del sistema di tollerare condizioni turbolente e inaspettate.

## Quali problematiche affronta
Le pratiche [SRE](/it/site_reliability_engineering/) e [DevOps](/it/devops/) si concentrano sulle tecniche per aumentare la resilienza e l'[affidabilità](/it/reliability/) dei prodotti digitali. La capacità di un sistema di tollerare i guasti, garantendo al contempo un'adeguata qualità del servizio, è tipicamente un requisito dello sviluppo del software. Sono diversi gli aspetti che possono portare ad anomalie di un'applicazione, come l'infrastruttura, la piattaforma o altre parti dinamiche di un'applicazione basata su ([microservizi](/it/microservices/)). L'elevata frequenza di aggiunta di nuove funzionalità in ambiente di produzione comporta un alto rischio di disservizio e di incidenti critici, con conseguenze considerevoli per l'azienda.
Le pratiche [SRE](/it/site_reliability_engineering/) e [DevOps](/it/devops/) si concentrano sulle tecniche per aumentare la resilienza e l'[affidabilità](/it/reliability/) dei prodotti digitali. La capacità di un sistema di tollerare i guasti, garantendo al contempo un'adeguata qualità del servizio, è tipicamente un requisito dello sviluppo del software. Sono diversi gli aspetti che possono portare ad anomalie di un'applicazione, come l'infrastruttura, la piattaforma o altre parti dinamiche di un'applicazione basata su ([microservizi](/it/microservices-architecture/)). L'elevata frequenza di aggiunta di nuove funzionalità in ambiente di produzione comporta un alto rischio di disservizio e di incidenti critici, con conseguenze considerevoli per l'azienda.

## In che modo aiuta
Il Chaos Engineering è una tecnica per soddisfare i requisiti di resilienza. Viene utilizzata per realizzare la resilienza contro i disservizi di infrastrutture, piattaforme e applicazioni. I Chaos Engineers utilizzano esperimenti di caos per iniettare in modo proattivo errori casuali; quindi verificano che un'applicazione, un'infrastruttura o una piattaforma siano in grado di auto-ripararsi e che l'errore non possa avere un impatto significativo sui clienti. Gli esperimenti di caos mirano a scoprire i punti nascosti (ad esempio, le tecniche di monitoraggio o di [autoscaling]([it/autoscaling/)) e a migliorare le comunicazioni tra i team durante gli incidenti critici. Questo approccio contribuisce ad aumentare notevolmente la resilienza e la confidenza del team ai sistemi complessi, in particolare quello di produzione.
2 changes: 1 addition & 1 deletion content/it/cloud-native-tech.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ category: Concetto

## Cos'è

Le tecnologie _cloud native_, a cui ci si riferisce anche con il termine _cloud native stack_, sono le tecnologie utilizzate per la creazione di [applicazioni _cloud native_](/it/cloud-native-apps/). Consentendo alle organizzazioni di implementare e gestire applicazioni scalabili in contesti moderni e dinamici quali le piattaforme cloud (pubbliche, private o ibride), mantengono la "promessa del cloud" e sfruttano al massimo i benefici del [_cloud computing_](/it/cloud-computing/). Sono progettate da zero con l'intento di impiegare le funzionalità di cloud computing e [container](/it/container/). Il [mesh di servizi](/it/service-mesh/), i [microservizi](/it/microservices/) e le [infrastrutture immutabili](/it/immutable-infrastructure/) sono esempi di questo approccio.
Le tecnologie _cloud native_, a cui ci si riferisce anche con il termine _cloud native stack_, sono le tecnologie utilizzate per la creazione di [applicazioni _cloud native_](/it/cloud-native-apps/). Consentendo alle organizzazioni di implementare e gestire applicazioni scalabili in contesti moderni e dinamici quali le piattaforme cloud (pubbliche, private o ibride), mantengono la "promessa del cloud" e sfruttano al massimo i benefici del [_cloud computing_](/it/cloud-computing/). Sono progettate da zero con l'intento di impiegare le funzionalità di cloud computing e [container](/it/container/). Il [mesh di servizi](/it/service-mesh/), i [microservizi](/it/microservices-architecture/) e le [infrastrutture immutabili](/it/immutable-infrastructure/) sono esempi di questo approccio.

## Quali problematiche affronta

Expand Down
2 changes: 1 addition & 1 deletion content/it/container-orchestration.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ lo strumento di orchestrazione dirige i container come un direttore d'orchestra


## Quali problematiche affronta
Gestire manualmente i [microservizi](/it/microservices), la sicurezza e la comunicazione di rete su larga scala - e i [sistemi distribuiti](/it/distributed-systems) in generale - è difficile, se non impossibile.
Gestire manualmente i [microservizi](/it/microservices-architecture), la sicurezza e la comunicazione di rete su larga scala - e i [sistemi distribuiti](/it/distributed-systems) in generale - è difficile, se non impossibile.
L'orchestrazione dei container consente agli utenti di automatizzare tutte queste attività di gestione.

## In che modo aiuta
Expand Down
2 changes: 1 addition & 1 deletion content/it/distributed-apps.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ category: concetto

## Cos'è

Un'applicazione distribuita è un'applicazione la cui funzionalità è suddivisa in parti più piccole e indipendenti. Le applicazioni distribuite sono generalmente composte da [microservizi](/it/microservices/) che gestiscono diversi aspetti all'interno dell'applicazione più ampia. In un ambiente cloud native i singoli componenti sono tipicamente eseguiti come container all'interno di un [cluster](/it/cluster/).
Un'applicazione distribuita è un'applicazione la cui funzionalità è suddivisa in parti più piccole e indipendenti. Le applicazioni distribuite sono generalmente composte da [microservizi](/it/microservices-architecture/) che gestiscono diversi aspetti all'interno dell'applicazione più ampia. In un ambiente cloud native i singoli componenti sono tipicamente eseguiti come container all'interno di un [cluster](/it/cluster/).

## Quali problematiche affronta

Expand Down
2 changes: 1 addition & 1 deletion content/it/firewall.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ I firewall possono essere hardware, software, o una combinazione di entrambi.

Di default, un network permetterà a chiunque di entrare e uscire finché rispetta le regole di routing del network.
A causa di questo comportamento di default, mettere in sicurezza un network è complesso.
Per esempio, in un'applicazione bancaria basata su [microservizi](/it/microservices/) i servizi comunicano tra loro trasmettendo all'interno del network dati finanziari altamente sensibili.
Per esempio, in un'applicazione bancaria basata su [microservizi](/it/microservices-architecture/) i servizi comunicano tra loro trasmettendo all'interno del network dati finanziari altamente sensibili.
Un malintenzionato può infiltrarsi nel network, intercettare le comunicazioni e creare dei danni, se non c'è un firewall attivo.

## In che modo aiuta
Expand Down
2 changes: 1 addition & 1 deletion content/it/function-as-a-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tags: ["infrastruttura", "", ""]

Function as a Service (FaaS) è un tipo di [servizio](/it/service/) di [cloud computing](/it/cloud-computing/) [serverless](/it/serverless/)
che consente l'esecuzione di codice in risposta agli eventi senza mantenere la complessa infrastruttura
tipicamente associata alla creazione e all'avvio di applicazioni a [microservizi](/it/microservices/).
tipicamente associata alla creazione e all'avvio di applicazioni a [microservizi](/it/microservices-architecture/).
Con FaaS, gli utenti gestiscono solo funzioni e dati mentre il provider cloud gestisce l'applicazione.
Ciò consente agli sviluppatori di ottenere le funzioni di cui hanno bisogno senza pagare per i servizi quando il codice non è in esecuzione.

Expand Down
2 changes: 1 addition & 1 deletion content/it/loosely-coupled-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tags: ["fondamenti", "", ""]
---

Un'architettura loosely coupled (debolmente accoppiata) è uno stile architetturale nel quale i singoli componenti di un'applicazione sono costruiti in modo indipendente l'uno dall'altro (si tratta del paradigma opposto a quello delle [architetture tightly coupled](/it/tightly-coupled-architectures/), cioè strettamente accoppiate).
Ciascun componente, a volte chiamato [microservizio](/it/microservices/), è progettato per eseguire una specifica funzione in modo da poter essere utilizzato da un numero indefinito di altri servizi.
Ciascun componente, a volte chiamato [microservizio](/it/microservices-architecture/), è progettato per eseguire una specifica funzione in modo da poter essere utilizzato da un numero indefinito di altri servizi.
Questo stile architetturale è generalmente più lento da implementare rispetto ad un'architettura tightly coupled ma garantisce molti benefici, specialmente quando le applicazioni vengono scalate.

Le applicazioni loosely coupled permettono ai team di sviluppare e rilasciare funzionalità ed essere scalati in modo indipendente, consentendo così alle organizzazioni di iterare velocemente su singoli componenti.
Expand Down
18 changes: 18 additions & 0 deletions content/it/microservices-architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: Microservizi
status: Completed
tags: ["architettura", "fondamenti", ""]
---


Un'architettura a microservizi è un approccio architetturale che suddivide le applicazioni in singoli [servizi](it/service) indipendenti (microservizi), ognuno dei quali si concentra su una funzionalità specifica. Questi servizi lavorano assieme, apparendo all'utente finale come un'unica entità. Prendiamo Netflix come esempio: la sua interfaccia consente di accedere, cercare e visualizzare un anteprima dei video. Queste funzionalità sono probabilmente gestite da piccoli servizi separati, ognuno dedicato a una funzionalità specifica, come l'autenticazione, la ricerca o l'esecuzione delle anteprime nel browser.
Questo approccio architetturale consente agli sviluppatori di introdurre nuove funzionalità o aggiornare quelle esistenti molto più rapidamente rispetto a un'[applicazione monolitica](it/monolithic-apps), dove tutti i componenti sono strettamente integrati (vedi sotto per ulteriori dettagli).

## Quali problematiche affronta

Le applicazioni sono composte da diverse parti, ciascuna responsabile di una specifica funzionalità. Tornando all'esempio di Netflix: supponiamo che, dopo una grande campagna di marketing, Netflix registri un forte aumento delle iscrizioni, mentre lo streaming rimane più o meno stabile nelle prime ore del giorno. L'aumento delle iscrizioni richiede una maggiore capacità per la gestione degli account. Con un approccio tradizionale (monolitico), l'intera applicazione dovrebbe essere [scalata](it/scalability) per gestire l'aumento della domanda causando un utilizzo delle risorse molto inefficiente.
Le architetture monolitiche possono anche portare gli sviluppatori a cadere in trappole progettuali. Poiché tutto il codice si trova in un unico luogo, è più facile creare un codice [strettamente accoppiato](it/tightly-coupled-architectures/) e più difficile applicare il principio della separazione delle responsabilità. Inoltre, i monoliti spesso richiedono agli sviluppatori di comprendere l'intero codice prima di poter implementare qualsiasi modifica. L'architettura a microservizi nasce come risposta a queste sfide.

## In che modo aiuta

La separazione delle funzionalità in diversi microservizi li rende più facili da distribuire, aggiornare e scalare in modo indipendente. Consente inoltre a team diversi di lavorare contemporaneamente su una piccola parte di un'applicazione più grande senza influenzare negativamente il resto dell'applicazione. Sebbene l'architettura a microservizi risolva molti problemi, introduce anche un sovraccarico operativo: il numero di elementi da distribuire e monitorare aumenta notevolmente. Molte [tecnologie cloud-native](it/cloud-native-tech/) sono progettate proprio per semplificare la distribuzione e la gestione dei microservizi.
17 changes: 0 additions & 17 deletions content/it/microservices.md

This file was deleted.

2 changes: 1 addition & 1 deletion content/it/monolithic-apps.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Un'applicazione monolitica contiene tutte le funzionalità in un programma rilas

## Quali problematiche affronta

Trasformare un'applicazione in [microservizi](/it/microservices/) aumenta gli sforzi operativi, in quanto ci sono più elementi da testare, rilasciare e mantenere in esecuzione. Nelle prime fasi del ciclo di vita di un prodotto può essere vantaggioso rimandare questa complessità e costruire un'applicazione monolitica, fino a quando il prodotto non sarà considerato un successo.
Trasformare un'applicazione in [microservizi](/it/microservices-architecture/) aumenta gli sforzi operativi, in quanto ci sono più elementi da testare, rilasciare e mantenere in esecuzione. Nelle prime fasi del ciclo di vita di un prodotto può essere vantaggioso rimandare questa complessità e costruire un'applicazione monolitica, fino a quando il prodotto non sarà considerato un successo.

## In che modo aiuta

Expand Down
2 changes: 1 addition & 1 deletion content/it/mutual-transport-layer-security.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ che permette la validazione dell'identità di entrambi gli estremi della conness

## Quali problematiche affronta

I [microservizi](/it/microservices/) comunicano tramite una rete e,
I [microservizi](/it/microservices-architecture/) comunicano tramite una rete e,
proprio come in una rete Wi-Fi domestica, le comunicazioni in transito su quella rete possono essere violate.
Il mTLS assicura che nessun soggetto non autorizzato possa mettersi in ascolto o impersonare richieste legittime.

Expand Down
2 changes: 1 addition & 1 deletion content/it/platform-as-a-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Una Platform as a Service, o PaaS, è una piattaforma esterna ai team di svilupp

## Quali problematiche affronta

Per sfruttare i modelli nativi del cloud come i [microservizi](/it/microservices/) o le [applicazioni distribuite](/it/distributed-apps/), i team delle operation e gli sviluppatori devono essere in grado di esternalizzare una quantità significativa di operazioni e lavori di manutenzione. Questi includono attività come il provisioning dell'infrastruttura, la gestione dell'[individuazione dei servizi](/service-discovery/), il bilanciamento del carico e la [scalabilità](/it/scalability/) delle applicazioni.
Per sfruttare i modelli nativi del cloud come i [microservizi](/it/microservices-architecture/) o le [applicazioni distribuite](/it/distributed-apps/), i team delle operation e gli sviluppatori devono essere in grado di esternalizzare una quantità significativa di operazioni e lavori di manutenzione. Questi includono attività come il provisioning dell'infrastruttura, la gestione dell'[individuazione dei servizi](/service-discovery/), il bilanciamento del carico e la [scalabilità](/it/scalability/) delle applicazioni.

## In che modo aiuta

Expand Down
2 changes: 1 addition & 1 deletion content/it/service-mesh.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tags: ["networking", "", ""]

## Cos'è

In un mondo costituito da [microservizi](/it/microservices), le applicazioni sono spacchettate in diversi [servizi](/it/services) che comunicano tra loro attraverso una rete. Proprio come una qualunque rete Wi-Fi, le reti di computer sono intrinsecamente inaffidabili, hackerabili e spesso lente. Le service mesh rispondono a questo nuovo set di sfide gestendo il traffico (cioè la comunicazione) tra i servizi e conferendo in modo uniforme [affidabilità](/it/reliability), [osservabilità](/it/observability) e sicurezza a tutti i servizi.
In un mondo costituito da [microservizi](/it/microservices-architecture), le applicazioni sono spacchettate in diversi [servizi](/it/services) che comunicano tra loro attraverso una rete. Proprio come una qualunque rete Wi-Fi, le reti di computer sono intrinsecamente inaffidabili, hackerabili e spesso lente. Le service mesh rispondono a questo nuovo set di sfide gestendo il traffico (cioè la comunicazione) tra i servizi e conferendo in modo uniforme [affidabilità](/it/reliability), [osservabilità](/it/observability) e sicurezza a tutti i servizi.

## Quali problematiche affronta

Expand Down
2 changes: 1 addition & 1 deletion content/it/service.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ category: Concetto
---


Bisogna notare che nel campo dell’informatica, l’uso della parola “servizio” può avere molteplici significati. In questa sezione, ci concentreremo sulla definizione tradizionale: il servizio come un microservizio. Se i servizi differiscono dai microservizi, possono registrarsi delle sfumature di significato e persone diverse possono avere opinioni diverse a riguardo. Abbiamo deciso che per proporre una spiegazione ad alto livello, li accumuneremo in un'unica definizione. Si prega di fare riferimento alla definizione dei [microservizi](/it/microservices/).
Bisogna notare che nel campo dell’informatica, l’uso della parola “servizio” può avere molteplici significati. In questa sezione, ci concentreremo sulla definizione tradizionale: il servizio come un microservizio. Se i servizi differiscono dai microservizi, possono registrarsi delle sfumature di significato e persone diverse possono avere opinioni diverse a riguardo. Abbiamo deciso che per proporre una spiegazione ad alto livello, li accumuneremo in un'unica definizione. Si prega di fare riferimento alla definizione dei [microservizi](/it/microservices-architecture/).
Loading

0 comments on commit 083dd5c

Please sign in to comment.