Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

It update microservices #3085 #3380

Open
wants to merge 1 commit into
base: dev-it
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading