From ceb955eecc7c1752a74a65cc893f1cc58f338ee0 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Sat, 5 Feb 2022 17:20:38 +0000 Subject: [PATCH 001/219] New branch and translation for term/service --- content/it/service.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 content/it/service.md diff --git a/content/it/service.md b/content/it/service.md new file mode 100644 index 0000000000..cd41c36317 --- /dev/null +++ b/content/it/service.md @@ -0,0 +1,8 @@ +--- +title: Servizio +status: Completed +category: Concept +--- + + +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 se fosse un microservizio. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere diverse opinioni a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. Si prega di fare riferimento alla definizione dei [microservizi](URL dei microservizi). From f52ad233436dc466d3107033380c93daa4f34d26 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Sat, 5 Feb 2022 17:35:15 +0000 Subject: [PATCH 002/219] Updated status --- content/it/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/service.md b/content/it/service.md index cd41c36317..e7120339d9 100644 --- a/content/it/service.md +++ b/content/it/service.md @@ -1,6 +1,6 @@ --- title: Servizio -status: Completed +status: Not completed category: Concept --- From b215d7bad0930bb2c4550cb05caa5c4699fdf9d2 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Sun, 20 Feb 2022 11:45:32 +0000 Subject: [PATCH 003/219] updated status --- content/it/service.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/it/service.md b/content/it/service.md index e7120339d9..ff68ebd8af 100644 --- a/content/it/service.md +++ b/content/it/service.md @@ -1,8 +1,8 @@ --- title: Servizio -status: Not completed +status: Feedback Appreciated category: Concept --- -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 se fosse un microservizio. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere diverse opinioni a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. Si prega di fare riferimento alla definizione dei [microservizi](URL dei microservizi). +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. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere opinioni diverse a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. Si prega di fare riferimento alla definizione dei [microservizi](URL dei microservizi). From 55cfdb4bfa13575bd7769a38c51ec84603ca9793 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Sun, 20 Feb 2022 12:39:21 +0000 Subject: [PATCH 004/219] traduzione del termine VM --- content/it/virtual-machine.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 content/it/virtual-machine.md diff --git a/content/it/virtual-machine.md b/content/it/virtual-machine.md new file mode 100644 index 0000000000..6eb66d2cd9 --- /dev/null +++ b/content/it/virtual-machine.md @@ -0,0 +1,15 @@ +--- +title: Macchina virtuale (VM) +status: Feedback Appreciated +category: Technology +--- + +## Che cos’è +Una macchina virtuale (VM) è un computer e il suo sistema operativo che non è legato a un particolare componente hardware. Le macchine virtuali si basano sulla virtualizzazione "(link dependency del termine virtualizzazione)" per suddividere un singolo computer fisico in più computer virtuali. Questa separazione consente alle organizzazioni e ai fornitori di infrastrutture di creare e distruggere VM senza influire sull'hardware sottostante. + +## Quale problema affronta +Le macchine virtuali sfruttano la virtualizzazione. Quando una macchina di metallo (bare metal) (link traduzione della bare metal machine) è vincolata a un singolo sistema operativo (OS), il modo in cui le risorse della macchina possono essere utilizzate è alquanto limitato. Inoltre, quando un sistema operativo è legato a una singola macchina fisica, la sua disponibilità è direttamente legata a quell'hardware. Se la macchina fisica è offline a causa di manutenzione o guasti hardware, lo è anche il sistema operativo. + +## In che modo aiuta +Rimuovendo la relazione diretta tra un sistema operativo e una singola macchina fisica, si risolvono diversi problemi delle macchine bare metal: tempo di approvigionamento (provisioning), utilizzo dell'hardware e resilienza. +I tempi di provisioning per un nuovo computer vengono notevolmente migliorati, senza l'acquisto, l'installazione o la configurazione di nuovo hardware per supportarlo. Le macchine virtuali consentono di utilizzare meglio le risorse hardware fisiche esistenti posizionando più macchine virtuali su una singola macchina fisica. Non vincolate a una macchina fisica particolare, le macchine virtuali sono anche più resilienti delle macchine fisiche. Quando una macchina fisica deve andare offline, le macchine virtuali in esecuzione su di essa possono essere spostate su un'altra macchina con tempi di inattività minimi o nulli From 407a591947e0e244b8119a7872764aaa4a2deba5 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Sun, 20 Feb 2022 14:08:16 +0000 Subject: [PATCH 005/219] updated status --- content/it/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/service.md b/content/it/service.md index ff68ebd8af..5fc8fb8ff4 100644 --- a/content/it/service.md +++ b/content/it/service.md @@ -5,4 +5,4 @@ category: Concept --- -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. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere opinioni diverse a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. Si prega di fare riferimento alla definizione dei [microservizi](URL dei microservizi). +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. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere opinioni diverse a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. Si prega di fare riferimento alla definizione dei [microservizi](/microservices/). From 6769a1b38b23eab0c4796c216703650c32984a95 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Sun, 20 Feb 2022 14:11:31 +0000 Subject: [PATCH 006/219] updated VM translation --- content/it/virtual-machine.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/it/virtual-machine.md b/content/it/virtual-machine.md index 6eb66d2cd9..11c3a23d00 100644 --- a/content/it/virtual-machine.md +++ b/content/it/virtual-machine.md @@ -5,10 +5,10 @@ category: Technology --- ## Che cos’è -Una macchina virtuale (VM) è un computer e il suo sistema operativo che non è legato a un particolare componente hardware. Le macchine virtuali si basano sulla virtualizzazione "(link dependency del termine virtualizzazione)" per suddividere un singolo computer fisico in più computer virtuali. Questa separazione consente alle organizzazioni e ai fornitori di infrastrutture di creare e distruggere VM senza influire sull'hardware sottostante. +Una macchina virtuale (VM) è un computer e il suo sistema operativo che non è legato a un particolare componente hardware. Le macchine virtuali si basano sulla [virtualizzazione] (/virtualization/) per suddividere un singolo computer fisico in più computer virtuali. Questa separazione consente alle organizzazioni e ai fornitori di infrastrutture di creare e distruggere VM senza influire sull'hardware sottostante. ## Quale problema affronta -Le macchine virtuali sfruttano la virtualizzazione. Quando una macchina di metallo (bare metal) (link traduzione della bare metal machine) è vincolata a un singolo sistema operativo (OS), il modo in cui le risorse della macchina possono essere utilizzate è alquanto limitato. Inoltre, quando un sistema operativo è legato a una singola macchina fisica, la sua disponibilità è direttamente legata a quell'hardware. Se la macchina fisica è offline a causa di manutenzione o guasti hardware, lo è anche il sistema operativo. +Le macchine virtuali sfruttano la virtualizzazione. Quando una macchina di metallo [bare metal] (/bare_metal_machine/) è vincolata a un singolo sistema operativo (OS), il modo in cui le risorse della macchina possono essere utilizzate è alquanto limitato. Inoltre, quando un sistema operativo è legato a una singola macchina fisica, la sua disponibilità è direttamente legata a quell'hardware. Se la macchina fisica è offline a causa di manutenzione o guasti hardware, lo è anche il sistema operativo. ## In che modo aiuta Rimuovendo la relazione diretta tra un sistema operativo e una singola macchina fisica, si risolvono diversi problemi delle macchine bare metal: tempo di approvigionamento (provisioning), utilizzo dell'hardware e resilienza. From 9f9fa1237460442333a3c89b798263dcc2d10746 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 14 Mar 2022 22:31:13 +0100 Subject: [PATCH 007/219] updated with reviews term/virtual-machine --- content/it/virtual-machine.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/it/virtual-machine.md b/content/it/virtual-machine.md index 11c3a23d00..39529020fc 100644 --- a/content/it/virtual-machine.md +++ b/content/it/virtual-machine.md @@ -1,15 +1,15 @@ --- title: Macchina virtuale (VM) status: Feedback Appreciated -category: Technology +category: Technologia --- ## Che cos’è -Una macchina virtuale (VM) è un computer e il suo sistema operativo che non è legato a un particolare componente hardware. Le macchine virtuali si basano sulla [virtualizzazione] (/virtualization/) per suddividere un singolo computer fisico in più computer virtuali. Questa separazione consente alle organizzazioni e ai fornitori di infrastrutture di creare e distruggere VM senza influire sull'hardware sottostante. +Una macchina virtuale (VM) è un computer e il suo sistema operativo che non è legato a un particolare componente hardware. Le macchine virtuali si basano sulla [virtualizzazione](/virtualization/) per suddividere un singolo computer fisico in più computer virtuali. Questa separazione consente alle organizzazioni e ai fornitori di infrastrutture di creare e distruggere VM senza influire sull'hardware sottostante. ## Quale problema affronta -Le macchine virtuali sfruttano la virtualizzazione. Quando una macchina di metallo [bare metal] (/bare_metal_machine/) è vincolata a un singolo sistema operativo (OS), il modo in cui le risorse della macchina possono essere utilizzate è alquanto limitato. Inoltre, quando un sistema operativo è legato a una singola macchina fisica, la sua disponibilità è direttamente legata a quell'hardware. Se la macchina fisica è offline a causa di manutenzione o guasti hardware, lo è anche il sistema operativo. +Le macchine virtuali sfruttano la virtualizzazione. Quando una macchina [bare metal](/bare_metal_machine/) è vincolata a un singolo sistema operativo (OS), il modo in cui le risorse della macchina possono essere utilizzate è alquanto limitato. Inoltre, quando un sistema operativo è legato a una singola macchina fisica, la sua disponibilità è direttamente legata a quell'hardware. Se la macchina fisica è offline a causa di manutenzione o guasti hardware, lo è anche il sistema operativo. ## In che modo aiuta -Rimuovendo la relazione diretta tra un sistema operativo e una singola macchina fisica, si risolvono diversi problemi delle macchine bare metal: tempo di approvigionamento (provisioning), utilizzo dell'hardware e resilienza. -I tempi di provisioning per un nuovo computer vengono notevolmente migliorati, senza l'acquisto, l'installazione o la configurazione di nuovo hardware per supportarlo. Le macchine virtuali consentono di utilizzare meglio le risorse hardware fisiche esistenti posizionando più macchine virtuali su una singola macchina fisica. Non vincolate a una macchina fisica particolare, le macchine virtuali sono anche più resilienti delle macchine fisiche. Quando una macchina fisica deve andare offline, le macchine virtuali in esecuzione su di essa possono essere spostate su un'altra macchina con tempi di inattività minimi o nulli +Rimuovendo la relazione diretta tra un sistema operativo e una singola macchina fisica, si risolvono diversi problemi delle macchine bare metal: tempo di provisioning (approvvigionamento), utilizzo dell'hardware e resilienza. +I tempi di provisioning per un nuovo computer vengono notevolmente migliorati, senza l'acquisto, l'installazione o la configurazione di nuovo hardware per supportarlo. Le macchine virtuali consentono di utilizzare meglio le risorse hardware fisiche esistenti, creando più macchine virtuali su una singola macchina fisica. Non vincolate a una macchina fisica particolare, le macchine virtuali sono anche più resilienti delle macchine fisiche. Quando una macchina fisica deve essere spenta, le macchine virtuali in esecuzione su di essa possono essere spostate su un'altra macchina con tempi di inattività minimi o nulli. From 76570e2c9c459284aae2455f633533f2e3486ae6 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 14 Mar 2022 22:36:39 +0100 Subject: [PATCH 008/219] updated with review comments --- content/it/service.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/it/service.md b/content/it/service.md index 5fc8fb8ff4..be134be007 100644 --- a/content/it/service.md +++ b/content/it/service.md @@ -1,8 +1,8 @@ --- title: Servizio status: Feedback Appreciated -category: Concept +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. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere opinioni diverse a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. Si prega di fare riferimento alla definizione dei [microservizi](/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. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere opinioni diverse a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. Si prega di fare riferimento alla definizione dei [microservizi](/it/microservices/). From 5e24adea0af0321f8b7e7c7685c304515859f0f6 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 14 Mar 2022 22:37:37 +0100 Subject: [PATCH 009/219] updated status --- content/it/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/service.md b/content/it/service.md index be134be007..aabadb0675 100644 --- a/content/it/service.md +++ b/content/it/service.md @@ -1,6 +1,6 @@ --- title: Servizio -status: Feedback Appreciated +status: Completed category: Concetto --- From 13f16bf4e15f4a6c520d60a0c7f3aaef1b7d8711 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 14 Mar 2022 22:38:12 +0100 Subject: [PATCH 010/219] updated status --- content/it/virtual-machine.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/virtual-machine.md b/content/it/virtual-machine.md index 39529020fc..e89aed9812 100644 --- a/content/it/virtual-machine.md +++ b/content/it/virtual-machine.md @@ -1,6 +1,6 @@ --- title: Macchina virtuale (VM) -status: Feedback Appreciated +status: Completed category: Technologia --- From cc2d8990c869a854e5533d41de89a0197d3dd6b1 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 14 Mar 2022 23:21:33 +0100 Subject: [PATCH 011/219] push of term/microservices --- content/it/microservices.md | 14 ++++++++++++++ content/it/virtual-machine.md | 15 --------------- 2 files changed, 14 insertions(+), 15 deletions(-) create mode 100644 content/it/microservices.md delete mode 100644 content/it/virtual-machine.md diff --git a/content/it/microservices.md b/content/it/microservices.md new file mode 100644 index 0000000000..37cd1d26dd --- /dev/null +++ b/content/it/microservices.md @@ -0,0 +1,14 @@ +--- +title: Microservizi +status: Completed +category: Concetto +--- + +## Che cos’è +I microservizi sono un approccio moderno allo sviluppo di applicazioni che sfrutta le tecnologie native del cloud. Sebbene le applicazioni moderne, come Netflix, sembrino essere un'unica app, in realtà sono una raccolta di servizi più piccoli, tutti in stretta collaborazione. Ad esempio, una singola pagina che ti consente di accedere, cercare e visualizzare in anteprima i video è probabilmente alimentata da servizi più piccoli che ne gestiscono ciascuno un aspetto (ad esempio ricerca, autenticazione ed esecuzione di anteprime nel browser). In breve, i microservizi si riferiscono a un modello di architettura dell'applicazione solitamente in contrasto con le [applicazioni monolitiche](/applicazioni_monolitiche/). + +## Quale problema affronta +I microservizi sono una risposta alle sfide poste dalle applicazioni monolitiche. In genere, le diverse parti di un'applicazione dovranno essere [scalabili](/scalabilità/) separatamente. Per esempio, un negozio online avrà più visualizzazioni di prodotti che pagamenti. Ciò significa che avrai bisogno di più copie della funzionalità di visualizzazione del prodotto in esecuzione rispetto al pagamento. In un'applicazione monolitica, quei bit di logica non possono essere creati separatamente. Se non riesci a ridimensionare la funzionalità del prodotto individualmente, dovrai duplicare l'intera app con tutti gli altri componenti che non ti servono - un uso inefficiente delle risorse. Le applicazioni monolitiche causano agli sviluppatori di soccombere facilmente alle insidie ​​della progettazione. Poiché tutto il codice è in un unico posto, è più facile rendere quel codice [strettamente accoppiato](/architetture_strettamente_accoppiate/) e più difficile applicare il principio della separazione delle preoccupazioni. I monoliti spesso richiedono agli sviluppatori di comprendere l'intera base di codice prima di poter essere produttivi. + +## In che modo aiuta +La separazione delle funzionalità in diversi microservizi ne semplifica la distribuzione, l'aggiornamento e la scalabilità in modo indipendente. Consentendo a diversi team di concentrarsi sulla propria piccola parte di un'applicazione più grande, rendendo più facile per loro lavorare sulle loro app senza avere un impatto negativo sul resto dell'organizzazione. Sebbene i microservizi risolvano molti problemi, creano anche un sovraccarico operativo, le cose che ti servono per distribuire e tenere traccia dell'aumento per ordine di grandezza. Molte [tecnologie_cloud_native](/cloud_native_technology/) mirano a semplificare la distribuzione e la gestione dei microservizi. diff --git a/content/it/virtual-machine.md b/content/it/virtual-machine.md deleted file mode 100644 index e89aed9812..0000000000 --- a/content/it/virtual-machine.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Macchina virtuale (VM) -status: Completed -category: Technologia ---- - -## Che cos’è -Una macchina virtuale (VM) è un computer e il suo sistema operativo che non è legato a un particolare componente hardware. Le macchine virtuali si basano sulla [virtualizzazione](/virtualization/) per suddividere un singolo computer fisico in più computer virtuali. Questa separazione consente alle organizzazioni e ai fornitori di infrastrutture di creare e distruggere VM senza influire sull'hardware sottostante. - -## Quale problema affronta -Le macchine virtuali sfruttano la virtualizzazione. Quando una macchina [bare metal](/bare_metal_machine/) è vincolata a un singolo sistema operativo (OS), il modo in cui le risorse della macchina possono essere utilizzate è alquanto limitato. Inoltre, quando un sistema operativo è legato a una singola macchina fisica, la sua disponibilità è direttamente legata a quell'hardware. Se la macchina fisica è offline a causa di manutenzione o guasti hardware, lo è anche il sistema operativo. - -## In che modo aiuta -Rimuovendo la relazione diretta tra un sistema operativo e una singola macchina fisica, si risolvono diversi problemi delle macchine bare metal: tempo di provisioning (approvvigionamento), utilizzo dell'hardware e resilienza. -I tempi di provisioning per un nuovo computer vengono notevolmente migliorati, senza l'acquisto, l'installazione o la configurazione di nuovo hardware per supportarlo. Le macchine virtuali consentono di utilizzare meglio le risorse hardware fisiche esistenti, creando più macchine virtuali su una singola macchina fisica. Non vincolate a una macchina fisica particolare, le macchine virtuali sono anche più resilienti delle macchine fisiche. Quando una macchina fisica deve essere spenta, le macchine virtuali in esecuzione su di essa possono essere spostate su un'altra macchina con tempi di inattività minimi o nulli. From bc23290ef7c040a9c51e784ef2e4540fb2386a6a Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 14 Mar 2022 23:26:06 +0100 Subject: [PATCH 012/219] term/microservices --- content/it/microservices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/microservices.md b/content/it/microservices.md index 37cd1d26dd..80c73480c5 100644 --- a/content/it/microservices.md +++ b/content/it/microservices.md @@ -11,4 +11,4 @@ I microservizi sono un approccio moderno allo sviluppo di applicazioni che sfrut I microservizi sono una risposta alle sfide poste dalle applicazioni monolitiche. In genere, le diverse parti di un'applicazione dovranno essere [scalabili](/scalabilità/) separatamente. Per esempio, un negozio online avrà più visualizzazioni di prodotti che pagamenti. Ciò significa che avrai bisogno di più copie della funzionalità di visualizzazione del prodotto in esecuzione rispetto al pagamento. In un'applicazione monolitica, quei bit di logica non possono essere creati separatamente. Se non riesci a ridimensionare la funzionalità del prodotto individualmente, dovrai duplicare l'intera app con tutti gli altri componenti che non ti servono - un uso inefficiente delle risorse. Le applicazioni monolitiche causano agli sviluppatori di soccombere facilmente alle insidie ​​della progettazione. Poiché tutto il codice è in un unico posto, è più facile rendere quel codice [strettamente accoppiato](/architetture_strettamente_accoppiate/) e più difficile applicare il principio della separazione delle preoccupazioni. I monoliti spesso richiedono agli sviluppatori di comprendere l'intera base di codice prima di poter essere produttivi. ## In che modo aiuta -La separazione delle funzionalità in diversi microservizi ne semplifica la distribuzione, l'aggiornamento e la scalabilità in modo indipendente. Consentendo a diversi team di concentrarsi sulla propria piccola parte di un'applicazione più grande, rendendo più facile per loro lavorare sulle loro app senza avere un impatto negativo sul resto dell'organizzazione. Sebbene i microservizi risolvano molti problemi, creano anche un sovraccarico operativo, le cose che ti servono per distribuire e tenere traccia dell'aumento per ordine di grandezza. Molte [tecnologie_cloud_native](/cloud_native_technology/) mirano a semplificare la distribuzione e la gestione dei microservizi. +La separazione delle funzionalità in diversi microservizi ne semplifica la distribuzione, l'aggiornamento e la scalabilità in modo indipendente. Consentendo a diversi team di concentrarsi sulla propria piccola parte di un'applicazione più grande, rendendo più facile per loro lavorare sulle loro app senza avere un impatto negativo sul resto dell'organizzazione. Sebbene i microservizi risolvano molti problemi, creano anche un sovraccarico operativo, le cose che ti servono per distribuire e tenere traccia dell'aumento per ordine di grandezza. Molte [tecnologie cloud native](/cloud_native_technology/) mirano a semplificare la distribuzione e la gestione dei microservizi. From 61637e57665ecfb8b7fe5e2e8fd0c637728b4be6 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 14 Mar 2022 23:44:12 +0100 Subject: [PATCH 013/219] term/autoscaling --- content/it/autoscaling.md | 13 +++++++++++++ content/it/microservices.md | 14 -------------- 2 files changed, 13 insertions(+), 14 deletions(-) create mode 100644 content/it/autoscaling.md delete mode 100644 content/it/microservices.md diff --git a/content/it/autoscaling.md b/content/it/autoscaling.md new file mode 100644 index 0000000000..04c445206b --- /dev/null +++ b/content/it/autoscaling.md @@ -0,0 +1,13 @@ +--- +title: Autoscaling +status: Completed +category: Proprietà +--- + +_Autoscaling_ è la capacità di un sistema di [scalare](/Scalabilità/) automaticamente, in genere, in termini di risorse di elaborazione. Con un sistema di scalabilità automatica, le risorse vengono aggiunte automaticamente quando necessario e possono essere ridimensionate per soddisfare le fluttuanti richieste degli utenti. Il processo di scalabilità automatica varia ed è configurabile per scalare in base a diverse metriche, come la memoria o il tempo di elaborazione. I servizi cloud gestiti sono in genere associati alla funzionalità di scalabilità automatica poiché sono disponibili più opzioni e implementazioni rispetto alla maggior parte delle distribuzioni locali (_on-premise_). + +In precedenza, l'infrastruttura e le applicazioni erano progettate per considerare il picco di utilizzo del sistema. Questa architettura significava che più risorse erano sottoutilizzate e non flessibili al cambiamento della domanda dei consumatori. L'inelasticità significava costi più elevati per l'azienda e perdita di affari a causa di interruzioni dovute alla domanda eccessiva. + +By leveraging the cloud, virtualizing, and containerizing applications and their dependencies, organizations can build applications that scale according to user demands. They can monitor application demand and automatically scale them, providing an optimal user experience. Take the increase in viewership Netflix experiences every Friday evening. Autoscaling out means dynamically adding more resources: for example, increasing the number of servers allowing for more video streaming and scaling back once consumption has normalized. + +Sfruttando il cloud, la [virtualizzazione](/Virtualizzazione/) e la [containerizzazione](/Containerizzazione/) delle applicazioni e delle relative dipendenze, le organizzazioni possono creare applicazioni scalabili in base alle richieste degli utenti. Possono monitorare la domanda delle applicazioni e ridimensionarle automaticamente, fornendo un'esperienza ottimale all'utente. Se prendiamo come esempio l'aumento del numero di spettatori Netflix ogni venerdì sera. La scalabilità orizzontale automatica significa aggiungere dinamicamente più risorse: ad esempio, aumentare il numero di server consentendo più streaming video e ridimensionare una volta che il consumo si è normalizzato. \ No newline at end of file diff --git a/content/it/microservices.md b/content/it/microservices.md deleted file mode 100644 index 80c73480c5..0000000000 --- a/content/it/microservices.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Microservizi -status: Completed -category: Concetto ---- - -## Che cos’è -I microservizi sono un approccio moderno allo sviluppo di applicazioni che sfrutta le tecnologie native del cloud. Sebbene le applicazioni moderne, come Netflix, sembrino essere un'unica app, in realtà sono una raccolta di servizi più piccoli, tutti in stretta collaborazione. Ad esempio, una singola pagina che ti consente di accedere, cercare e visualizzare in anteprima i video è probabilmente alimentata da servizi più piccoli che ne gestiscono ciascuno un aspetto (ad esempio ricerca, autenticazione ed esecuzione di anteprime nel browser). In breve, i microservizi si riferiscono a un modello di architettura dell'applicazione solitamente in contrasto con le [applicazioni monolitiche](/applicazioni_monolitiche/). - -## Quale problema affronta -I microservizi sono una risposta alle sfide poste dalle applicazioni monolitiche. In genere, le diverse parti di un'applicazione dovranno essere [scalabili](/scalabilità/) separatamente. Per esempio, un negozio online avrà più visualizzazioni di prodotti che pagamenti. Ciò significa che avrai bisogno di più copie della funzionalità di visualizzazione del prodotto in esecuzione rispetto al pagamento. In un'applicazione monolitica, quei bit di logica non possono essere creati separatamente. Se non riesci a ridimensionare la funzionalità del prodotto individualmente, dovrai duplicare l'intera app con tutti gli altri componenti che non ti servono - un uso inefficiente delle risorse. Le applicazioni monolitiche causano agli sviluppatori di soccombere facilmente alle insidie ​​della progettazione. Poiché tutto il codice è in un unico posto, è più facile rendere quel codice [strettamente accoppiato](/architetture_strettamente_accoppiate/) e più difficile applicare il principio della separazione delle preoccupazioni. I monoliti spesso richiedono agli sviluppatori di comprendere l'intera base di codice prima di poter essere produttivi. - -## In che modo aiuta -La separazione delle funzionalità in diversi microservizi ne semplifica la distribuzione, l'aggiornamento e la scalabilità in modo indipendente. Consentendo a diversi team di concentrarsi sulla propria piccola parte di un'applicazione più grande, rendendo più facile per loro lavorare sulle loro app senza avere un impatto negativo sul resto dell'organizzazione. Sebbene i microservizi risolvano molti problemi, creano anche un sovraccarico operativo, le cose che ti servono per distribuire e tenere traccia dell'aumento per ordine di grandezza. Molte [tecnologie cloud native](/cloud_native_technology/) mirano a semplificare la distribuzione e la gestione dei microservizi. From 5045a3cf04a32fffdc712d5334d3364fdf967017 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 14 Mar 2022 23:44:40 +0100 Subject: [PATCH 014/219] term/autoscaling --- content/it/autoscaling.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/it/autoscaling.md b/content/it/autoscaling.md index 04c445206b..0a83945d04 100644 --- a/content/it/autoscaling.md +++ b/content/it/autoscaling.md @@ -8,6 +8,4 @@ _Autoscaling_ è la capacità di un sistema di [scalare](/Scalabilità/) automat In precedenza, l'infrastruttura e le applicazioni erano progettate per considerare il picco di utilizzo del sistema. Questa architettura significava che più risorse erano sottoutilizzate e non flessibili al cambiamento della domanda dei consumatori. L'inelasticità significava costi più elevati per l'azienda e perdita di affari a causa di interruzioni dovute alla domanda eccessiva. -By leveraging the cloud, virtualizing, and containerizing applications and their dependencies, organizations can build applications that scale according to user demands. They can monitor application demand and automatically scale them, providing an optimal user experience. Take the increase in viewership Netflix experiences every Friday evening. Autoscaling out means dynamically adding more resources: for example, increasing the number of servers allowing for more video streaming and scaling back once consumption has normalized. - Sfruttando il cloud, la [virtualizzazione](/Virtualizzazione/) e la [containerizzazione](/Containerizzazione/) delle applicazioni e delle relative dipendenze, le organizzazioni possono creare applicazioni scalabili in base alle richieste degli utenti. Possono monitorare la domanda delle applicazioni e ridimensionarle automaticamente, fornendo un'esperienza ottimale all'utente. Se prendiamo come esempio l'aumento del numero di spettatori Netflix ogni venerdì sera. La scalabilità orizzontale automatica significa aggiungere dinamicamente più risorse: ad esempio, aumentare il numero di server consentendo più streaming video e ridimensionare una volta che il consumo si è normalizzato. \ No newline at end of file From a97f73b80262cebfd1498ef8d8f8340f20c78d65 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 00:15:20 +0100 Subject: [PATCH 015/219] term/blue-green-deployment --- content/it/autoscaling.md | 11 ----------- content/it/blue-green-deployment.md | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 11 deletions(-) delete mode 100644 content/it/autoscaling.md create mode 100644 content/it/blue-green-deployment.md diff --git a/content/it/autoscaling.md b/content/it/autoscaling.md deleted file mode 100644 index 0a83945d04..0000000000 --- a/content/it/autoscaling.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Autoscaling -status: Completed -category: Proprietà ---- - -_Autoscaling_ è la capacità di un sistema di [scalare](/Scalabilità/) automaticamente, in genere, in termini di risorse di elaborazione. Con un sistema di scalabilità automatica, le risorse vengono aggiunte automaticamente quando necessario e possono essere ridimensionate per soddisfare le fluttuanti richieste degli utenti. Il processo di scalabilità automatica varia ed è configurabile per scalare in base a diverse metriche, come la memoria o il tempo di elaborazione. I servizi cloud gestiti sono in genere associati alla funzionalità di scalabilità automatica poiché sono disponibili più opzioni e implementazioni rispetto alla maggior parte delle distribuzioni locali (_on-premise_). - -In precedenza, l'infrastruttura e le applicazioni erano progettate per considerare il picco di utilizzo del sistema. Questa architettura significava che più risorse erano sottoutilizzate e non flessibili al cambiamento della domanda dei consumatori. L'inelasticità significava costi più elevati per l'azienda e perdita di affari a causa di interruzioni dovute alla domanda eccessiva. - -Sfruttando il cloud, la [virtualizzazione](/Virtualizzazione/) e la [containerizzazione](/Containerizzazione/) delle applicazioni e delle relative dipendenze, le organizzazioni possono creare applicazioni scalabili in base alle richieste degli utenti. Possono monitorare la domanda delle applicazioni e ridimensionarle automaticamente, fornendo un'esperienza ottimale all'utente. Se prendiamo come esempio l'aumento del numero di spettatori Netflix ogni venerdì sera. La scalabilità orizzontale automatica significa aggiungere dinamicamente più risorse: ad esempio, aumentare il numero di server consentendo più streaming video e ridimensionare una volta che il consumo si è normalizzato. \ No newline at end of file diff --git a/content/it/blue-green-deployment.md b/content/it/blue-green-deployment.md new file mode 100644 index 0000000000..055fb5cb23 --- /dev/null +++ b/content/it/blue-green-deployment.md @@ -0,0 +1,14 @@ +--- +title: Deployment Blue Green +status: Completed +category: Concetto +--- + +## Cos'è +Deployment blue-green (_L'implementazione' blu-verde_) è una strategia per aggiornare i sistemi di un computer in esecuzione con tempi di inattività minimi. L'operatore mantiene due ambienti, soprannominati "blu" e "verde". Uno serve il traffico di produzione (la versione attualmente utilizzata da tutti gli utenti), mentre l'altro è aggiornato. Una volta conclusi i test sull'ambiente non attivo (verde), il traffico di produzione viene commutato (spesso tramite l'uso di un _load balancer_). Si noti che la distribuzione blu-verde di solito significa cambiare gli interi ambienti, inclusi molti servizi, tutto in una volta. In modo confuso, a volte il termine viene utilizzato in relazione a singoli servizi all'interno di un sistema. Per evitare questa ambiguità, quando ci si riferisce ai singoli componenti si preferisce il termine "distribuzione senza inattività". + +## Quale problema affronta +Le implementazioni blu-verde consentono tempi di inattività minimi durante l'aggiornamento del software che deve essere modificato a pari passo, a causa della mancanza di compatibilità con le versioni precedenti. Ad esempio, la distribuzione blu-verde sarebbe appropriata per un negozio online composto da un sito web e un database che deve essere aggiornato, ma la nuova versione del database non funziona con la vecchia versione del sito web e viceversa. In questo caso, entrambi devono essere modificati contemporaneamente. Se ciò avvenisse sul sistema di produzione, i clienti noterebbero tempi di inattività. + +## In che modo aiuta +L'implementazione blu-verde è una strategia appropriata per il software nativo non cloud che deve essere aggiornato con tempi di inattività minimi. Tuttavia, il suo utilizzo è normalmente un fattore che il software legacy deve essere riprogettato in modo che i componenti possano essere aggiornati individualmente. \ No newline at end of file From 5597246da3bd28aaf261637af3f044615b7f01a1 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 00:17:11 +0100 Subject: [PATCH 016/219] term updated --- content/it/blue-green-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/blue-green-deployment.md b/content/it/blue-green-deployment.md index 055fb5cb23..55a9b1af48 100644 --- a/content/it/blue-green-deployment.md +++ b/content/it/blue-green-deployment.md @@ -5,7 +5,7 @@ category: Concetto --- ## Cos'è -Deployment blue-green (_L'implementazione' blu-verde_) è una strategia per aggiornare i sistemi di un computer in esecuzione con tempi di inattività minimi. L'operatore mantiene due ambienti, soprannominati "blu" e "verde". Uno serve il traffico di produzione (la versione attualmente utilizzata da tutti gli utenti), mentre l'altro è aggiornato. Una volta conclusi i test sull'ambiente non attivo (verde), il traffico di produzione viene commutato (spesso tramite l'uso di un _load balancer_). Si noti che la distribuzione blu-verde di solito significa cambiare gli interi ambienti, inclusi molti servizi, tutto in una volta. In modo confuso, a volte il termine viene utilizzato in relazione a singoli servizi all'interno di un sistema. Per evitare questa ambiguità, quando ci si riferisce ai singoli componenti si preferisce il termine "distribuzione senza inattività". +Il _deployment blue-green_ (l'implementazione blu-verde) è una strategia per aggiornare i sistemi di un computer in esecuzione con tempi di inattività minimi. L'operatore mantiene due ambienti, soprannominati "blu" e "verde". Uno serve il traffico di produzione (la versione attualmente utilizzata da tutti gli utenti), mentre l'altro è aggiornato. Una volta conclusi i test sull'ambiente non attivo (verde), il traffico di produzione viene commutato (spesso tramite l'uso di un _load balancer_). Si noti che la distribuzione blu-verde di solito significa cambiare gli interi ambienti, inclusi molti servizi, tutto in una volta. In modo confuso, a volte il termine viene utilizzato in relazione a singoli servizi all'interno di un sistema. Per evitare questa ambiguità, quando ci si riferisce ai singoli componenti si preferisce il termine "distribuzione senza inattività". ## Quale problema affronta Le implementazioni blu-verde consentono tempi di inattività minimi durante l'aggiornamento del software che deve essere modificato a pari passo, a causa della mancanza di compatibilità con le versioni precedenti. Ad esempio, la distribuzione blu-verde sarebbe appropriata per un negozio online composto da un sito web e un database che deve essere aggiornato, ma la nuova versione del database non funziona con la vecchia versione del sito web e viceversa. In questo caso, entrambi devono essere modificati contemporaneamente. Se ciò avvenisse sul sistema di produzione, i clienti noterebbero tempi di inattività. From bea8642eb20c4714ace960aadeed47c8b9760e5e Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 00:30:30 +0100 Subject: [PATCH 017/219] term/canary deployment --- content/it/blue-green-deployment.md | 14 -------------- content/it/canary-deployment.md | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 14 deletions(-) delete mode 100644 content/it/blue-green-deployment.md create mode 100644 content/it/canary-deployment.md diff --git a/content/it/blue-green-deployment.md b/content/it/blue-green-deployment.md deleted file mode 100644 index 55a9b1af48..0000000000 --- a/content/it/blue-green-deployment.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Deployment Blue Green -status: Completed -category: Concetto ---- - -## Cos'è -Il _deployment blue-green_ (l'implementazione blu-verde) è una strategia per aggiornare i sistemi di un computer in esecuzione con tempi di inattività minimi. L'operatore mantiene due ambienti, soprannominati "blu" e "verde". Uno serve il traffico di produzione (la versione attualmente utilizzata da tutti gli utenti), mentre l'altro è aggiornato. Una volta conclusi i test sull'ambiente non attivo (verde), il traffico di produzione viene commutato (spesso tramite l'uso di un _load balancer_). Si noti che la distribuzione blu-verde di solito significa cambiare gli interi ambienti, inclusi molti servizi, tutto in una volta. In modo confuso, a volte il termine viene utilizzato in relazione a singoli servizi all'interno di un sistema. Per evitare questa ambiguità, quando ci si riferisce ai singoli componenti si preferisce il termine "distribuzione senza inattività". - -## Quale problema affronta -Le implementazioni blu-verde consentono tempi di inattività minimi durante l'aggiornamento del software che deve essere modificato a pari passo, a causa della mancanza di compatibilità con le versioni precedenti. Ad esempio, la distribuzione blu-verde sarebbe appropriata per un negozio online composto da un sito web e un database che deve essere aggiornato, ma la nuova versione del database non funziona con la vecchia versione del sito web e viceversa. In questo caso, entrambi devono essere modificati contemporaneamente. Se ciò avvenisse sul sistema di produzione, i clienti noterebbero tempi di inattività. - -## In che modo aiuta -L'implementazione blu-verde è una strategia appropriata per il software nativo non cloud che deve essere aggiornato con tempi di inattività minimi. Tuttavia, il suo utilizzo è normalmente un fattore che il software legacy deve essere riprogettato in modo che i componenti possano essere aggiornati individualmente. \ No newline at end of file diff --git a/content/it/canary-deployment.md b/content/it/canary-deployment.md new file mode 100644 index 0000000000..822ace1131 --- /dev/null +++ b/content/it/canary-deployment.md @@ -0,0 +1,16 @@ +--- +title: Deployment Canary +status: Completed +category: Concetto +--- + +## Cos'è +Le implementazioni Canary è una strategia di distribuzione che inizia con due ambienti: uno con traffico in tempo reale e l'altro contenente il codice aggiornato senza traffico in tempo reale. Il traffico viene gradualmente spostato dalla versione originale dell'applicazione alla versione aggiornata. Può iniziare spostando l'1% del traffico in tempo reale, quindi il 10%, il 25% e così via, fino a quando tutto il traffico viene eseguito attraverso la versione aggiornata. Le organizzazioni possono testare la nuova versione del software in produzione, ottenere feedback, diagnosticare errori e ripristinare rapidamente la versione stabile, se necessario. + +Il termine "canarino" si riferisce alla pratica "canarino in una miniera di carbone" in cui i canarini venivano portati nelle miniere di carbone per proteggere i minatori. Se fossero presenti gas nocivi inodore, l'uccello sarebbe morto e i minatori sapevano che dovevano evacuare rapidamente. Allo stesso modo, se qualcosa va storto con il codice aggiornato, il traffico in tempo reale viene "evacuato" alla versione originale. + +## Quale problema affronta +Non importa quanto sia approfondita la strategia di test, ci sono sempre alcuni bug scoperti in produzione. Spostare il 100% del traffico da una versione di un'app a un'altra può portare a errori di maggiore impatto. + +## In che modo aiuta +Le implementazioni Canary consentono alle organizzazioni di vedere come si comporta il nuovo software in scenari reali prima di trasferire traffico significativo alla nuova versione. Questa strategia consente alle organizzazioni di ridurre al minimo i tempi di inattività e di eseguire rapidamente il ripristino in caso di problemi con la nuova distribuzione. Consente inoltre test più approfonditi delle applicazioni di produzione senza un impatto significativo sull'esperienza complessiva dell'utente. \ No newline at end of file From 0e8a19278d0b8d6ea9e04e658e17dca59380d60e Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 01:22:27 +0100 Subject: [PATCH 018/219] updated term --- content/it/canary-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/canary-deployment.md b/content/it/canary-deployment.md index 822ace1131..143ffc700a 100644 --- a/content/it/canary-deployment.md +++ b/content/it/canary-deployment.md @@ -1,5 +1,5 @@ --- -title: Deployment Canary +title: Canary Deployment status: Completed category: Concetto --- From b8ff3548e5ea5ba3eb04ed68ce17c49d036f5529 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 01:23:17 +0100 Subject: [PATCH 019/219] updated term --- content/it/blue-green-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/blue-green-deployment.md b/content/it/blue-green-deployment.md index 55a9b1af48..b66ca602c2 100644 --- a/content/it/blue-green-deployment.md +++ b/content/it/blue-green-deployment.md @@ -1,5 +1,5 @@ --- -title: Deployment Blue Green +title: Blue Green Deployment status: Completed category: Concetto --- From 2d4828caa09e992f20b829896f68a12d9283c8da Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 01:30:56 +0100 Subject: [PATCH 020/219] term/zero trust architecture --- content/it/blue-green-deployment.md | 14 -------------- content/it/zero-trust-architecture.md | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 content/it/blue-green-deployment.md create mode 100644 content/it/zero-trust-architecture.md diff --git a/content/it/blue-green-deployment.md b/content/it/blue-green-deployment.md deleted file mode 100644 index b66ca602c2..0000000000 --- a/content/it/blue-green-deployment.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Blue Green Deployment -status: Completed -category: Concetto ---- - -## Cos'è -Il _deployment blue-green_ (l'implementazione blu-verde) è una strategia per aggiornare i sistemi di un computer in esecuzione con tempi di inattività minimi. L'operatore mantiene due ambienti, soprannominati "blu" e "verde". Uno serve il traffico di produzione (la versione attualmente utilizzata da tutti gli utenti), mentre l'altro è aggiornato. Una volta conclusi i test sull'ambiente non attivo (verde), il traffico di produzione viene commutato (spesso tramite l'uso di un _load balancer_). Si noti che la distribuzione blu-verde di solito significa cambiare gli interi ambienti, inclusi molti servizi, tutto in una volta. In modo confuso, a volte il termine viene utilizzato in relazione a singoli servizi all'interno di un sistema. Per evitare questa ambiguità, quando ci si riferisce ai singoli componenti si preferisce il termine "distribuzione senza inattività". - -## Quale problema affronta -Le implementazioni blu-verde consentono tempi di inattività minimi durante l'aggiornamento del software che deve essere modificato a pari passo, a causa della mancanza di compatibilità con le versioni precedenti. Ad esempio, la distribuzione blu-verde sarebbe appropriata per un negozio online composto da un sito web e un database che deve essere aggiornato, ma la nuova versione del database non funziona con la vecchia versione del sito web e viceversa. In questo caso, entrambi devono essere modificati contemporaneamente. Se ciò avvenisse sul sistema di produzione, i clienti noterebbero tempi di inattività. - -## In che modo aiuta -L'implementazione blu-verde è una strategia appropriata per il software nativo non cloud che deve essere aggiornato con tempi di inattività minimi. Tuttavia, il suo utilizzo è normalmente un fattore che il software legacy deve essere riprogettato in modo che i componenti possano essere aggiornati individualmente. \ No newline at end of file diff --git a/content/it/zero-trust-architecture.md b/content/it/zero-trust-architecture.md new file mode 100644 index 0000000000..ca409b6561 --- /dev/null +++ b/content/it/zero-trust-architecture.md @@ -0,0 +1,14 @@ +--- +title: Architettura Zero Trust +status: Completed +category: Concetto +--- + +## Cos'è +L'Architettura Zero Trust prescrive un approccio alla progettazione e all'implementazione dei sistemi IT in cui la fiducia viene completamente rimossa. Il principio fondamentale è "non fidarti mai, verifica sempre", i dispositivi o i sistemi stessi, mentre comunicano con altri componenti di un sistema, si verificano sempre prima di farlo. In molte reti oggi, all'interno della rete aziendale, i sistemi e i dispositivi all'interno possono comunicare liberamente tra loro poiché si trovano all'interno del confine attendibile del perimetro della rete aziendale. L'architettura Zero Trust adotta l'approccio opposto in cui, sebbene all'interno del perimetro della rete, i componenti all'interno del sistema devono prima superare la verifica prima che venga effettuata qualsiasi comunicazione. + +## Quale problema affronta +Con il tradizionale approccio basato sulla fiducia in cui sistemi e dispositivi che esistono all'interno di un perimetro di rete aziendale, si presume che, poiché c'è fiducia, non ci siano problemi. L'architettura zero trust, tuttavia, riconosce che la fiducia è una vulnerabilità. Nel caso in cui un utente malintenzionato abbia ottenuto l'accesso a un dispositivo attendibile, a seconda del livello di attendibilità e dell'accesso concesso a quel dispositivo, il sistema è ora vulnerabile agli attacchi poiché l'intruso si trova all'interno del perimetro di rete "fidato" ed è in grado di muoversi lateralmente in tutto il sistema. In un'architettura zero trust, la fiducia viene rimossa, riducendo quindi la superficie di attacco poiché un utente malintenzionato è ora costretto a verificare prima di andare oltre nel sistema. + +## In che modo aiuta +L'adozione di un'architettura zero trust offre il principale vantaggio di una maggiore sicurezza con una riduzione della superficie di attacco. Rimuovere la fiducia dal sistema aziendale aumenta il numero e la forza dei gate di sicurezza che un utente malintenzionato deve attraversare per ottenere l'accesso ad altre aree del sistema. \ No newline at end of file From bece922ea1f7f6c916564d56f7aee54500dbec74 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 01:45:22 +0100 Subject: [PATCH 021/219] term/service discovery --- content/it/service-discovery.md | 14 ++++++++++++++ content/it/zero-trust-architecture.md | 14 -------------- 2 files changed, 14 insertions(+), 14 deletions(-) create mode 100644 content/it/service-discovery.md delete mode 100644 content/it/zero-trust-architecture.md diff --git a/content/it/service-discovery.md b/content/it/service-discovery.md new file mode 100644 index 0000000000..31b54e4912 --- /dev/null +++ b/content/it/service-discovery.md @@ -0,0 +1,14 @@ +--- +title: Servizio di Rilevamento +status: Completed +category: Concetto +--- + +## Cos'è +Il rilevamento del servizio è il processo di ricerca delle singole istanze che compongono un servizio. Uno strumento di rilevamento dei servizi tiene traccia dei vari nodi o endpoint che compongono un servizio. + +## Quale problema affronta +Le architetture cloud native sono dinamiche e fluide, il che significa che sono in continua evoluzione. Un'app [containerizzata](/it/containerizzazione/) probabilmente finirà per avviarsi e interrompersi più volte nel corso della sua vita. Ogni volta che accadrà, avrà un nuovo indirizzo e qualsiasi app che vuole trovarlo avrà bisogno di uno strumento per fornire le nuove informazioni sulla posizione. + +## In che modo aiuta +Il rilevamento dei servizi tiene traccia delle app all'interno della rete in modo che possano trovarsi a vicenda quando necessario. Fornisce un luogo comune per trovare e potenzialmente identificare i singoli servizi. I motori di rilevamento dei servizi sono strumenti simili a database che memorizzano informazioni su quali servizi esistono e su come individuarli. \ No newline at end of file diff --git a/content/it/zero-trust-architecture.md b/content/it/zero-trust-architecture.md deleted file mode 100644 index ca409b6561..0000000000 --- a/content/it/zero-trust-architecture.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Architettura Zero Trust -status: Completed -category: Concetto ---- - -## Cos'è -L'Architettura Zero Trust prescrive un approccio alla progettazione e all'implementazione dei sistemi IT in cui la fiducia viene completamente rimossa. Il principio fondamentale è "non fidarti mai, verifica sempre", i dispositivi o i sistemi stessi, mentre comunicano con altri componenti di un sistema, si verificano sempre prima di farlo. In molte reti oggi, all'interno della rete aziendale, i sistemi e i dispositivi all'interno possono comunicare liberamente tra loro poiché si trovano all'interno del confine attendibile del perimetro della rete aziendale. L'architettura Zero Trust adotta l'approccio opposto in cui, sebbene all'interno del perimetro della rete, i componenti all'interno del sistema devono prima superare la verifica prima che venga effettuata qualsiasi comunicazione. - -## Quale problema affronta -Con il tradizionale approccio basato sulla fiducia in cui sistemi e dispositivi che esistono all'interno di un perimetro di rete aziendale, si presume che, poiché c'è fiducia, non ci siano problemi. L'architettura zero trust, tuttavia, riconosce che la fiducia è una vulnerabilità. Nel caso in cui un utente malintenzionato abbia ottenuto l'accesso a un dispositivo attendibile, a seconda del livello di attendibilità e dell'accesso concesso a quel dispositivo, il sistema è ora vulnerabile agli attacchi poiché l'intruso si trova all'interno del perimetro di rete "fidato" ed è in grado di muoversi lateralmente in tutto il sistema. In un'architettura zero trust, la fiducia viene rimossa, riducendo quindi la superficie di attacco poiché un utente malintenzionato è ora costretto a verificare prima di andare oltre nel sistema. - -## In che modo aiuta -L'adozione di un'architettura zero trust offre il principale vantaggio di una maggiore sicurezza con una riduzione della superficie di attacco. Rimuovere la fiducia dal sistema aziendale aumenta il numero e la forza dei gate di sicurezza che un utente malintenzionato deve attraversare per ottenere l'accesso ad altre aree del sistema. \ No newline at end of file From 475c46bb6f7a59b990f204363b5652225ce43913 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 01:56:41 +0100 Subject: [PATCH 022/219] term/service-proxy --- content/it/service-discovery.md | 14 -------------- content/it/service-proxy.md | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 14 deletions(-) delete mode 100644 content/it/service-discovery.md create mode 100644 content/it/service-proxy.md diff --git a/content/it/service-discovery.md b/content/it/service-discovery.md deleted file mode 100644 index 31b54e4912..0000000000 --- a/content/it/service-discovery.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Servizio di Rilevamento -status: Completed -category: Concetto ---- - -## Cos'è -Il rilevamento del servizio è il processo di ricerca delle singole istanze che compongono un servizio. Uno strumento di rilevamento dei servizi tiene traccia dei vari nodi o endpoint che compongono un servizio. - -## Quale problema affronta -Le architetture cloud native sono dinamiche e fluide, il che significa che sono in continua evoluzione. Un'app [containerizzata](/it/containerizzazione/) probabilmente finirà per avviarsi e interrompersi più volte nel corso della sua vita. Ogni volta che accadrà, avrà un nuovo indirizzo e qualsiasi app che vuole trovarlo avrà bisogno di uno strumento per fornire le nuove informazioni sulla posizione. - -## In che modo aiuta -Il rilevamento dei servizi tiene traccia delle app all'interno della rete in modo che possano trovarsi a vicenda quando necessario. Fornisce un luogo comune per trovare e potenzialmente identificare i singoli servizi. I motori di rilevamento dei servizi sono strumenti simili a database che memorizzano informazioni su quali servizi esistono e su come individuarli. \ No newline at end of file diff --git a/content/it/service-proxy.md b/content/it/service-proxy.md new file mode 100644 index 0000000000..6e5c5f3a45 --- /dev/null +++ b/content/it/service-proxy.md @@ -0,0 +1,18 @@ +--- +title: Servizio Proxy +status: Completed +category: Tecnologia +--- + +## Cos'è +Un proxy di servizio intercetta il traffico da o verso un determinato [servizio](/it/servizio/), applica una logica ad esso, quindi inoltra quel traffico a un altro servizio. Agisce essenzialmente come un "intermediario" che raccoglie informazioni sul traffico di rete e/o applica regole ad esso. + +## Quale problema affronta +Per tenere traccia della comunicazione da servizio a servizio (nota anche come traffico di rete) e potenzialmente trasformarla o reindirizzarla, dobbiamo raccogliere dati. Tradizionalmente, il codice che consente la raccolta dei dati e la gestione del traffico di rete veniva incorporato in ciascuna applicazione. + +## In che modo aiuta +Un proxy di servizio ci consente di "esternalizzare" questa funzionalità. Non è più necessario che sia all'interno delle app. Invece, ora è incorporato nel livello della piattaforma (dove vengono eseguite le tue app). + +Agendo come custodi tra i servizi, i proxy forniscono informazioni sul tipo di comunicazione in corso. Sulla base della loro intuizione, determinano dove inviare una richiesta particolare o addirittura negarla del tutto. + +I proxy raccolgono dati critici, gestiscono il routing (distribuendo uniformemente il traffico tra i servizi o reindirizzando se alcuni servizi si interrompono), crittografano le connessioni e memorizzano nella cache il contenuto (riducendo il consumo di risorse). \ No newline at end of file From f4294c26ba3b2f79c9345fc96e32a142daab93bc Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 15 Mar 2022 02:05:09 +0100 Subject: [PATCH 023/219] term/TLS --- content/it/service-proxy.md | 18 ------------------ content/it/tls.md | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 18 deletions(-) delete mode 100644 content/it/service-proxy.md create mode 100644 content/it/tls.md diff --git a/content/it/service-proxy.md b/content/it/service-proxy.md deleted file mode 100644 index 6e5c5f3a45..0000000000 --- a/content/it/service-proxy.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Servizio Proxy -status: Completed -category: Tecnologia ---- - -## Cos'è -Un proxy di servizio intercetta il traffico da o verso un determinato [servizio](/it/servizio/), applica una logica ad esso, quindi inoltra quel traffico a un altro servizio. Agisce essenzialmente come un "intermediario" che raccoglie informazioni sul traffico di rete e/o applica regole ad esso. - -## Quale problema affronta -Per tenere traccia della comunicazione da servizio a servizio (nota anche come traffico di rete) e potenzialmente trasformarla o reindirizzarla, dobbiamo raccogliere dati. Tradizionalmente, il codice che consente la raccolta dei dati e la gestione del traffico di rete veniva incorporato in ciascuna applicazione. - -## In che modo aiuta -Un proxy di servizio ci consente di "esternalizzare" questa funzionalità. Non è più necessario che sia all'interno delle app. Invece, ora è incorporato nel livello della piattaforma (dove vengono eseguite le tue app). - -Agendo come custodi tra i servizi, i proxy forniscono informazioni sul tipo di comunicazione in corso. Sulla base della loro intuizione, determinano dove inviare una richiesta particolare o addirittura negarla del tutto. - -I proxy raccolgono dati critici, gestiscono il routing (distribuendo uniformemente il traffico tra i servizi o reindirizzando se alcuni servizi si interrompono), crittografano le connessioni e memorizzano nella cache il contenuto (riducendo il consumo di risorse). \ No newline at end of file diff --git a/content/it/tls.md b/content/it/tls.md new file mode 100644 index 0000000000..addff03aa5 --- /dev/null +++ b/content/it/tls.md @@ -0,0 +1,14 @@ +--- +title: TLS +status: Completed +category: Concetto +--- + +## Cos'è +Il _Transport Layer Security_ (TLS) è un protocollo progettato per fornire maggiore sicurezza alla comunicazione su una rete. Garantisce la consegna sicura dei dati inviati su Internet, evitando possibili monitoraggi e/o alterazioni dei dati stessi. Questo protocollo è ampiamente utilizzato in applicazioni come messaggistica, e-mail, ecc. + +## Quale problema affronta +Senza TLS, le informazioni sensibili come le abitudini di navigazione, la corrispondenza e-mail, le chat online e le chiamate in conferenza possono essere facilmente rintracciate e modificate da altri durante la trasmissione. L'abilitazione delle applicazioni server e client per il supporto di TLS garantisce che i dati trasmessi tra di loro siano crittografati e non visualizzabili da terze parti. + +## In che modo aiuta +TLS utilizza una combinazione di tecniche di codifica che forniscono sicurezza durante la trasmissione dei dati su una rete. TLS consente una connessione crittografata tra un'applicazione client e un server, come un browser web e un sito bancario. Consente inoltre alle applicazioni client di identificare con certezza il server a cui si stanno connettendo, riducendo il rischio che un client parli con un sito fraudolento. Ciò garantisce che terze parti non siano in grado di vedere e monitorare i dati trasmessi tra le applicazioni utilizzando TLS, che protegge le informazioni riservate e private come numeri di carta di credito, password, posizione, ecc. \ No newline at end of file From 4347449e941b509e1221355a2e2fae7b5a6b0470 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Thu, 7 Apr 2022 14:22:26 +0100 Subject: [PATCH 024/219] Update content/it/service.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/service.md b/content/it/service.md index aabadb0675..93910aecc2 100644 --- a/content/it/service.md +++ b/content/it/service.md @@ -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. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere opinioni diverse a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. 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/). From 91657dfb8afe415b93edbec1a8aa1ec6540f1cbb Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Thu, 7 Apr 2022 14:25:07 +0100 Subject: [PATCH 025/219] Update service.md --- content/it/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/service.md b/content/it/service.md index aabadb0675..93910aecc2 100644 --- a/content/it/service.md +++ b/content/it/service.md @@ -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. Ci sono delle sfumature se i servizi differiscono dai microservizi, e persone diverse possono avere opinioni diverse a riguardo. Per una definizione ad alto livello, li tratteremo allo stesso modo. 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/). From 9f3b6dd3e97a102b93f17a135c41e1b2b60ab6be Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 12 Apr 2022 17:07:56 +0100 Subject: [PATCH 026/219] Update service.md --- content/it/service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/service.md b/content/it/service.md index 93910aecc2..d6633c4160 100644 --- a/content/it/service.md +++ b/content/it/service.md @@ -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/). From c02a7e64f331010e9c502ef15c3df2e6fe2ae70d Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Mon, 4 Jul 2022 21:16:42 +0200 Subject: [PATCH 027/219] Update content/it/canary-deployment.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/canary-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/canary-deployment.md b/content/it/canary-deployment.md index 143ffc700a..f29d539b02 100644 --- a/content/it/canary-deployment.md +++ b/content/it/canary-deployment.md @@ -5,7 +5,7 @@ category: Concetto --- ## Cos'è -Le implementazioni Canary è una strategia di distribuzione che inizia con due ambienti: uno con traffico in tempo reale e l'altro contenente il codice aggiornato senza traffico in tempo reale. Il traffico viene gradualmente spostato dalla versione originale dell'applicazione alla versione aggiornata. Può iniziare spostando l'1% del traffico in tempo reale, quindi il 10%, il 25% e così via, fino a quando tutto il traffico viene eseguito attraverso la versione aggiornata. Le organizzazioni possono testare la nuova versione del software in produzione, ottenere feedback, diagnosticare errori e ripristinare rapidamente la versione stabile, se necessario. +Per _Canary deployment_ si intende una strategia di distribuzione che inizia con due ambienti: uno con traffico in tempo reale e l'altro contenente il codice aggiornato senza traffico in tempo reale. Il traffico viene gradualmente spostato dalla versione originale dell'applicazione alla versione aggiornata. Si può iniziare spostando l'1% del traffico in tempo reale, quindi il 10%, il 25% e così via, fino a quando tutto il traffico viene veicolato attraverso la versione aggiornata. Le organizzazioni possono testare la nuova versione del software in produzione, ottenere feedback, diagnosticare errori e ripristinare rapidamente la versione stabile, se necessario. Il termine "canarino" si riferisce alla pratica "canarino in una miniera di carbone" in cui i canarini venivano portati nelle miniere di carbone per proteggere i minatori. Se fossero presenti gas nocivi inodore, l'uccello sarebbe morto e i minatori sapevano che dovevano evacuare rapidamente. Allo stesso modo, se qualcosa va storto con il codice aggiornato, il traffico in tempo reale viene "evacuato" alla versione originale. From 3fb2bc7c9d975eadd6a8dde33e3de168691aaecf Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Mon, 4 Jul 2022 21:16:54 +0200 Subject: [PATCH 028/219] Update content/it/canary-deployment.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/canary-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/canary-deployment.md b/content/it/canary-deployment.md index f29d539b02..42a53874a6 100644 --- a/content/it/canary-deployment.md +++ b/content/it/canary-deployment.md @@ -7,7 +7,7 @@ category: Concetto ## Cos'è Per _Canary deployment_ si intende una strategia di distribuzione che inizia con due ambienti: uno con traffico in tempo reale e l'altro contenente il codice aggiornato senza traffico in tempo reale. Il traffico viene gradualmente spostato dalla versione originale dell'applicazione alla versione aggiornata. Si può iniziare spostando l'1% del traffico in tempo reale, quindi il 10%, il 25% e così via, fino a quando tutto il traffico viene veicolato attraverso la versione aggiornata. Le organizzazioni possono testare la nuova versione del software in produzione, ottenere feedback, diagnosticare errori e ripristinare rapidamente la versione stabile, se necessario. -Il termine "canarino" si riferisce alla pratica "canarino in una miniera di carbone" in cui i canarini venivano portati nelle miniere di carbone per proteggere i minatori. Se fossero presenti gas nocivi inodore, l'uccello sarebbe morto e i minatori sapevano che dovevano evacuare rapidamente. Allo stesso modo, se qualcosa va storto con il codice aggiornato, il traffico in tempo reale viene "evacuato" alla versione originale. +Il termine _Canary_ ("canarino") si riferisce alla pratica del "canarino in una miniera di carbone" in cui i canarini venivano portati nelle miniere di carbone per proteggere i minatori. Se fossero stati presenti gas nocivi inodore, l'uccello sarebbe morto e i minatori avrebbero compreso di dover evacuare rapidamente. Allo stesso modo, se qualcosa va storto con il codice aggiornato, il traffico in tempo reale viene "evacuato" alla versione originale. ## Quale problema affronta Non importa quanto sia approfondita la strategia di test, ci sono sempre alcuni bug scoperti in produzione. Spostare il 100% del traffico da una versione di un'app a un'altra può portare a errori di maggiore impatto. From afd3bb5ff65c1286c5f74f621e9ac1adc155dbe3 Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Mon, 4 Jul 2022 21:17:14 +0200 Subject: [PATCH 029/219] Update content/it/canary-deployment.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/canary-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/canary-deployment.md b/content/it/canary-deployment.md index 42a53874a6..b9f4e4cd4b 100644 --- a/content/it/canary-deployment.md +++ b/content/it/canary-deployment.md @@ -13,4 +13,4 @@ Il termine _Canary_ ("canarino") si riferisce alla pratica del "canarino in una Non importa quanto sia approfondita la strategia di test, ci sono sempre alcuni bug scoperti in produzione. Spostare il 100% del traffico da una versione di un'app a un'altra può portare a errori di maggiore impatto. ## In che modo aiuta -Le implementazioni Canary consentono alle organizzazioni di vedere come si comporta il nuovo software in scenari reali prima di trasferire traffico significativo alla nuova versione. Questa strategia consente alle organizzazioni di ridurre al minimo i tempi di inattività e di eseguire rapidamente il ripristino in caso di problemi con la nuova distribuzione. Consente inoltre test più approfonditi delle applicazioni di produzione senza un impatto significativo sull'esperienza complessiva dell'utente. \ No newline at end of file +Il Canary deployment consente alle organizzazioni di vedere come si comporta il nuovo software in scenari reali prima di trasferire traffico significativo alla nuova versione. Questa strategia consente alle organizzazioni di ridurre al minimo i tempi di inattività e di eseguire rapidamente il ripristino in caso di problemi con la nuova distribuzione. Consente inoltre test più approfonditi delle applicazioni di produzione senza un impatto significativo sull'esperienza complessiva dell'utente. \ No newline at end of file From d381e3c59ec0bac1ecac21b5bcd3d52a191fc9cb Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia Date: Wed, 13 Jul 2022 21:44:46 +0200 Subject: [PATCH 030/219] fixed links to it glossary and fixed section names --- content/it/cloud-native-tech.md | 6 +++--- content/it/cluster.md | 4 ++-- content/it/devops.md | 2 +- content/it/infrastructure-as-code.md | 8 ++++---- content/it/managed-services.md | 4 ++-- content/it/microservices.md | 8 ++++---- content/it/nodes.md | 4 ++-- content/it/platform-as-a-service.md | 4 ++-- content/it/site-reliability-engineering.md | 4 ++-- content/it/tls.md | 5 ++++- content/it/virtual-machine.md | 8 ++++---- 11 files changed, 30 insertions(+), 27 deletions(-) diff --git a/content/it/cloud-native-tech.md b/content/it/cloud-native-tech.md index c10fa8aa26..404e202dd3 100644 --- a/content/it/cloud-native-tech.md +++ b/content/it/cloud-native-tech.md @@ -6,11 +6,11 @@ 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_](/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_](/cloud-computing/). Sono progettate da zero con l'intento di impiegare le funzionalità di cloud computing e [container](/container/). Il [mesh di servizi](/service-mesh/), i [microservizi](/it/microservices/) e le [infrastrutture immutabili](/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/) e le [infrastrutture immutabili](/it/immutable-infrastructure/) sono esempi di questo approccio. -## Quale problema affronta +## Quali problematiche affronta -Il _cloud native stack_ è formato da molte categorie di tecnologie diverse tra loro; ciascuna si propone di risolvere un problema specifico. Consultando il [CNCF Cloud Native Landscape](https://landscape.cncf.io/), potrai renderti conto di quante aree differenti coinvolga. In linea generale, il _cloud native stack_ affronta un gruppo principale di sfide, ossia gli aspetti negativi dei modelli operativi IT tradizionali. Fra gli altri vi sono: la difficoltà di creare applicazioni scalabili, _fault-tolerant_ (tolleranti agli errori) e [_self-healing_](/self-healing/) (auto riparanti), o anche l'utilizzo inefficiente delle risorse. +Il _cloud native stack_ è formato da molte categorie di tecnologie diverse tra loro; ciascuna si propone di risolvere un problema specifico. Consultando il [CNCF Cloud Native Landscape](https://landscape.cncf.io/), potrai renderti conto di quante aree differenti coinvolga. In linea generale, il _cloud native stack_ affronta un gruppo principale di sfide, ossia gli aspetti negativi dei modelli operativi IT tradizionali. Fra gli altri vi sono: la difficoltà di creare applicazioni scalabili, _fault-tolerant_ (tolleranti agli errori) e [_self-healing_](/it/self-healing/) (auto riparanti), o anche l'utilizzo inefficiente delle risorse. ## In che modo aiuta diff --git a/content/it/cluster.md b/content/it/cluster.md index 874194d8f6..1a4e248a23 100644 --- a/content/it/cluster.md +++ b/content/it/cluster.md @@ -6,11 +6,11 @@ category: Concetto ## Cos'è -Un cluster è un gruppo di computer o applicazioni che lavorano insieme verso un comune obiettivo. Nel contesto del cloud computing nativo, il termine è più spesso riferito a Kubernetes. Un cluster Kubernetes è un insieme di servizi (o workloads) che vengono eseguiti nei loro containers, di solito su macchine diverse. L'insieme di tutti questi servizi [containerizzati](/containerization/), collegati su una rete, rappresentano un cluster. +Un cluster è un gruppo di computer o applicazioni che lavorano insieme verso un comune obiettivo. Nel contesto del cloud computing nativo, il termine è più spesso riferito a Kubernetes. Un cluster Kubernetes è un insieme di servizi (o workloads) che vengono eseguiti nei loro containers, di solito su macchine diverse. L'insieme di tutti questi servizi [containerizzati](/it/containerization/), collegati su una rete, rappresentano un cluster. ## Quali problematiche affronta -Il software che è in esecuzione su un singolo computer presenta un singolo punto di vulnerabilità: se quel computer si blocca, o qualcuno accidentalmente ne scollega il cavo di alimentazione, parte del sistema critico di business potrebbe andare offline. Ecco perché un software moderno è generalmente sviluppato come [applicazioni distribuite](/distributed-apps/), raggruppate in cluster. +Il software che è in esecuzione su un singolo computer presenta un singolo punto di vulnerabilità: se quel computer si blocca, o qualcuno accidentalmente ne scollega il cavo di alimentazione, parte del sistema critico di business potrebbe andare offline. Ecco perché un software moderno è generalmente sviluppato come [applicazioni distribuite](/it/distributed-apps/), raggruppate in cluster. ## In che modo aiuta diff --git a/content/it/devops.md b/content/it/devops.md index 5481cc1867..6c4c7ec3ef 100644 --- a/content/it/devops.md +++ b/content/it/devops.md @@ -10,7 +10,7 @@ DevOps è una metodologia in cui i team sono responsabili dell'intero processo: ## Quali problematiche affronta -Tradizionalmente, nelle organizzazioni complesse con [applicazioni monolitiche](/monolithic-apps/) dai [componenti strettamente accoppiati](/tightly-coupled-architectures/), il lavoro era generalmente frammentato tra più team. Questo portava a numerosi passaggi di mano e a lunghi tempi di consegna. Ogni volta che un componente o un aggiornamento era pronto, veniva messo in coda per il team successivo. Poiché gli individui lavoravano solo su una piccola parte del progetto, questo approccio portava ad una mancanza di ownership (titolarità) sull'intero progetto. Il loro obiettivo era quello di passare il lavoro al gruppo successivo e non di consegnare la giusta funzionalità al cliente - un evidente e chiaro disallineamento delle priorità. +Tradizionalmente, nelle organizzazioni complesse con [applicazioni monolitiche](/it/monolithic-apps/) dai [componenti strettamente accoppiati](/it/tightly-coupled-architectures/), il lavoro era generalmente frammentato tra più team. Questo portava a numerosi passaggi di mano e a lunghi tempi di consegna. Ogni volta che un componente o un aggiornamento era pronto, veniva messo in coda per il team successivo. Poiché gli individui lavoravano solo su una piccola parte del progetto, questo approccio portava ad una mancanza di ownership (titolarità) sull'intero progetto. Il loro obiettivo era quello di passare il lavoro al gruppo successivo e non di consegnare la giusta funzionalità al cliente - un evidente e chiaro disallineamento delle priorità. Quando il codice arrivava finalmente in produzione, passava da così tanti sviluppatori, stando in attesa in così tante code, che diventava difficile rintracciare l'origine del problema se il codice non funzionava. DevOps inverte questo approccio. diff --git a/content/it/infrastructure-as-code.md b/content/it/infrastructure-as-code.md index 8e73f98079..21f6e230be 100644 --- a/content/it/infrastructure-as-code.md +++ b/content/it/infrastructure-as-code.md @@ -4,14 +4,14 @@ status: Completed category: Concetto --- -## Che cos'è +## Cos'è Con _infrastructure as code_ (IaC - Infrastruttura come Codice) si intende il processo di gestione e provisioning dell’infrastruttura attraverso file di definizione leggibili da una macchina: tratta la configurazione dell’infrastruttura alla stregua di software di programmazione. Questo sostituisce il modello tradizionale in cui l'infrastruttura come servizio viene creata manualmente, in genere tramite script di shell o altri strumenti di configurazione. -## Quali problematiche risolve +## Quali problematiche affronta La creazione di applicazioni native sul cloud richiede che l'infrastruttura sia a perdere e riproducibile. Deve essere inoltre scalabile su richiesta in modo automatizzato e ripetibile, potenzialmente senza intervento umano. Il provisioning manuale, infatti, non può soddisfare i requisiti di reattività e scalabilità delle applicazioni cloud native. Le modifiche manuali all'infrastruttura non sono riproducibili, si scontrano presto con i limiti in termini di scalabilità e introducono il rischio di errori di configurazione. -## In cosa aiuta +## In che modo aiuta -Rappresentando le risorse del data center come server, sistemi di bilanciamento del carico e sottoreti come codice, i team operations possono disporre di un'unica fonte di verità per tutte le configurazioni e possono gestire il proprio data center in una pipeline [CI](/continuous-integration/)/[CD](/continuous-delivery/), implementando sistemi di controllo di versione e strategie di deployment. +Rappresentando le risorse del data center come server, sistemi di bilanciamento del carico e sottoreti come codice, i team operations possono disporre di un'unica fonte di verità per tutte le configurazioni e possono gestire il proprio data center in una pipeline [CI](/it/continuous-integration/)/[CD](/it/continuous-delivery/), implementando sistemi di controllo di versione e strategie di deployment. diff --git a/content/it/managed-services.md b/content/it/managed-services.md index c9348c146b..ae018c38b7 100644 --- a/content/it/managed-services.md +++ b/content/it/managed-services.md @@ -6,7 +6,7 @@ category: Tecnologia ## Cos'è -Con _managed service_ si intende un'offerta di servizio da parte di un fornitore che comprende un software assieme alla sua gestione ordinaria e manutenzione. Ne sono esempi i servizi di [Database as a Service](/database-as-a-service/) come RDS di Amazon, o i servizi esterni di monitoring come Datadog. +Con _managed service_ si intende un'offerta di servizio da parte di un fornitore che comprende un software assieme alla sua gestione ordinaria e manutenzione. Ne sono esempi i servizi di [Database as a Service](/it/database-as-a-service/) come RDS di Amazon, o i servizi esterni di monitoring come Datadog. ## Quali problematiche affronta @@ -14,4 +14,4 @@ La gestione di un software è un'attività complessa, specialmente considerando ## In che modo aiuta -I managed services sono soluzioni pronte da usare subito, che richiedono sforzi limitati dal punto di vista operativo. Consentono alle organizzazioni di esternalizzare le attività che non fanno parte del proprio core business, e connettersi ad esse tramite ben definite interfacce, solitamente seguendo i principi di sviluppo delle [API](/application-programming-interface/). +I managed services sono soluzioni pronte da usare subito, che richiedono sforzi limitati dal punto di vista operativo. Consentono alle organizzazioni di esternalizzare le attività che non fanno parte del proprio core business, e connettersi ad esse tramite ben definite interfacce, solitamente seguendo i principi di sviluppo delle [API](/it/application-programming-interface/). diff --git a/content/it/microservices.md b/content/it/microservices.md index 99456fb0e3..5fdd012ef2 100644 --- a/content/it/microservices.md +++ b/content/it/microservices.md @@ -4,13 +4,13 @@ status: Completed category: Concetto --- -## Che cos’è +## Cos'è -I microservizi sono un approccio moderno allo sviluppo di applicazioni che sfrutta le tecnologie native del cloud. Sebbene le applicazioni moderne, come Netflix, sembrino essere un'unica app, in realtà sono una raccolta di servizi più piccoli, tutti in stretta collaborazione. Ad esempio, una singola pagina che ti consente di accedere, cercare e visualizzare in anteprima i video è probabilmente alimentata da servizi più piccoli che ne gestiscono ciascuno un aspetto (ad esempio ricerca, autenticazione ed esecuzione di anteprime nel browser). In breve, i microservizi si riferiscono a un modello di architettura dell'applicazione solitamente in contrasto con le [applicazioni monolitiche](/monolithic-apps/). +I microservizi sono un approccio moderno allo sviluppo di applicazioni che sfrutta le tecnologie native del cloud. Sebbene le applicazioni moderne, come Netflix, sembrino essere un'unica app, in realtà sono una raccolta di servizi più piccoli, tutti in stretta collaborazione. Ad esempio, una singola pagina che ti consente di accedere, cercare e visualizzare in anteprima i video è probabilmente alimentata da servizi più piccoli che ne gestiscono ciascuno un aspetto (ad esempio ricerca, autenticazione ed esecuzione di anteprime nel browser). In breve, i microservizi si riferiscono a un modello di architettura dell'applicazione solitamente in contrasto con le [applicazioni monolitiche](/it/monolithic-apps/). -## Quale problema affronta +## Quali problematiche affronta -I microservizi sono una risposta alle sfide poste dalle applicazioni monolitiche. In genere, le diverse parti di un'applicazione dovranno essere [scalabili](/scalability/) separatamente. Per esempio, un negozio online avrà più visualizzazioni di prodotti che pagamenti. Ciò significa che avrai bisogno di più copie della funzionalità di visualizzazione del prodotto in esecuzione rispetto al pagamento. In un'applicazione monolitica, quei bit di logica non possono essere creati separatamente. Se non riesci a ridimensionare la funzionalità del prodotto individualmente, dovrai duplicare l'intera app con tutti gli altri componenti che non ti servono - un uso inefficiente delle risorse. Le applicazioni monolitiche causano agli sviluppatori di soccombere facilmente alle insidie della progettazione. Poiché tutto il codice è in un unico posto, è più facile rendere quel codice [strettamente accoppiato](/tightly-coupled-architectures/) ed è più difficile applicare il principio della separazione dei contesti. I monoliti spesso richiedono agli sviluppatori di comprendere l'intera base di codice prima di poter essere produttivi. +I microservizi sono una risposta alle sfide poste dalle applicazioni monolitiche. In genere, le diverse parti di un'applicazione dovranno essere [scalabili](/it/scalability/) separatamente. Per esempio, un negozio online avrà più visualizzazioni di prodotti che pagamenti. Ciò significa che avrai bisogno di più copie della funzionalità di visualizzazione del prodotto in esecuzione rispetto al pagamento. In un'applicazione monolitica, quei bit di logica non possono essere creati separatamente. Se non riesci a ridimensionare la funzionalità del prodotto individualmente, dovrai duplicare l'intera app con tutti gli altri componenti che non ti servono - un uso inefficiente delle risorse. Le applicazioni monolitiche causano agli sviluppatori di soccombere facilmente alle insidie della progettazione. Poiché tutto il codice è in un unico posto, è più facile rendere quel codice [strettamente accoppiato](/it/tightly-coupled-architectures/) ed è più difficile applicare il principio della separazione dei contesti. I monoliti spesso richiedono agli sviluppatori di comprendere l'intera base di codice prima di poter essere produttivi. ## In che modo aiuta diff --git a/content/it/nodes.md b/content/it/nodes.md index a8728e808c..f2c0458297 100644 --- a/content/it/nodes.md +++ b/content/it/nodes.md @@ -6,11 +6,11 @@ category: Concetto ## Cos'è -Un nodo è un computer che lavora insieme ad altri computer, o nodi, per realizzare un compito comune. Prendi per esempio il tuo portatile, il modem e la stampante. Sono tutti collegati alla tua rete wireless che comunicano e collaborano: ognuno rappresenta un nodo. Nel [cloud computing](/cloud-computing/), un nodo può essere un computer fisico, un computer virtuale (chiamato [VM](/it/virtual-machine/)) o anche un [container](/container/). +Un nodo è un computer che lavora insieme ad altri computer, o nodi, per realizzare un compito comune. Prendi per esempio il tuo portatile, il modem e la stampante. Sono tutti collegati alla tua rete wireless che comunicano e collaborano: ognuno rappresenta un nodo. Nel [cloud computing](/it/cloud-computing/), un nodo può essere un computer fisico, un computer virtuale (chiamato [VM](/it/virtual-machine/)) o anche un [container](/it/container/). ## Quali problematiche affronta -Un'applicazione potrebbe (e in molti casi è così) girare su una singola macchina, ma ci sono alcuni rischi legati a questo. Il malfunzionamento del sistema sottostante, ad esempio, potrebbe interrompere l'esecuzione dell'applicazione. Per risolvere questo problema, gli sviluppatori hanno iniziato a creare [applicazioni distribuite](/distributed-apps/) dove ogni processo viene eseguito su un nodo differente. Perciò, i nodi che eseguono le applicazioni o processi come parte di un gruppo formano un [cluster](/it/cluster/), o gruppo di nodi che lavorano insieme per raggiungere un obiettivo comune. +Un'applicazione potrebbe (e in molti casi è così) girare su una singola macchina, ma ci sono alcuni rischi legati a questo. Il malfunzionamento del sistema sottostante, ad esempio, potrebbe interrompere l'esecuzione dell'applicazione. Per risolvere questo problema, gli sviluppatori hanno iniziato a creare [applicazioni distribuite](/it/distributed-apps/) dove ogni processo viene eseguito su un nodo differente. Perciò, i nodi che eseguono le applicazioni o processi come parte di un gruppo formano un [cluster](/it/cluster/), o gruppo di nodi che lavorano insieme per raggiungere un obiettivo comune. ## In che modo aiuta diff --git a/content/it/platform-as-a-service.md b/content/it/platform-as-a-service.md index 7bdd681ce5..744b72d5a6 100644 --- a/content/it/platform-as-a-service.md +++ b/content/it/platform-as-a-service.md @@ -10,8 +10,8 @@ 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](/microservices/) o le [applicazioni distribuite](/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à](/scalability/) delle applicazioni. +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. ## In che modo aiuta -Un servizio PaaS fornisce strumenti di infrastruttura agli sviluppatori di applicazioni in modo completamente automatizzato. Consente loro di comprendere e preoccuparsi meno dell'infrastruttura stessa e di dedicare più tempo e sforzi alla scrittura del codice dell'applicazione. Fornisce inoltre una base di monitoraggio e [osservabilità](/observability/) per aiutare i team ad assicurarsi che le proprie applicazioni siano funzionanti. +Un servizio PaaS fornisce strumenti di infrastruttura agli sviluppatori di applicazioni in modo completamente automatizzato. Consente loro di comprendere e preoccuparsi meno dell'infrastruttura stessa e di dedicare più tempo e sforzi alla scrittura del codice dell'applicazione. Fornisce inoltre una base di monitoraggio e [osservabilità](/it/observability/) per aiutare i team ad assicurarsi che le proprie applicazioni siano funzionanti. diff --git a/content/it/site-reliability-engineering.md b/content/it/site-reliability-engineering.md index 8c77d57477..ac5820982d 100644 --- a/content/it/site-reliability-engineering.md +++ b/content/it/site-reliability-engineering.md @@ -4,11 +4,11 @@ status: Completed category: Concetto --- -## Che cos’è +## Cos'è Site Reliability Engineering o SRE è una disciplina che combina operations e ingegneria del software. Quest'ultima viene applicata specificamente a problemi infrastrutturali e operativi. In altre parole, invece di creare funzionalità di prodotto, i SRE realizzano i sistemi su cui le applicazioni sono in esecuzione. Esistono somiglianze con DevOps, ma mentre DevOps si concentra sul portare il codice in produzione, SRE garantisce che il codice in produzione funzioni correttamente. -## Quale problema affronta +## Quali problematiche affronta Per garantire che le applicazioni funzionino in modo affidabile, sono necessarie molteplici funzionalità, dal monitoraggio delle prestazioni, agli allarmi, al debug di errori e problemi. Senza questi elementi, gli sviluppatori possono solo reagire ai problemi anziché lavorare in modo proattivo per evitarli: il verificarsi di interruzioni di servizio sarà solo questione di tempo. diff --git a/content/it/tls.md b/content/it/tls.md index addff03aa5..a064b45fbb 100644 --- a/content/it/tls.md +++ b/content/it/tls.md @@ -5,10 +5,13 @@ category: Concetto --- ## Cos'è + Il _Transport Layer Security_ (TLS) è un protocollo progettato per fornire maggiore sicurezza alla comunicazione su una rete. Garantisce la consegna sicura dei dati inviati su Internet, evitando possibili monitoraggi e/o alterazioni dei dati stessi. Questo protocollo è ampiamente utilizzato in applicazioni come messaggistica, e-mail, ecc. -## Quale problema affronta +## Quali problematiche affronta + Senza TLS, le informazioni sensibili come le abitudini di navigazione, la corrispondenza e-mail, le chat online e le chiamate in conferenza possono essere facilmente rintracciate e modificate da altri durante la trasmissione. L'abilitazione delle applicazioni server e client per il supporto di TLS garantisce che i dati trasmessi tra di loro siano crittografati e non visualizzabili da terze parti. ## In che modo aiuta + TLS utilizza una combinazione di tecniche di codifica che forniscono sicurezza durante la trasmissione dei dati su una rete. TLS consente una connessione crittografata tra un'applicazione client e un server, come un browser web e un sito bancario. Consente inoltre alle applicazioni client di identificare con certezza il server a cui si stanno connettendo, riducendo il rischio che un client parli con un sito fraudolento. Ciò garantisce che terze parti non siano in grado di vedere e monitorare i dati trasmessi tra le applicazioni utilizzando TLS, che protegge le informazioni riservate e private come numeri di carta di credito, password, posizione, ecc. \ No newline at end of file diff --git a/content/it/virtual-machine.md b/content/it/virtual-machine.md index b603cf8e68..325e0fe9e0 100644 --- a/content/it/virtual-machine.md +++ b/content/it/virtual-machine.md @@ -4,13 +4,13 @@ status: Completed category: Tecnologia --- -## Che cos’è +## Cos'è -Una macchina virtuale (VM) è un computer e il suo sistema operativo che non è legato a un particolare componente hardware. Le macchine virtuali si basano sulla [virtualizzazione](/virtualization/) per suddividere un singolo computer fisico in più computer virtuali. Questa separazione consente alle organizzazioni e ai fornitori di infrastrutture di creare e distruggere VM senza influire sull'hardware sottostante. +Una macchina virtuale (VM) è un computer e il suo sistema operativo che non è legato a un particolare componente hardware. Le macchine virtuali si basano sulla [virtualizzazione](/it/virtualization/) per suddividere un singolo computer fisico in più computer virtuali. Questa separazione consente alle organizzazioni e ai fornitori di infrastrutture di creare e distruggere VM senza influire sull'hardware sottostante. -## Quale problema affronta +## Quali problematiche affronta -Le macchine virtuali sfruttano la virtualizzazione. Quando una macchina [bare metal](/bare-metal-machine/) è vincolata a un singolo sistema operativo (OS), il modo in cui le risorse della macchina possono essere utilizzate è alquanto limitato. Inoltre, quando un sistema operativo è legato a una singola macchina fisica, la sua disponibilità è direttamente legata a quell'hardware. Se la macchina fisica è offline a causa di manutenzione o guasti hardware, lo è anche il sistema operativo. +Le macchine virtuali sfruttano la virtualizzazione. Quando una macchina [bare metal](/it/bare-metal-machine/) è vincolata a un singolo sistema operativo (OS), il modo in cui le risorse della macchina possono essere utilizzate è alquanto limitato. Inoltre, quando un sistema operativo è legato a una singola macchina fisica, la sua disponibilità è direttamente legata a quell'hardware. Se la macchina fisica è offline a causa di manutenzione o guasti hardware, lo è anche il sistema operativo. ## In che modo aiuta From 1aece8ac73a593513359aab3db2c1a40ce3845f4 Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Thu, 14 Jul 2022 21:51:42 +0200 Subject: [PATCH 031/219] Update content/it/canary-deployment.md --- content/it/canary-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/it/canary-deployment.md b/content/it/canary-deployment.md index b9f4e4cd4b..aba161eba6 100644 --- a/content/it/canary-deployment.md +++ b/content/it/canary-deployment.md @@ -9,7 +9,7 @@ Per _Canary deployment_ si intende una strategia di distribuzione che inizia con Il termine _Canary_ ("canarino") si riferisce alla pratica del "canarino in una miniera di carbone" in cui i canarini venivano portati nelle miniere di carbone per proteggere i minatori. Se fossero stati presenti gas nocivi inodore, l'uccello sarebbe morto e i minatori avrebbero compreso di dover evacuare rapidamente. Allo stesso modo, se qualcosa va storto con il codice aggiornato, il traffico in tempo reale viene "evacuato" alla versione originale. -## Quale problema affronta +## Quali problematiche affronta Non importa quanto sia approfondita la strategia di test, ci sono sempre alcuni bug scoperti in produzione. Spostare il 100% del traffico da una versione di un'app a un'altra può portare a errori di maggiore impatto. ## In che modo aiuta From e546f434f7b691898f8959b775346f0b728bb5a5 Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Mon, 18 Jul 2022 14:27:46 +0200 Subject: [PATCH 032/219] localizzazione termine devsecops (#1087) Signed-off-by: Francesco Sbaraglia Co-authored-by: Francesco Sbaraglia --- content/it/devsecops.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 content/it/devsecops.md diff --git a/content/it/devsecops.md b/content/it/devsecops.md new file mode 100644 index 0000000000..c078e016d7 --- /dev/null +++ b/content/it/devsecops.md @@ -0,0 +1,16 @@ +--- +title: DevSecOps +status: Completed +category: Concetto +--- + +## Cos'è +Il termine DevSecOps si riferisce alla combinazione culturale delle responsabilità di sviluppo, operative e di sicurezza. Estende l'approccio [DevOps](/it/devops/) per includere le priorità in materia di sicurezza con un'interruzione minima o nulla del flusso di lavoro degli sviluppatori e degli operatori. Come DevOps, DevSecOps è un cambiamento culturale, spinto dalle tecnologie adottate, con metodi di adozione unici. + +## Quali problematiche risolve +Le pratiche DevOps includono [continuous integration](/it/continuous_integration/) e [continuous deployment](/it/continuous_delivery/) e accelerano i cicli di sviluppo e rilascio delle applicazioni. Purtroppo, i processi di rilascio automatizzati che non riescono a rappresentare adeguatamente tutti gli stakeholder dell'organizzazione possono accentuare i problemi esistenti. Un processo che rilascia rapidamente nuovo software senza considerare le esigenze di sicurezza può degradare la strategia di sicurezza di un'organizzazione. + +## In che modo aiuta +DevSecOps si concentra sull'abbattimento dei silos dei team e promuove la creazione di flussi di lavoro sicuri e automatizzati. Quando si scelgono le applicazioni di sicurezza, le organizzazioni devono sfruttare i flussi di lavoro CI/CD automatizzati e l'applicazione delle policy che danno potere allo sviluppatore. L'obiettivo non è quello di essere un blocco, ma di applicare le politiche di sicurezza fornendo agli utenti informazioni precise su come portare avanti il progetto. Se implementata correttamente, un'organizzazione otterrà una migliore comunicazione tra i team e ridurrà gli incidenti di sicurezza e i costi associati. + + From 7d4b52af9ae6d5dedc02264fc59a9cef46dd76d9 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sun, 24 Jul 2022 22:15:43 +0200 Subject: [PATCH 033/219] [it] localizzazione termine distributed-system (#1002) * Added distributed-system italian localization Signed-off-by: ugho16 * Update content/it/distributed_system.md Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed_system.md Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed_system.md Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed_system.md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed_system.md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed_system.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed_system.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed_system.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> --- content/it/distributed_system.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 content/it/distributed_system.md diff --git a/content/it/distributed_system.md b/content/it/distributed_system.md new file mode 100644 index 0000000000..2eca4b24ab --- /dev/null +++ b/content/it/distributed_system.md @@ -0,0 +1,21 @@ +--- +title: Sistema distribuito +status: Feedback Appreciated +category: concetto +--- + +## Cos'è + +Un sistema distribuito è un insieme di elementi computazionali autonomi collegati in rete, pur apparendo all'utente un unico sistema coerente. Generalmente chiamati [nodi](/it/nodes/), questi elementi possono essere dispositivi hardware (ad esempio computer o smartphone) oppure processi software. I nodi sono programmati per raggiungere un obiettivo comune e si scambiano messaggi all'interno della rete per collaborare. + +## Quali problematiche affronta + +Oggi molte applicazioni moderne sono così grandi che avrebbero bisogno di supercomputer per funzionare. Basti pensare a Gmail o a Netflix: nessun singolo computer è abbastanza potente da poter ospitare l'intera applicazione. Collegando più computer, la potenza di calcolo diventa quasi infinita. Senza calcolo distribuito molte applicazioni su cui facciamo affidamento oggi non potrebbero esistere. + +I sistemi tradizionali sono [scalabili](/it/scalability/) verticalmente, cioè vi si può aggiungere più CPU o memoria a una singola macchina. La scalabilità verticale è un processo lungo, richiede dei momenti di down e raggiunge velocemente i suoi limiti. + +## In che modo aiuta + +I sistemi distribuiti sono [scalabili orizzontalmente](/it/horizontal-scaling/), per esempio aggiungendo altri nodi al sistema quando è necessario. Questo processo può essere automatizzato, consentendo a un sistema di gestire un improvviso aumento di carico di lavoro o di consumo di risorse. + +Un sistema non distribuito è esposto al rischio di fallimento: se un computer si blocca, si ferma il sistema intero. Un sistema distribuito può essere progettato in modo da continuare a funzionare e produrre il medesimo risultato anche se alcuni computer si bloccano. From eb8925ae96b1ddd3e1efbfe96a1a0470ba3ea76b Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sun, 24 Jul 2022 22:16:06 +0200 Subject: [PATCH 034/219] [it] localizzazione termine Distributed Apps (#978) * Added Distributed Apps italian localization Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update title Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed-apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed-apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update status Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/distributed-apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> --- content/it/distributed-apps.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/it/distributed-apps.md diff --git a/content/it/distributed-apps.md b/content/it/distributed-apps.md new file mode 100644 index 0000000000..95ea2b7976 --- /dev/null +++ b/content/it/distributed-apps.md @@ -0,0 +1,17 @@ +--- +title: Applicazioni distribuite +status: Completed +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/). + +## Quali problematiche affronta + +Un'applicazione in esecuzione su un singolo computer rappresenta un singolo punto di vulnerabilità: se quel computer si blocca, l'applicazione non sarà più disponibile. Le applicazioni distribuite vengono spesso messe in contrapposizione alle applicazioni monolitiche. Un'applicazione monolitica è più difficilmente scalabile perché i singoli componenti non sono scalabili indipendentemente. Man mano che questi ultimi crescono, possono diventare anche un ostacolo alla developer velocity, perché più sviluppatori devono lavorare su una codebase condivisa che non ha necessariamente dei confini ben definiti. + +## In che modo aiuta + +Dividendo un'applicazione in diverse parti ed eseguendola su più locazioni, il sistema in generale può tollerare più fallimenti. Inoltre ciò permette a un'applicazione di trarre beneficio dalle caratteristiche di scalabilità che non ha un'applicazione in esecuzione su un'unica instanza, ovvero la capacità di essere scalabile orizzontalmente. Questo, però, comporta un aumento di complessità e di sforzo operativo, dal momento che in questo modo vengono eseguite molte componenti dell'applicazione, invece di un'unica applicazione. From 848054fe75d65d7bed4bc2db71ce3c0212453daf Mon Sep 17 00:00:00 2001 From: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Date: Mon, 25 Jul 2022 15:55:04 +0200 Subject: [PATCH 035/219] [it] Traduzione Cloud Native Apps (#1093) * Localisation PaaS * Localization Cloud Native Apps * Delete platform_as_a_service.md * Update content/it/cloud_native_apps.md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> * Update content/it/cloud_native_apps.md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> * Update content/it/cloud_native_apps.md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> * Update content/it/cloud_native_apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/cloud_native_apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/cloud_native_apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/cloud_native_apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/cloud_native_apps.md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/cloud_native_apps.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 content/it/cloud_native_apps.md diff --git a/content/it/cloud_native_apps.md b/content/it/cloud_native_apps.md new file mode 100644 index 0000000000..ae7e8e0b64 --- /dev/null +++ b/content/it/cloud_native_apps.md @@ -0,0 +1,14 @@ +--- +title: Applicazioni Cloud Native +status: Completed +category: Concetto +--- + +## Cos'è +Le applicazioni Cloud Native sono progettate specificamente per sfruttare le innovazioni nel [Cloud Computing](/it/cloud_computing/). Queste applicazioni si integrano facilmente con le rispettive architetture cloud sfruttandone le risorse e le capacità in termini di [scalabilità](/it/scalability/). La definizione si riferisce anche ad applicazioni che sfruttano le innovazioni in ambito infrastrutturale, introdotte dal Cloud Computing. Con applicazioni Cloud Native oggi si intendono app che vengono eseguite indifferentemente in data center di un provider cloud o su piattaforme Cloud Native on-premise. + +## Quali problematiche affronta +I tradizionali ambienti on-premise fornivano risorse di calcolo in modo abbastanza specifico. Ogni data center disponeva di servizi caratterizzati dal [forte accoppiamento](/it/tightly_coupled_architectures/) tra applicazioni e il loro ambiente di esecuzione, spesso dipendendo marcatamente dal provisioning manuale dell'infrastruttura, come [macchine virtuali](/it/virtual_machine/) e servizi. Questo, a sua volta, vincolava gli sviluppatori e le loro applicazioni a quel data center specifico. Ma le applicazioni non progettate per il cloud non potevano sfruttarne le capacità di resilienza e scalabilità; si pensi, per esempio, alle app che richiedendo un intervento manuale per avviarsi correttamente: esse non possono essere ridimensionate automaticamente, né possono essere riavviate automaticamente in caso di errore. + +## In che modo aiuta +Sebbene non esista un modello universale per le applicazioni Cloud Native, è possibile identificare alcuni elementi comuni. Le app Cloud Native sono resilienti, gestibili e supportate dall'offerta di servizi cloud che le accompagna. Quest'ultima consente un elevato grado di [osservabilità](/it/observability/) che permette agli utenti di rilevare e risolvere i problemi prima che questi si intensifichino. In combinazione con una solida automazione, le applicazioni Cloud Native consentono agli ingegneri di apportare modifiche ad alto impatto frequentemente e in modo prevedibile, con il minimo sforzo. From 4adaa989bffa555a7d557df936249ce70332b4ae Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Mon, 25 Jul 2022 14:55:32 +0100 Subject: [PATCH 036/219] [it] localizzazione termine containers (#618) * traduzione del termine VM * updated VM translation * updated with reviews term/virtual-machine * updated status * push of term/microservices * term/microservices * term/autoscaling * term/autoscaling * updated term/autoscaling * term/containers * Update content/it/containers.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/containers.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/containers.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/containers.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/containers.md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/containers.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 content/it/containers.md diff --git a/content/it/containers.md b/content/it/containers.md new file mode 100644 index 0000000000..68e2515476 --- /dev/null +++ b/content/it/containers.md @@ -0,0 +1,16 @@ +--- +title: Containers +status: Completed +category: Tecnologia +--- + +## Cos'è +Un container è un processo in esecuzione con vincoli di risorse e capacità gestiti dal sistema operativo di un computer. I file disponibili per il processo del container vengono compressi in una "immagine" del container. I container vengono eseguiti in spazi di memoria adiacenti sulla stessa macchina, ma in genere il sistema operativo impedisce ai processi container separati di interagire tra loro. + +## Quali problematiche affronta +Prima che i container fossero disponibili, erano necessarie macchine separate per eseguire le applicazioni. Ogni macchina richiedeva il proprio sistema operativo, che occupava CPU, memoria e spazio su disco, il tutto per il funzionamento di una singola applicazione. Inoltre, la manutenzione, l'aggiornamento e l'avvio di un sistema operativo sono un'altra significativa fonte di lavoro. + +## In che modo aiuta +I container condividono lo stesso sistema operativo e le relative risorse della macchina, diluendo il sovraccarico delle risorse del sistema operativo a più processi e creando un uso efficiente della macchina fisica. Questa funzionalità è possibile solo perché ai container è tipicamente preclusa ogni forma di interazione. Ciò consente di eseguire molte più applicazioni sulla stessa macchina fisica. + +Tuttavia, ci sono dei limiti. Poiché i container condividono lo stesso sistema operativo, i processi possono essere considerati meno sicuri delle alternative. I container richiedono anche limitazioni alle risorse condivise. Per garantire la disponibilità di risorse, gli amministratori devono vincolare e limitare l'utilizzo della memoria e della CPU in ciascun container, in modo che le altre applicazioni non siano rallentate. \ No newline at end of file From 3202ae2d8ccb8bf03006d04bb9b1ca8a49e376fb Mon Sep 17 00:00:00 2001 From: Michel Murabito Date: Mon, 25 Jul 2022 15:58:07 +0200 Subject: [PATCH 037/219] [it] Insert API Gateway term (#1092) * Insert API Gateway term Signed-off-by: Michel Murabito * Update content/it/api-gateway.md Signed-off-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> * Update content/it/api-gateway.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> * Update content/it/api-gateway.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> * Update content/it/api-gateway.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Co-authored-by: Michel Murabito Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> --- content/it/api-gateway.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/it/api-gateway.md diff --git a/content/it/api-gateway.md b/content/it/api-gateway.md new file mode 100644 index 0000000000..c385f4e59e --- /dev/null +++ b/content/it/api-gateway.md @@ -0,0 +1,17 @@ +--- +title: API Gateway +status: Completed +category: tecnologia +tags: ["networking", "", ""] +--- + +## Cos'è +Un API Gateway è uno strumento che aggrega [API](/it/application-programming-interface/) applicative rendendole disponibili in un'unica posizione. Questo consente alle organizzazioni di spostare le funzioni chiave, come l'autenticazione e l'autorizzazione o la limitazione del numero di richieste tra le applicazioni, in una posizione gestita centralmente. Un API Gateway fornisce inoltre un'unica interfaccia comune per i consumatori di API (spesso esterni). + + +## Quali problematiche affronta +Se stai mettendo le API a disposizione di consumatori esterni, vorresti avere un unico punto di ingresso per gestire e controllare tutti gli accessi. Inoltre, se devi aggiungere funzionalità a tali interazioni, un API Gateway ti consente di applicarle in modo uniforme a tutto il traffico senza richiedere modifiche al codice dell'app. + + +## In che modo aiuta +Fornendo un unico punto di accesso per le varie API in un'applicazione, gli API Gateway rendono più facile per le organizzazioni applicare logiche di business o di sicurezza trasversali in una posizione centrale. Consentono inoltre ai consumatori dell’applicazione di rivolgersi a un unico indirizzo per tutte le loro esigenze. Un API Gateway può semplificare problemi operativi come sicurezza e [osservabilità](/it/observability/) fornendo un unico punto di accesso per le richieste a tutti i servizi Web in un sistema. Poiché tutte le richieste fluiscono attraverso l’API Gateway, è possibile in un'unica posizione aggiungere funzionalità come la raccolta di metriche, i limiti di utilizzo e l'autorizzazione. From 622f57c8602041dd21c2a3f6ca9755e3f484c319 Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Tue, 26 Jul 2022 21:48:35 +0200 Subject: [PATCH 038/219] [it] localizzazione termine cloud native security (#1083) * localizzazione termine cloud native security Signed-off-by: Francesco Sbaraglia * Update cloud_native_security.md Signed-off-by: Francesco Sbaraglia * Update content/it/cloud_native_security.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/cloud_native_security.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/cloud_native_security.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/cloud_native_security.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia Co-authored-by: Francesco Sbaraglia Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/cloud_native_security.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/it/cloud_native_security.md diff --git a/content/it/cloud_native_security.md b/content/it/cloud_native_security.md new file mode 100644 index 0000000000..3638b8cfe8 --- /dev/null +++ b/content/it/cloud_native_security.md @@ -0,0 +1,17 @@ +--- +title: Cloud Native Security +status: Completed +category: Concetto +--- + +## Cos'è + +_Cloud native security_ è un approccio che include la sicurezza nelle [applicazioni cloud native](/it/cloud_native_apps/). Garantisce che la sicurezza faccia parte dell'intero ciclo di vita dell'applicazione, dalla fase di sviluppo fino alla messa in produzione. Cloud native security mira a garantire gli stessi standard dei modelli di sicurezza tradizionali, adattandosi al contempo alle particolarità degli ambienti cloud native, in particolare alle rapide modifiche del codice e all'infrastruttura altamente effimera. Cloud native security è molto legata alla pratica chiamata [DevSecOps](/it/devsecops/). + +## Quali problematiche affronta + +I modelli tradizionali di sicurezza sono stati costruiti sulla base di una serie di presupposti che non sono più validi. Le applicazioni cloud native cambiano frequentemente, utilizzano un gran numero di strumenti e librerie open source, spesso vengono fatte eseguire in un'infrastruttura controllata dal fornitore e sono soggette a rapidi cambiamenti dell'infrastruttura. Le revisioni del codice, i lunghi cicli di garanzia della qualità, la scansione delle vulnerabilità dei server e le revisioni della sicurezza dell'ultimo minuto non sono sufficientemente [scalabili](/it/scalability/) quando si usano con le [applicazioni cloud native](/it/cloud-native-apps/). + +## In che modo aiuta + +Cloud native security introduce un nuovo modo di operare che protegge le applicazioni migrando dai modelli di sicurezza tradizionali ad uno in cui la sicurezza è coinvolta in ogni fase del ciclo di rilascio del software. Gli audit e i controlli manuali sono in gran parte sostituiti da scansioni automatizzate. Le pipeline di rilascio rapido del codice sono integrate con strumenti che analizzano il codice alla ricerca di vulnerabilità prima della sua compilazione. Le librerie open source vengono prelevate da fonti affidabili e monitorate per individuare eventuali vulnerabilità. Invece di rallentare il cambiamento, un modello di sicurezza cloud native lo abbraccia aggiornando frequentemente i componenti vulnerabili o garantendo che l'infrastruttura venga regolarmente sostituita. From d72687b557a1714b2adf72eb980f2a3e7ead26a3 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Tue, 26 Jul 2022 21:49:59 +0200 Subject: [PATCH 039/219] [it] localizzazione termine Monolithic Apps (#1079) * Added Monolithic Apps Italian localization Signed-off-by: Paolo * Update content/it/monolithic-apps.md edited the link Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/monolithic-apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> * Update content/it/monolithic-apps.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> * Update content/it/monolithic-apps.md Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/monolithic-apps.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/monolithic-apps.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/monolithic-apps.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 content/it/monolithic-apps.md diff --git a/content/it/monolithic-apps.md b/content/it/monolithic-apps.md new file mode 100644 index 0000000000..201a161f69 --- /dev/null +++ b/content/it/monolithic-apps.md @@ -0,0 +1,18 @@ +--- +title: Applicazioni monolitiche +status: Feedback Appreciated +category: concetto +tags: ["architettura", "", ""] +--- + +## Cos'è + +Un'applicazione monolitica contiene tutte le funzionalità in un programma rilasciabile come una singola unità. Spesso questo è il modo più semplice di iniziare a creare un'applicazione. Tuttavia, quando l'applicazione aumenta in complessità, i monoliti possono diventare difficili da manutenere. Un maggior numero di sviluppatori che lavorino sullo stesso codice sorgente implica anche un aumento della probabilità di effettuare cambiamenti che vadano in conflitto tra loro, da cui la necessità di rendere più fitta la comunicazione tra gli stessi sviluppatori. + +## 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. + +## In che modo aiuta + +Un monolite ben progettato può rispettare i principi lean, essendo il modo più semplice per realizzare un'applicazione funzionante. Quando un'applicazione monolitica dimostra di creare valore con successo, questa può essere scomposta in microservizi. Realizzare un'applicazione basata su microservizi prima di averne dimostrato il valore può essere un prematuro dispendio di energie a livello ingegneristico. Se l'applicazione non produce alcun valore, quelle energie saranno state sprecate. From 2f499dcce38d8dba5a1dde252b26684ae017b9bd Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Tue, 26 Jul 2022 21:50:44 +0200 Subject: [PATCH 040/219] [it] localizzazione termine chaos engineering (#1072) * localizzazione chaos engineering Signed-off-by: Francesco Sbaraglia * Update content/it/chaos_engineering.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/chaos_engineering.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/chaos_engineering.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/chaos_engineering.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia Co-authored-by: Francesco Sbaraglia Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/chaos_engineering.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 content/it/chaos_engineering.md diff --git a/content/it/chaos_engineering.md b/content/it/chaos_engineering.md new file mode 100644 index 0000000000..809244cc51 --- /dev/null +++ b/content/it/chaos_engineering.md @@ -0,0 +1,14 @@ +--- +title: Chaos Engineering +status: Completed +category: Concetto +--- + +## Cos'è +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. + +## 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. From 5f4872d9500bd9cfad1bb8e3369d814d736b55b3 Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Tue, 26 Jul 2022 21:50:57 +0200 Subject: [PATCH 041/219] [it] localizzazione termine scalability (#1071) * localizzazione termine scalability Signed-off-by: Francesco Sbaraglia * Update content/it/scalability.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/scalability.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * update term Signed-off-by: Francesco Sbaraglia * Update content/it/scalability.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/scalability.md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia Co-authored-by: Francesco Sbaraglia Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/scalability.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 content/it/scalability.md diff --git a/content/it/scalability.md b/content/it/scalability.md new file mode 100644 index 0000000000..3653cacadb --- /dev/null +++ b/content/it/scalability.md @@ -0,0 +1,10 @@ +--- +title: Scalabilità +status: Completed +category: Proprietà +--- + +La scalabilità si riferisce alla capacità di un sistema di estendersi, o altrimenti detto di aumentare la propria capacità di fare qualsiasi cosa il sistema debba fare. Ad esempio, un [cluster](/it/cluster/) [Kubernetes](/it/kubernetes/) è scalabile perché vi si possono aumentare o ridurre il numero delle applicazioni [containerizzate](/it/containerization/). La scalabilità dipende, però, da diversi fattori. Quanti [nodi](/it/nodes/) ha, quanti [containers](/it/container/) può gestire ogni nodo e quanti "record" e operazioni può supportare il pannello di controllo. + +Un sistema scalabile facilita l'aggiunta di ulteriore capacità. Si distinguono due approcci di scalabilità. Da un lato, c'è la [scalabilità orizzontale](/it/horizontal_scaling/) che aggiunge altri nodi per gestire un carico maggiore. Dall'altro la [scalabilità verticale](/it/vertical_scaling/) con la quale i singoli nodi vengono resi più potenti per eseguire più transazioni (ad esempio, aggiungendo più memoria o CPU a una singola macchina). Un sistema scalabile è in grado di cambiare facilmente e di soddisfare le esigenze degli utenti. + From 1eb9c837c48a270b30d583351e6e8a72b999531e Mon Sep 17 00:00:00 2001 From: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Date: Tue, 26 Jul 2022 21:51:07 +0200 Subject: [PATCH 042/219] [it] localizzazione termine portability (#1070) * localizzazione termine portability Signed-off-by: Francesco Sbaraglia * Update content/it/portability.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia * Update content/it/portability.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia Co-authored-by: Francesco Sbaraglia Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/portability.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 content/it/portability.md diff --git a/content/it/portability.md b/content/it/portability.md new file mode 100644 index 0000000000..85d5c23009 --- /dev/null +++ b/content/it/portability.md @@ -0,0 +1,9 @@ +--- +title: Portabilità +status: Completed +category: Proprietà +--- + +Caratteristica del software, la portabilità è una forma di riutilizzabilità che aiuta a evitare il "lock-in" in determinati ambienti operativi, ad esempio in ambito di Cloud Provider, sistemi operativi o fornitori vari. + +Tradizionalmente, si tende a realizzare software per ambienti specifici (quali, ad esempio, AWS o Linux). Il software portabile, invece, funziona in ambienti operativi diversi senza bisogno di grandi modifiche. Un'applicazione è considerata portabile se lo sforzo necessario per adattarla a un nuovo ambiente è entro limiti ragionevoli. L'espressione "portare" significa, infatti, modificare il software e renderlo adattabile a un sistema informatico diverso. From cd86c7913be57910f17761ba43742811207f5281 Mon Sep 17 00:00:00 2001 From: meryem-ldn <71011315+meryem-ldn@users.noreply.github.com> Date: Tue, 26 Jul 2022 20:51:51 +0100 Subject: [PATCH 043/219] [it] localizzazione termine continuous delivery (#619) * traduzione del termine VM * updated VM translation * updated with reviews term/virtual-machine * updated status * push of term/microservices * term/microservices * term/autoscaling * term/autoscaling * updated term/autoscaling * term/containers * term/continuous delivery (CD) * Update content/it/continuous-delivery(CD).md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/continuous-delivery(CD).md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/continuous-delivery(CD).md Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> * Update content/it/continuous-delivery(CD).md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Co-authored-by: sistella <56387955+sistella@users.noreply.github.com> --- content/it/continuous-delivery(CD).md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 content/it/continuous-delivery(CD).md diff --git a/content/it/continuous-delivery(CD).md b/content/it/continuous-delivery(CD).md new file mode 100644 index 0000000000..2e4df57c16 --- /dev/null +++ b/content/it/continuous-delivery(CD).md @@ -0,0 +1,14 @@ +--- +title: Continuous Delivery (CD) +status: Completed +category: Concetto +--- + +## Cos'è +La _Continuous Delivery_ (rilascio continuo), spesso abbreviata in CD, è un insieme di pratiche in cui le modifiche al codice vengono automaticamente implementate in un ambiente di accettazione (oppure, nel caso di distribuzione continua, in produzione). Parte integrante della CD sono le procedure per garantire che il software sia adeguatamente testato prima della distribuzione, nonché le modalità di ripristino in caso di necessità. L'integrazione continua (CI - da _Continuous Integration_) è il primo passo verso la distribuzione continua (vale a dire, le modifiche devono essere raggruppate in modo pulito prima di essere testate e implementate). + +## Quali problematiche affronta +La distribuzione di aggiornamenti [affidabili](/it/reliability/) diventa un problema su vasta scala. Idealmente, bisognerebbe distribuire più frequentemente per offrire un maggiore valore agli utenti finali. Tuttavia, farlo manualmente si traduce in costi di transazione elevati per ogni modifica. Storicamente, per evitare questi costi, le organizzazioni hanno rilasciato meno frequentemente, implementando più modifiche contemporaneamente e aumentando il rischio che qualcosa andasse storto. + +## In che modo aiuta +Le strategie CD creano un processo completamente automatizzato fino in produzione, che testa e distribuisce il software utilizzando varie strategie di distribuzione come le versioni [canary](/it/canary_deployment/) o [blue-green](/it/blue_green_deployment/). Ciò consente agli sviluppatori di distribuire codice frequentemente, garantendo loro la tranquillità che la nuova revisione sia stata testata. In genere, nelle strategie CD si preferisce lo sviluppo basato su _trunk_ al posto di quello su _feature branching_ o _pull requests_. \ No newline at end of file From 3468e4247077fa6a9003d08d53b109d8836f2a80 Mon Sep 17 00:00:00 2001 From: Waleed Ahmed Date: Sat, 1 Oct 2022 01:31:02 +0500 Subject: [PATCH 044/219] Added Urdu Localization Configurations and content/ur dir sign: Waleed Ahmed Signed-off-by: Waleed Ahmed --- config.toml | 6 + content/ur/_TEMPLATE.md | 21 +++ content/ur/_index.md | 45 +++++++ content/ur/abstraction.md | 11 ++ content/ur/contribute/_index.md | 150 +++++++++++++++++++++ content/ur/contributor-ladder/_index.md | 105 +++++++++++++++ content/ur/style-guide/_index.md | 168 ++++++++++++++++++++++++ i18n/ur.toml | 73 ++++++++++ 8 files changed, 579 insertions(+) create mode 100644 content/ur/_TEMPLATE.md create mode 100644 content/ur/_index.md create mode 100644 content/ur/abstraction.md create mode 100644 content/ur/contribute/_index.md create mode 100644 content/ur/contributor-ladder/_index.md create mode 100644 content/ur/style-guide/_index.md create mode 100644 i18n/ur.toml diff --git a/config.toml b/config.toml index dbe0c05247..0be2bcddfb 100644 --- a/config.toml +++ b/config.toml @@ -117,6 +117,12 @@ languageName = "বাংলা(Bengali)" contentDir = "content/bn" weight = 8 +[languages.ur] +title = "کلاؤڈ کی مقامی لغت" +description = "CNCF کلاؤڈ کی مقامی لغت کا مقصد کلاؤڈ مقامی ایپلی کیشنز کے بارے میں بات کرتے وقت استعمال ہونے والی عام اصطلاحات کے حوالے کے طور پر استعمال کرنا ہے۔" +languageName ="اردو(Urdu)" +contentDir = "content/ur" +weight = 9 [markup] [markup.goldmark] diff --git a/content/ur/_TEMPLATE.md b/content/ur/_TEMPLATE.md new file mode 100644 index 0000000000..bc08dc1a39 --- /dev/null +++ b/content/ur/_TEMPLATE.md @@ -0,0 +1,21 @@ +--- +title: ڈیفینیشن ٹیمپلیٹ (Definition Template) +status: Completed +category: تصور +--- + +## یہ کیا ہے + +تصور کا فوری خلاصہ اور یہ کیا ہے۔ + +## مسئلہ یہ حل کرتا ہے + +اس مسئلے کی وضاحت کریں جسے یہ خطاب کرتا ہے۔ مثالی طور پر، اس اصطلاح کا ذکر بھی نہ کریں جس کی آپ تعریف کر رہے ہیں۔ + +## یہ کس طرح مدد کرتا ہے + +بیان کریں کہ یہ اصطلاح اوپر بیان کردہ مسئلے کو کیسے حل کرتی ہے۔ + +## متعلقہ شرائط + +متعلقہ لغت کی شرائط شامل کریں (اگر قابل اطلاق ہو) diff --git a/content/ur/_index.md b/content/ur/_index.md new file mode 100644 index 0000000000..3839e3a4de --- /dev/null +++ b/content/ur/_index.md @@ -0,0 +1,45 @@ +--- +title: "کلاؤڈ کی مقامی لغت (Cloud Native Glossary)" +--- + + +# کلاؤڈ کی مقامی لغت + +Cloud Native Glossary ایک پروجیکٹ ہے جس کی قیادت CNCF بزنس ویلیو سب کمیٹی (BVS) کرتی ہے۔ +اس کا مقصد کسی بھی سابقہ ​​تکنیکی علم کی ضرورت کے بغیر کلاؤڈ کے مقامی تصورات کو واضح اور سادہ زبان میں بیان کرنا ہے۔ + +

A woman and two men presenting technical info on a stage

+ +## تعاون کرنا + +ہر ایک کو کلاؤڈ مقامی لغت میں تبدیلیوں، اضافے اور بہتری کی تجویز دینے کے لیے مدعو کیا جاتا ہے۔ +ہم اس مشترکہ لغت کو تیار کرنے اور بہتر بنانے کے لیے CNCF کے زیرانتظام کمیونٹی پر مبنی عمل کو استعمال کرتے ہیں۔ +یہ لغت ایک وینڈر غیر جانبدار پلیٹ فارم مہیا کرتی ہے تاکہ کلاؤڈ کی مقامی ٹیکنالوجیز کے ارد گرد مشترکہ الفاظ کو منظم کیا جا سکے۔ +منصوبے کے مقصد اور چارٹر کی پابندی کرنے والے تمام شرکاء کی طرف سے تعاون کا خیرمقدم کیا جاتا ہے۔ + +کوئی بھی جو شراکت کرنا چاہتا ہے وہ GitHub کا مسئلہ جمع کرا سکتا ہے یا پل کی درخواست بنا سکتا ہے۔ +براہ کرم اس بات کو یقینی بنائیں کہ آپ [اسٹائل گائیڈ](/style-guide/)کی پیروی کرتے ہیں، دستاویز [کیسے تعاون کریں ](/contribute/)کو پڑھیں، اور CNCF Slack پر[glossary#](https://cloud-native.slack.com/archives/C02TX20MQBB) چینل میں شامل ہوں۔ +ان لوگوں کے لیے ایک [glossary-localizations#](https://cloud-native.slack.com/archives/C02N2RGFXDF) چینل بھی ہے جو اپنی مادری زبان میں لغت کا ترجمہ کرنے میں مدد کرنا چاہتے ہیں۔ + +## اعترافات + +کلاؤڈ مقامی لغت CNCF مارکیٹنگ کمیٹی (بزنس ویلیو سب کمیٹی) کے ذریعہ شروع کی گئی تھی اور اس میں ان کے تعاون شامل ہیں +[Catherine Paganini](https://www.linkedin.com/in/catherinepaganini/en/)، +[Chris Aniszczyk](https://www.linkedin.com/in/caniszczyk/)، +[Daniel Jones](https://www.linkedin.com/in/danieljoneseb/?originalSubdomain=uk)، +[Jason Morgan](https://www.linkedin.com/in/jasonmorgan2/)، +[Katelin Ramer](https://www.linkedin.com/in/katelinramer/)، +[Mike Foster](https://www.linkedin.com/in/mfosterche/?originalSubdomain=ca)، +اور بہت سے تعاون کنندگان۔ +شراکت داروں کی مکمل فہرست کے لیے، براہ کرم [اس GitHub صفحہ](https://github.com/cncf/glossary/graphs/contributors) کو دیکھیں۔ + +لغت کی دیکھ بھال +[Catherine Paganini](https://www.linkedin.com/in/catherinepaganini/en/)، +[Jason Morgan](https://www.linkedin.com/in/jasonmorgan2/)، +[Jihoon Seo](https://www.linkedin.com/in/jihoon-seo/)، +[Noah Ispas](https://www.linkedin.com/in/noah-ispas-0665b42a/) +، اور [Seokho Son](https://www.linkedin.com/in/seokho-son/) نے کی۔ + +## لائسنس + +تمام کوڈ شراکتیں Apache 2.0 لائسنس کے تحت ہیں۔ دستاویزات CC BY 4.0 کے تحت تقسیم کی گئی ہیں۔ diff --git a/content/ur/abstraction.md b/content/ur/abstraction.md new file mode 100644 index 0000000000..26ddc0cf84 --- /dev/null +++ b/content/ur/abstraction.md @@ -0,0 +1,11 @@ +--- +title: تجری (Abstraction) +status: Completed +category: صفت +tags: ["فن تعمیر", "", ""] +--- + +کمپیوٹنگ کے تناظر میں، ایک تجرید ایک ایسی نمائندگی ہے جو [خدمات](/service/) کے صارف +(جس کا مطلب کمپیوٹر پروگرامز یا لوگ) سے تفصیلات کو چھپاتا ہے، جس سے نظام کو زیادہ عام بنایا جاتا ہے اور اس طرح آسانی سے سمجھا جاتا ہے۔ ایک اچھی مثال آپ کے لیپ ٹاپ کا آپریٹنگ سسٹم ہے۔ یہ آپ کا کمپیوٹر کیسے کام کرتا ہے اس کی تمام تفصیلات کا خلاصہ کرتا ہے۔ آپ کوسی پی یو ، میموری، اور پروگراموں کو کیسے ہینڈل کیا جاتا ہے کے بارے میں کچھ جاننے کی ضرورت نہیں ہے، آپ صرف او ایس کو چلاتے ہیں اور او ایس تفصیلات کے ساتھ ڈیل کرتے ہیں۔ یہ تمام تفصیلات او ایس "پردے" یا تجرید کے پیچھے پوشیدہ ہیں۔ + +سسٹمز میں عام طور پر متعدد تجریدی پرتیں ہوتی ہیں۔ یہ نمایاں طور پر ترقی کو آسان بناتا ہے۔ پروگرامنگ کرتے وقت، ڈویلپرز ایک خاص تجریدی پرت کے ساتھ مطابقت رکھنے والے اجزاء تیار کرتے ہیں اور ان تمام بنیادی خصوصیات کے بارے میں فکر کرنے کی ضرورت نہیں ہے جو بہت متفاوت ہو سکتی ہیں۔ اگر یہ تجریدی پرت کے ساتھ کام کرتا ہے، تو یہ سسٹم کے ساتھ کام کرتا ہے - اس سے کوئی فرق نہیں پڑتا ہے کہ ہڈ کے نیچے کیا ہے۔ diff --git a/content/ur/contribute/_index.md b/content/ur/contribute/_index.md new file mode 100644 index 0000000000..24bc163fee --- /dev/null +++ b/content/ur/contribute/_index.md @@ -0,0 +1,150 @@ +--- +title: شراکت کیسے کریں +toc_hide: true +status: Feedback Appreciated +menu: + main: + weight: 10 +--- + +کلاؤڈ مقامی لغت کا مواد [اس GitHub ریپو](https://github.com/cncf/glossary) +میں محفوظ ہے جہاں آپ کو [مسائل](https://github.com/cncf/glossary/issues), [PRs](https://github.com/cncf/glossary/pulls), اور +[بات چیت کی فہرست ملے گی۔](https://github.com/cncf/glossary/discussions) + +آپ کے تعاون کرنے کے چار طریقے ہیں: + +1) [موجودہ مسئلے پر کام کریں](#work-on-an-existing-issue) +2) [نئی شرائط تجویز کریں](#propose-new-terms) +3) [موجودہ کو اپ ڈیٹ کریں](#update-an-existing-term) +4) [لغت کا ترجمہ کرنے میں مدد کریں](#help-translate-the-glossary) + +## لغت کی کمیونٹی میں شامل ہوں! {#join-the-glossary-community} + +اگر آپ باقاعدگی سے حصہ ڈالنا چاہتے ہیں تو ہماری ماہانہ لغت ورکنگ گروپ میٹنگز میں شامل ہونے پر غور کریں۔ آپ میٹنگ کی تفصیلات [CNCF کیلنڈر](https://www.cncf.io/calendar/) میں تلاش کر سکتے ہیں۔ +آپ CNCF Slack پر ہمارے [glossary#](https://cloud-native.slack.com/archives/C02TX20MQBB) چینل میں دیکھ بھال کرنے والوں اور ساتھی شراکت داروں سے بھی رابطہ قائم کر سکتے ہیں — ہمیں آپ سے مل کر خوشی ہوگی! + + +## موجودہ مسئلے پر کام کریں {#work-on-an-existing-issue} + +[Glossary GitHub ریپو مسائل](https://github.com/cncf/glossary/issues) +پر جائیں۔ وہاں آپ کو تمام مسائل کی فہرست نظر آئے گی۔ آپ لیبل کے ذریعہ فلٹر کرسکتے ہیں (جیسے انگریزی زبان، مدد کی ضرورت، اچھا پہلا شمارہ)۔ نوٹ کریں کہ آپ کو اس میں سے کچھ کرنے کے لیے ایک GitHub اکاؤنٹ کی ضرورت ہوگی۔ + +![ایشو اور لیبلز](/images/how-to/issue-and-labels.png) + +یقینی بنائیں کہ آپ جس اصطلاح میں دلچسپی رکھتے ہیں وہ پہلے سے کسی کو تفویض نہیں کی گئی ہے۔ یہاں آپ دیکھ سکتے ہیں کہ پہلی تین شرائط دستیاب ہیں جبکہ اگلی اصطلاح پہلے ہی تفویض کی جا چکی ہے۔ + + +![ایک اصطلاح تفویض کرنا](/images/how-to/howto-04.png) + +ایک بار جب آپ کو کوئی ایسی اصطلاح مل جائے جس پر آپ کام کرنا چاہتے ہیں، تو شمارہ میں کہیں۔ اس پر کلک کریں اور تبصرہ شامل کریں۔ + +![کسی مسئلے کا دعوی کرنا](/images/how-to/claiming-an-issue.png) + +مزید برآں، براہ کرم CNCF Slack پر [glossary#](https://cloud-native.slack.com/archives/C02TX20MQBB) چینل میں بھی شامل ہوں اور دیکھ بھال کرنے والوں کو بتائیں کہ آپ نے ایک نئی اصطلاح کے لیے ایک مسئلہ اٹھایا ہے + (مثالی طور پر Catherine Paganini، @jmo، @Seokho Son، @Jihoon Seo@ اور/ یا iamnoah@ اس بات کا یقین کرنے کے لئے کہ وہ اسے یاد نہیں کرتے ہیں)۔ نوٹ کریں کہ آپ ایک وقت میں صرف ایک ٹرم کا دعوی کر سکتے ہیں۔ اگر آپ متعدد شرائط پر کام کرنا چاہتے ہیں، تو براہ کرم اگلی شرائط کا دعوی کرنے سے پہلے ایک کو ختم کریں۔ + + +ایک بار جب وہ آپ کو تفویض کر دیں تو آپ اس پر کام شروع کر سکتے ہیں۔ اگلے مراحل کے لیے، براہ کرم [ایک نئی اصطلاح جمع کرنے (پی آر بنانے)](#submitting-a-new-term) کے لیے سیکشن سے رجوع کریں۔ + +## نئی شرائط تجویز کریں {#propose-new-terms} + +آپ دوسروں کے لیے ایک نئی اصطلاح تجویز کر سکتے ہیں جس پر کام کریں یا خود ایک نئی تعریف تخلیق کریں۔ کسی بھی طرح، آپ ایک مسئلہ پیدا کرکے شروع کریں گے۔ براہ کرم نوٹ کریں کہ شرائط [CNCF کی کلاؤڈ مقامی تعریف](https://github.com/cncf/toc/blob/main/DEFINITION.md) + کے مطابق ہونی چاہئیں۔ صرف مستثنیات کلاوڈ کے مقامی تصورات کو سمجھنے کے لیے درکار بنیادی اصطلاحات ہیں۔ + +ذیل میں ان لوگوں کے لیے مرحلہ وار گائیڈ ہے جو ابھی تک GitHub سے واقف نہیں ہیں۔ اگر آپ GitHub Pro ہیں، تو براہ کرم اس بات کو یقینی بنانے کے لیے فوری نظر ڈالیں کہ آپ ہمارے ایشو ٹیمپلیٹس، مناسب نام دینے کے کنونشنز کا استعمال کرتے ہیں، Slack پر PR کا دعویٰ کرتے ہیں (ورنہ ہم اس سے محروم رہ سکتے ہیں)، اور فائل ٹیمپلیٹ کہاں سے تلاش کرنا ہے۔ اور براہ کرم شروع کرنے سے پہلے [اسٹائل گائیڈ](/style-guide/) کو پڑھنا یقینی بنائیں — شکریہ! + +### ایک مسئلہ پیدا کرنا {#creating-an-issue} + +[لغت GitHub ریپو](https://github.com/cncf/glossary/issues) مسائل پر جائیں اور "نیا شمارہ" پر کلک کریں۔ + +![مسائل](/images/how-to/howto-01.png) + +آپ کو متعدد ٹیمپلیٹس نظر آئیں گے۔ انگریزی میں ایک نئی اصطلاح تجویز کرنے کے لیے، "ایک نئی اصطلاح (انگریزی) شامل کرنے کی درخواست کریں" کو منتخب کریں۔ + +![ٹیمپلیٹس](/images/how-to/english-issue-template.jpg) + +وہ لفظ شامل کریں جو آپ تجویز کر رہے ہیں، ذیل میں دو سوالوں کے جواب دیں، چیک باکسز کو چیک کریں، اور "نیا شمارہ جمع کروائیں" کو دبائیں۔ اگر آپ صرف ایک نئی اصطلاح تجویز کر رہے ہیں، تو آپ ہو گئے! اس پر کام کرنے کے لیے، اگلے مراحل پر عمل کریں۔ + +### اپنے مسئلے کو ٹرائی کرنا {#triaging-your-issue} + +اگلا، دیکھ بھال کرنے والے اس مسئلے کو حل کریں گے۔ اس کا مطلب ہے کہ وہ اس بات کا جائزہ لیں گے کہ آیا اصطلاح کو لغت کا حصہ ہونا چاہیے (نوٹ، ہر اصطلاح کو قبول نہیں کیا جائے گا۔ شرائط قائم کی جانی چاہئیں اور کلاؤڈ مقامی اصطلاحات کو وسیع پیمانے پر استعمال کیا جانا چاہیے)۔ + + +براہ کرم دیکھ بھال کرنے والوں کو بتائیں کہ آپ نے Slack پر ایک اصطلاح جمع کرائی ہے کیونکہ وہ اس سے محروم رہ سکتے ہیں۔ مثالی طور پر Catherine Paganini، @jmo، @Seokho Son، @Jihoon Seo@، اور/یا iamnoah@ کو ٹیگ کریں۔ اگر اصطلاح منظور ہو جاتی ہے اور آپ اس پر کام کرنا چاہتے ہیں، تو وہ اسے آپ کو تفویض کر دیں گے۔ + +نوٹ کریں کہ آپ ایک وقت میں صرف ایک ٹرم کا دعوی کر سکتے ہیں۔ اگر آپ متعدد شرائط پر کام کرنا چاہتے ہیں، تو براہ کرم اگلی کلیم کرنے سے پہلے ایک کو ختم کریں۔ + + +### ایک نئی اصطلاح جمع کرنا (پی آر بنانا) {#submitting-a-new-term} + +شروع کرنے سے پہلے، براہ کرم [اسٹائل گائیڈ](/style-guide/) کو پڑھیں - اس سے آگے پیچھے کو کم کرنے میں مدد ملے گی۔ جیسا کہ اسٹائل گائیڈ میں بتایا گیا ہے، ہم گوگل یا ورڈ دستاویز سے شروع کرنے کی انتہائی سفارش کرتے ہیں۔ + +ایک بار جب اصطلاح جمع کرانے کے لیے تیار ہو جائے، مواد پر جائیں (کوڈ کے تحت)… + +![مواد](/images/how-to/howto-05.png) + +پھر "en" (یا وہ زبان جس کے لیے آپ جمع کر رہے ہیں)… + + +![زبان کا فولڈر](/images/how-to/howto-06.png) + +اور منتخب کریں `TEMPLATE.md_` + +![سانچے](/images/how-to/howto-07.png) + +مواد کاپی کریں… + +![مواد کاپی کریں](/images/how-to/howto-08.png) + +اور واپس "en" فولڈر میں جائیں۔ "فائل شامل کریں" کو دبائیں اور "نئی فائل بنائیں" کو منتخب کریں۔ + + +![نئی فائل بنائیں](/images/how-to/howto-09.png) + +URL میں اصطلاح کا نام شامل کریں (کوئی کیپیٹلائزیشن نہیں، کوئی خالی جگہ نہیں، کوئی قوسین نہیں، اور الفاظ کو الگ کرنے کے لیے ہائفنز کا استعمال کریں) اور آخر میں md. (نوٹ: اگر آپ کا پیش نظارہ کام نہیں کرتا ہے، تو آپ شاید md. کو شامل کرنا بھول گئے تھے۔ اختتام)۔ اب نیچے ٹیمپلیٹ کا مواد چسپاں کریں۔ فائل میں اپنی تعریف کاپی اور پیسٹ کریں۔ +جائزوں کو آسان بنانے کے لیے، براہ کرم [سیمنٹک لائن بریکس](https://sembr.org/) **کا استعمال کریں** (مثلاً ایک سطر فی جملہ)۔ نوٹ کریں کہ GitHub متن کو فارمیٹ کرنے کے لیے مارک ڈاؤن کا استعمال کرتا ہے (مثال کے طور پر، ہائپر لنک، بولڈ، اٹالک)۔ + براہ کرم اس [مارک ڈاؤن چیٹ شیٹ](https://www.markdownguide.org/cheat-sheet/) کو دیکھیں۔ + اس بات کی توثیق کرنے کے لیے کہ آپ نے مارک ڈاؤن کو مطلوبہ طور پر استعمال کیا ہے، "پیش نظارہ" پر جائیں۔ + +![مدت کو حتمی شکل دیں](/images/how-to/howto-10.png) + +جب آپ جمع کرانے کے لیے تیار ہوں تو نیچے سکرول کریں اور نئی کمٹ فائل کا نام دیں۔ اب آپ اپنی ہی برانچ میں اس اصطلاح کا ارتکاب کرنے والے ہیں۔ PR جمع کرانے کے لیے مزید ایک قدم درکار ہے۔ "نئی فائل کا عہد کریں" کو دبائیں اور… + + +![نئی فائل کا ارتکاب کریں۔](/images/how-to/howto-11.png) + +…اب آپ PR بنا رہے ہیں: + +![ایک پی آر بنائیں](/images/how-to/howto-12.png) + +اب آپ کو "Pull Requests" کے تحت اپنا PR دیکھنا چاہیے۔ + +![prs](/images/how-to/howto-13.png) + +## موجودہ اصطلاح کو اپ ڈیٹ کریں {#update-an-existing-term} + +موجودہ اصطلاح کو اپ ڈیٹ کرنے کے لیے، آپ یا تو کسی مسئلے کے ذریعے تبدیلی کی تجویز دے سکتے ہیں یا پل ریکوئسٹ (PR) جمع کر کے براہ راست ٹرم کو اپ ڈیٹ کر سکتے ہیں۔ + +### کسی مسئلے کے ذریعے تبدیلی کی درخواست کریں {#request-a-change-via-an-issue} + +اگر آپ کسی اصطلاح کے ساتھ کسی مسئلے کو جھنڈا لگانا چاہتے ہیں لیکن نہیں جانتے کہ اسے خود کیسے ٹھیک کرنا چاہتے ہیں تو "مسئلہ کی اطلاع دیں" پر کلک کریں۔ + + +![رپورٹ کا مسئلہ](/images/how-to/howto-14.png) + +یہ براہ راست ایک مسئلہ کھول دے گا. براہ کرم وضاحت کریں کہ کس تبدیلی کی ضرورت ہے اور کیوں۔ جمع کروائیں، اور بس۔ + + +![مسئلہ جمع کروائیں](/images/how-to/howto-15.png) + +### کسی اصطلاح کو براہ راست اپ ڈیٹ کریں {#update-a-term-directly} + +کسی اصطلاح کو براہ راست تبدیل کرنے کے لیے، "اس صفحہ میں ترمیم کریں" پر جائیں۔ + +![اس صفحہ میں ترمیم کریں](/images/how-to/howto-16.png) + +اس سے اصطلاح کا GitHub صفحہ کھل جائے گا۔ اپنی تبدیلیاں کریں اور PR جمع کروائیں۔ براہ کرم تفصیلی وضاحت کے لیے اوپر "ایک نئی اصطلاح جمع کروانا" دیکھیں (اس حصے پر جائیں جو مارک ڈاؤن کے بارے میں بات کرتا ہے)۔ + +## لغت کا ترجمہ کرنے میں مدد کریں {#help-translate-the-glossary} + +لغت کو اپنی مادری زبان میں ترجمہ کرنے میں مدد کے لیے، براہ کرم CNCF Slack پر [glossary-#localizations](https://cloud-native.slack.com/archives/C02N2RGFXDF) چینل میں شامل ہوں اور ہمیں بتائیں۔ آپ یا تو موجودہ ٹیم میں شامل ہو سکتے ہیں یا ایک نئی ٹیم بنا سکتے ہیں (دیکھنے کے لیے کہ اس میں کیا کام آتا ہے، چیک آؤٹ یا [لوکلائزیشن گائیڈ](https://github.com/cncf/glossary/blob/main/LOCALIZATION.md))۔ براہ کرم ہماری ماہانہ لغت ورکنگ گروپ میٹنگز میں بھی شامل ہوں۔ آپ میٹنگ کی تفصیلات [ کیلنڈر](https://www.cncf.io/calendar/) میں تلاش کر سکتے ہیں۔ ہم آپ سے وہاں ملنے کے منتظر ہیں! diff --git a/content/ur/contributor-ladder/_index.md b/content/ur/contributor-ladder/_index.md new file mode 100644 index 0000000000..9ebf0a4ccd --- /dev/null +++ b/content/ur/contributor-ladder/_index.md @@ -0,0 +1,105 @@ +--- +title: شراکت دار کی درجہ بندی +toc_hide: true +status: Feedback Appreciated +menu: + main: + weight: 10 +--- + +ہیلو! 👋 CNCF Cloud Native Glossary پروجیکٹ میں تعاون کرنے میں آپ کی دلچسپی کا شکریہ۔ +چاہے آپ نئی اصطلاحات کا تعاون کریں، لغت کو اپنی مادری زبان میں لوکلائز کرنے میں مدد کریں، +یا شروع کرنے میں دوسروں کی مدد کرنا چاہتے ہیں، اس کمیونٹی کا فعال رکن بننے کے بہت سے طریقے ہیں۔ +یہ دستاویز پروجیکٹ کے اندر تعاون کرنے والے مختلف کرداروں اور ان کے ساتھ آنے والی ذمہ داریوں اور مراعات کا خاکہ پیش کرتی ہے۔ + + +## 1. Contributors (تعاون کرنے والے) + +لغت سب کے لیے ہے۔ کوئی بھی شخص صرف اس منصوبے میں حصہ ڈال کر لغت کا معاون بن سکتا ہے۔ تمام شراکت داروں سے توقع کی جاتی ہے کہ وہ [CNCF کوڈ آف کنڈکٹ](https://github.com/cncf/foundation/blob/main/code-of-conduct.md) پر عمل کریں۔ + +اس منصوبے میں آپ کئی طرح سے تعاون کر سکتے ہیں، بشمول: + +- **مواد کا تعاون کرنے والے**: ہر وہ شخص جو موجودہ شرائط کو بہتر بناتا ہے یا نئی شراکت کرتا ہے، +- **لوکلائزیشن کا تعاون کرنے والے**: وہ لوگ جو لغت کو دوسری زبان میں ترجمہ کرنے میں مدد کرتے ہیں، +- **مددگار**: کوئی بھی جو GitHub، Slack، یا جہاں کہیں بھی کمیونٹی کے اراکین کو مدد کی ضرورت ہو، دوسروں کی مدد کرتا ہے، +- **سفیر**: کوئی بھی جو اس بات کو پھیلانے میں مدد کرتا ہے، کمیونٹی کو تعلیم دیتا ہے کہ کیسے اپنا حصہ ڈالنا ہے اور انہیں ایسا کیوں کرنا چاہیے۔ + +تعاون کنندگان کے متعدد کردار ہوسکتے ہیں یا صرف ایک علاقے پر توجہ مرکوز کرسکتے ہیں۔ **تمام شراکتیں یکساں طور پر اہم ہیں** اور ایک ترقی پذیر کمیونٹی کو فروغ دینے میں مدد کرتی ہیں۔ براہ کرم مواد اور لوکلائزیشن کے تعاون کے لیے [شراکت کیسے کریں](/contribute/) اور [اسٹائل گائیڈ](/style-guide/) دیکھیں۔ + +## 2. Approvers (منظور کرنے والے) + +منظور کنندگان PRs پر رائے دیتے ہیں اور انہیں منظور کرتے ہیں۔ کوئی بھی فعال تعاون کنندہ منظور کنندہ بن سکتا ہے (دیکھیں [منظوری دینے والا بننا](#becoming-an-approver))۔ لغت دو منظور کنندگان کے درمیان فرق کرتی ہے: (1) انگریزی لغت کے لیے منظوری دینے والے اور (2) لوکلائزیشن ٹیموں کے لیے منظوری دینے والے۔ + +لغت کی منظوری دینے والوں سے توقع کی جاتی ہے: + +- تکنیکی درستگی کے لیے PRs کا جائزہ لیں، +- تعاون کنندگان کے مسائل تفویض کریں اور انہیں مناسب طور پر لیبل کریں، +- تعاون کنندگان کو تاثرات فراہم کریں اور ضرورت پڑنے پر ان کی رہنمائی کریں، +- پروف ریڈ اور گذارشات میں ترمیم کریں۔ + +اگر کوئی منظور کنندہ مزید دلچسپی نہیں رکھتا ہے یا مذکورہ فرائض انجام نہیں دے سکتا ہے، تو اسے دیکھ بھال کرنے والوں کو بتانا چاہیے اور اپنا عہدہ چھوڑ دینا چاہیے۔ + +### انگریزی لغت کی منظوری دینے والے + +منظوری دینے والوں کی تین قسمیں ہیں: + +1) مضبوط تکنیکی پس منظر کے ساتھ منظور کنندگان، +2) ٹھوس تحریری مہارت کے ساتھ منظوری دینے والے، +3) منظور کرنے والے جو دونوں میں ماہر ہوں۔ + +**تکنیکی منظوری دینے والے**: مضبوط تکنیکی پس منظر کے حامل افراد انگریزی لکھنے کی ٹھوس مہارت کے بغیر منظوری دینے والے ہو سکتے ہیں۔ تاہم، اگر وہ تکنیکی میرٹ پر PR کی منظوری دیتے ہیں، تو انہیں یہ یقینی بنانا چاہیے کہ اس کا جائزہ (ایڈیٹر) منظور کنندہ کے ذریعے کیا جائے۔ + +**ایڈیٹرز**: ایڈیٹرز شرائط کو درست طریقے سے پڑھتے ہیں اور اس بات کو یقینی بناتے ہیں کہ اسٹائل گائیڈ کے مطابق ان کی سادہ زبان میں وضاحت کی گئی ہے۔ اگر کسی اصطلاح میں بہت زیادہ ترمیم کی گئی ہے، تو ایڈیٹر کو ایک تکنیکی منظوری دینے والے سے درخواست کرنی چاہیے کہ وہ اس کا دوبارہ جائزہ لے تاکہ اس بات کو یقینی بنایا جا سکے کہ معنی کو تبدیل نہیں کیا گیا ہے۔ + +### لوکلائزیشن کے منظور کنندگان + +لغت میں لوکلائزیشن کی منظوری دینے والے بھی ہیں۔ یہ لوکلائزیشن ٹیموں میں سے ایک کے لیے منظور کنندگان ہیں (فرض کا ترجمہ کرنے والی ٹیمیں)۔ لوکلائزیشن کے منظور کنندگان کو صرف اپنی ٹیم کے لیے منظوری دینے والے کے فرائض انجام دینے کی اجازت ہے اور وہ PRs کو اپنی مخصوص ترقیاتی شاخ میں ضم کرنے کی اہلیت رکھتے ہیں۔ کوئی بھی لوکلائزیشن منظور کرنے والا انگریزی لغت کے لیے بھی منظور کنندہ بن سکتا ہے اگر وہ ضروریات کو پورا کرتا ہے۔ + +### منظور کنندہ بننا + +منظوری دینے والے امیدواروں کے پاس اعلیٰ معیار کے PRs جمع کرانے اور ضم ہونے والی حالت میں PRs حاصل کرنے میں دوسروں کی مدد کرنے کا ایک ثابت شدہ ٹریک ریکارڈ ہونا چاہیے۔ اگر ان کا ٹائم زون اجازت دیتا ہے، تو انہیں [لغت کے ورکنگ گروپ](https://www.cncf.io/calendar/) کے اجلاسوں میں بھی باقاعدگی سے شرکت کرنی چاہیے۔ + +منظور کنندہ بننے کے لیے، موجودہ مینٹینرز سے دلچسپی کا اظہار کرتے ہوئے شروع کریں۔ اس کے بعد موجودہ دیکھ بھال کرنے والے آپ سے PRs کا حصہ ڈال کر، جائزے کر کے، اور ان کی رہنمائی میں اس طرح کے دیگر کاموں کے ذریعے اوپر دی گئی قابلیت کا مظاہرہ کرنے کو کہیں گے۔ ایک ساتھ کام کرنے کے کچھ وقت کے بعد، مینٹینرز فیصلہ کریں گے کہ آیا آپ کو منظور کنندہ کا درجہ دینا ہے۔ یہ فیصلہ آپ کی ظاہر کردہ مہارت اور ردعمل کی سطح پر ہوگا۔ + +## 3. دیکھ بھال کرنے والے + +دیکھ بھال کرنے والے منظوری دینے والے ہیں جو PRs کو ضم بھی کر سکتے ہیں۔ کوئی بھی لغت کی دیکھ بھال کرنے والا بن سکتا ہے (دیکھیں [ملاحظہ کرنے والا بننا](#becoming-a-maintainer))۔ + دیکھ بھال کرنے والوں کے لیے کچھ توقعات ہیں، بشمول: + +- ایک فعال اور ذمہ دار منظور کنندہ بنیں (اوپر دیکھیں) +- ریپوزٹری کو برقرار رکھنے میں مدد کریں، بشمول سائٹ کنفیگریشن، اجازت، ایشو ٹیمپلیٹ، گٹ ہب ورک فلو، دیگر، +- Glossary Slack چینلز کی نگرانی کریں اور جب بھی ممکن ہو مدد کریں، +- [لغت ورکنگ گروپ کے اجلاسوں](https://www.cncf.io/calendar/) میں باقاعدگی سے شرکت کریں (اگر ٹائم زون کی اجازت ہو) + +اگر کوئی دیکھ بھال کرنے والا مزید دلچسپی نہیں رکھتا یا اوپر دیے گئے فرائض انجام نہیں دے سکتا، تو اسے خود کو ایمریٹس کی حیثیت میں منتقل کرنا چاہیے۔ + +### مینٹینر بننا + +دیکھ بھال کرنے والوں کے پاس کامیاب منظور کنندگان ہونے اور اعلیٰ معیار کے PR جمع کرانے کا ثابت شدہ ٹریک ریکارڈ ہونا چاہیے۔ اگر ان کا ٹائم زون اجازت دیتا ہے، تو انہیں لغت کے ورکنگ گروپ کے اجلاسوں میں بھی باقاعدگی سے شرکت کرنی چاہیے۔ + +مینٹینر بننے کے لیے، موجودہ مینٹینرز سے دلچسپی کا اظہار کرتے ہوئے شروع کریں۔ اس کے بعد موجودہ دیکھ بھال کرنے والے آپ سے PRs کا حصہ ڈال کر، جائزے کر کے، اور ان کی رہنمائی میں اس طرح کے دیگر کاموں کے ذریعے اوپر دی گئی قابلیت کا مظاہرہ کرنے کو کہیں گے۔ کچھ وقت کے ساتھ مل کر کام کرنے کے بعد، مینٹینرز فیصلہ کریں گے کہ مینٹینر کا درجہ دینا ہے یا نہیں۔ یہ فیصلہ مظاہرے کی مہارت اور ردعمل کی سطح پر ہوگا۔ + +## 4. کمیونٹی مینیجرز + +کمیونٹی مینیجرز ایک خوش آئند اور مشغول کمیونٹی کو فروغ دینے میں مدد کرتے ہیں۔ کمیونٹی کا کوئی بھی رکن کمیونٹی مینیجر بن سکتا ہے۔ ان سے توقع کی جاتی ہے کہ: + +- نئے اراکین کو خوش آمدید کہتے ہیں اور اس بات کو یقینی بناتے ہیں کہ وہ اپنی ضرورت کی معلومات حاصل کریں، +- کمیونٹی کے سوالات کے جواب دینے میں مدد کریں یا کسی ایسے شخص کی شناخت کریں جو مدد کر سکے، +- سلیک پر اعتدال پسند گفتگو۔ + +### کمیونٹی مینیجر بنیں + +کوئی بھی لغت کی کمیونٹی مینیجر بن سکتا ہے۔ کمیونٹی مینیجرز کو شراکت اور لوکلائزیشن کے عمل کی ٹھوس سمجھ ہونی چاہیے اور دوسروں کے ساتھ بات چیت اور مدد کرنے سے لطف اندوز ہونا چاہیے۔ کمیونٹی مینیجر بننے کے لیے، موجودہ مینٹینرز سے دلچسپی کا اظہار کرتے ہوئے شروع کریں۔ آن بورڈنگ/آزمائشی مدت کے بعد، دیکھ بھال کرنے والے فیصلہ کریں گے کہ کیا کارکردگی کی بنیاد پر کمیونٹی مینیجر کا درجہ دینا ہے۔ + +## غیر ارادی طور پر ہٹانا + +جب ذمہ داریوں اور تقاضوں کو پورا نہیں کیا جاتا ہے تو شراکت کنندہ کو غیر ارادی طور پر ہٹانا ہوتا ہے۔ اس میں غیرفعالیت کے بار بار نمونے، غیرفعالیت کی توسیعی مدت، اور/یا ضابطہ اخلاق کی خلاف ورزی شامل ہو سکتی ہے۔ یہ عمل اہم ہے کیونکہ یہ کمیونٹی اور اس کے ڈیلیور ایبلز کی حفاظت کرتا ہے جبکہ نئے شراکت داروں کے لیے قدم بڑھانے کے مواقع بھی کھولتا ہے۔ + +## قدم چھوڑنا/ایمریٹس کا عمل + +اگر اور جب شراکت کنندگان کے عزم کی سطح تبدیل ہوتی ہے تو، شراکت دار قدم چھوڑنے پر غور کر سکتے ہیں (مضامین کی سیڑھی سے نیچے جانا) بمقابلہ ایمریٹس سٹیٹس پر منتقل ہونا (مکمل طور پر پروجیکٹ سے الگ ہونا)۔ + +## ایک کردار میں واپس جانا + +اگر اور جب کوئی سابقہ ​​شراکت دار کے کردار میں واپس آنے کے لیے دستیاب ہوتا ہے، تو پروجیکٹ کی قیادت اس کا بندوبست کر سکتی ہے اور اس پر غور کر سکتی ہے۔ + diff --git a/content/ur/style-guide/_index.md b/content/ur/style-guide/_index.md new file mode 100644 index 0000000000..a693b062dd --- /dev/null +++ b/content/ur/style-guide/_index.md @@ -0,0 +1,168 @@ +--- +title: اسٹائل گائیڈ +toc_hide: true +status: Feedback Appreciated +menu: + main: + weight: 10 +--- + +یہ اسٹائل گائیڈ آپ کو لغت کے سامعین، تعریف کی ساخت، تفصیل کی مطلوبہ سطح، اور ایک مستقل انداز کو برقرار رکھنے کے طریقے کو سمجھنے میں مدد کرے گی۔ + +Cloud Native Glossary CNCF ریپوزٹری کی [ڈیفالٹ اسٹائل گائیڈ](https://github.com/cncf/foundation/blob/master/style-guide.md) کی پیروی کرتی ہے۔ +اس کے علاوہ، یہ مندرجہ ذیل قواعد پر عمل کرتی ہے: + +1. آسان، قابل رسائی زبان استعمال کریں، تکنیکی اصطلاحات اور بزبان الفاظ سے گریز کریں۔ +2. [بول چال سے پرہیز کریں](https://en.wikipedia.org/wiki/Colloquialism) +3. [لغوی اور ٹھوس زبان استعمال کریں](https://guidetogrammar.org/grammar/composition/abstract.htm) +4. [سکڑائو کو چھوڑ دیں](https://en.wikipedia.org/wiki/Contraction_(grammar)) +5. [غیر فعال آواز کا استعمال احتیاط سے کریں](https://www.ef.com/ca/english-resources/english-grammar/passive-voice/) +6. [جملے کے بیانات کو مثبت شکل میں بنانے کی کوشش کریں](https://examples.yourdictionary.com/positive-sentence-examples.html) +7. [اقتباسات کے باہر فجائیہ کے نشانات نہ لگائیں](https://www.grammarly.com/blog/exclamation-mark/) +8. مبالغہ آرائی نہ کریں +9. تکرار سے گریز کریں +10. مختصر ہونے کی کوشش کریں + +## سامعین + +یہ لغت ایک تکنیکی اور غیر تکنیکی سامعین کے لیے لکھی گئی ہے۔ +براہ کرم یقینی بنائیں کہ تعریفیں آسان الفاظ میں بیان کی گئی ہیں اور تکنیکی علم کو فرض نہ کریں۔ مزید یہ کہ یہ کام ذیل میں تعریف کے تحت کریں۔ + +## ڈیفینیشن ٹیمپلیٹ + +ہر لغت کی اصطلاح مارک ڈاؤن فائل میں محفوظ ہوتی ہے اور اس سانچے کی پیروی کرتی ہے: + +```md +--- +title: +status: +category: +--- + +## یہ کیا ہے + +ٹیکنالوجی یا تصور کا فوری خلاصہ۔ + +## یہ کیا مسئلہ حل کرتا ہے + +اس مسئلے کے بارے میں چند سطریں جس سے یہ خطاب کر رہا ہے۔ + +## یہ کس طرح مدد کرتا ہے + +اس مسئلے کو کیسے حل کرتا ہے اس پر چند سطریں۔ +``` + +### Title + +**Title** کا لیبل ہمیشہ تعریف کے لے آؤٹ کے اوپر ہوگا، اور اس کی قدر عنوان کے معاملے میں ہونی چاہیے۔ + +```md +--- +title: ڈیفینیشن ٹیمپلیٹ +``` + +### Status + +**Status** لیبل ٹائٹل لیبل کے بعد آئے گا۔ اسٹیٹس لیبل بتاتا ہے کہ آیا تعریفوں کی اچھی طرح جانچ کی گئی ہے یا مزید کوشش کی ضرورت ہے۔ + +درست اقدار ہیں + +- Completed +- Feedback Appreciated +- Not Started + +آپ ہمیشہ ایک مکمل تعریف کے خلاف مسئلہ کھول سکتے ہیں۔ جب کہ ایک تعریف بہاؤ میں ہے، اس کی حیثیت کو *فیڈ بیک تعریف شدہ* میں بدل دیا جائے گا۔ + +```md +--- +title: ڈیفینیشن ٹیمپلیٹ +status: Feedback Appreciated +``` + +### Category + +**Category** لیبل Status لیبل کے بعد آئے گا۔ اس کی قدر درج ذیل اقدار میں سے ایک ہونی چاہیے: + +- ٹیکنالوجی +- صفت +- تصور + +```md +--- +title: ڈیفینیشن ٹیمپلیٹ +status: Feedback Appreciated +category: تصور +--- +``` + +### تعریف + +#### تین ذیلی عنوانات + +**ٹیکنالوجی** اور **تصور** کے زمرے کی تعریفیں تین ذیلی عنوانات پر مشتمل ہیں: + +- **یہ کیا ہے**: ہم جس کے بارے میں بات کر رہے ہیں اس کا ایک مختصر اور واضح جائزہ فراہم کرتا ہے۔ +- **یہ کون سا مسئلہ حل کرتا ہے۔**: مسئلہ پر توجہ مرکوز کرتا ہے، حل پر نہیں (جو اگلے حصے میں آتا ہے)۔ + درحقیقت اس اصطلاح کا ذکر کرنے سے گریز کریں جس کی تعریف کی گئی ہے۔ مسئلہ اس بات پر مرکوز ہے کہ *کس چیز کی وجہ سے ہمیں اس چیز کی ضرورت پڑی۔ +- **یہ کس طرح مدد کرتا ہے۔**: اب، براہ کرم اصطلاح پر واپس آئیں۔ یہ اوپر بیان کردہ مسئلہ کو کیسے حل کرتا ہے؟ + +نوٹ کریں کہ **صفت** کو الگ سیکشنز کی ضرورت نہیں ہے۔ ایک تعریف کافی ہوگی۔ + +جائزے کی سہولت کے لیے، براہ کرم **سمینٹک لائن بریکس** (ایک جملہ فی لائن) استعمال کریں۔ + +#### معیار سب سے اہم ہے + +اگر اسے ضم کر دیا جاتا ہے، تو آپ کا جمع کررہ کام اس اصطلاح کے لیے سرکاری سی این سی ایف تعریف ہو گی (جب تک کہ کوئی اور اسے بہتر نہ کر دے)۔سی این سی ایف کے اعلیٰ معیارات پر پورا اترنے والی اصطلاح بنانے میں جلدی نہیں کی جا سکتی — معیار میں وقت اور محنت درکار ہوتی ہے۔ + +**تحقیق کریں۔**: یہاں تک کہ اگر آپ کو یقین ہے کہ آپ اصطلاح کو جانتے ہیں، تو تصدیق کریں کہ آپ نے اسے صحیح سمجھا۔ +ہم اکثر تنظیموں میں اصطلاحات کو ایک خاص طریقے سے استعمال کرتے ہیں جو شاید پوری تصویر کی عکاسی نہ کرے۔ +جب آپ اپنی تحقیق کرتے ہیں، خاص طور پر جب آپ اس اصطلاح سے 100% واقف نہیں ہیں، متعدد وسائل استعمال کریں۔ +بہت سی تعریفیں یک طرفہ ہوتی ہیں، خاص طور پر اگر کسی وینڈر کی طرف سے فراہم کی گئی ہو۔ +لغت میں وینڈر غیر جانبدار، عالمی سطح پر قبول شدہ تعریفیں ہونی چاہئیں۔ + +**نقل نہ کریں۔**. وہی اصول لغت پر لاگو ہوتے ہیں جو کسی دوسری سنجیدہ اشاعت پر ہوتے ہیں۔ +دوسرے لوگوں کے کام کو اس وقت تک کاپی اور پیسٹ نہ کریں جب تک کہ آپ اس کا حوالہ اور تعاون نہ کر رہے ہوں۔ +اگر آپ کو تعریف کا کوئی خاص حصہ پسند ہے تو اسے اپنے الفاظ میں بیان کریں۔ + +**مستند وسائل کا حوالہ دیں۔** جب ممکن ہو، مستند وسائل سے لنک کریں جیسے پروجیکٹ دستاویزات۔ +نوٹ کریں کہ ہم وینڈرز کے تیار کردہ مواد سے لنک نہیں کر سکتے۔ + +#### اسے سادہ رکھنا + +لغت کا مقصد **پیچیدہ تصورات کو آسان الفاظ میں بیان کرنا** — یہ ایک حیرت انگیز طور پر مشکل کام ہے جس میں ممکنہ طور پر متعدد نظرثانی کی ضرورت ہوگی۔ +اپنی تعریف کا مسودہ تیار کرتے وقت سامعین کو ہمیشہ ذہن میں رکھیں۔ +صنعت کی اصطلاحات اور بز ورڈز استعمال کرنے سے گریز کریں — آپ شاید خود کو ان کی طرف واپس جاتے ہوئے پکڑ لیں گے اور آپ کو خود بخود درست کرنے کی ضرورت پڑ سکتی ہے۔ + +جب مناسب ہو، **حقیقی دنیا کی مثالیں** استعمال کریں جو قارئین (خاص طور پر غیر تکنیکی) کو بہتر طور پر سمجھنے میں مدد کرتی ہیں کہ آپ جس تصور کی وضاحت کر رہے ہیں وہ *کب* اور *کیوں* متعلقہ ہے۔ + +جب آپ اسے اپنی تعریف میں استعمال کرتے ہیں تو ہمیشہ **موجودہ لغت کی اصطلاحات سے لنک کریں** (صرف پہلا ذکر ہائپر لنک ہونا چاہیے)۔ + +**مثال**: کے "یہ کیا ہے" سیکشن پر ایک نظر ڈالیں [سروس میش تعریف](/service-mesh/). +یہ مائیکرو سروسز، سروس، اعتبار، اور مشاہداتی تعریفوں سے منسلک ہے۔ +مزید برآں، یہ مائیکرو سروسز ماحول میں نیٹ ورک کے چیلنجز کا موازنہ کرنے والی ایک حقیقی دنیا کی مثال استعمال کرتا ہے (ایسی چیز جس سے غیر تکنیکی لوگ تعلق نہیں رکھ سکتے) +وائی ​​فائی کے مسائل کے لیے (کچھ ایسی چیز جو لیپ ٹاپ استعمال کرنے والا سمجھ سکتا ہے)۔ +جہاں ممکن ہو، اس تعلق کو بنانے کی کوشش کریں۔ + +#### Google یا Word دستاویز سے شروع کریں + +ہم تجویز کرتے ہیں کہ Google یا Word دستاویز کے ساتھ شروع کریں، اسے کچھ دن بیٹھنے دیں، اور دوبارہ ملاحظہ کریں۔ +یہ آپ کو ایسے جملے یا تاثرات کو پکڑنے کی اجازت دے گا جو آسان اور زیادہ قابل رسائی طریقے سے کہے جا سکتے ہیں۔ +اس کے علاوہ، پروجیکٹ جمع کرانے سے پہلے اسپیل چیک کو یقینی بنائیں۔ + +اس بات کو یقینی بنانے کے لیے کہ کسی ٹرم پر کام کرتے ہوئے کوئی اور PR جمع نہ کرائے، اس بات کو یقینی بنائیں کہ کسی مسئلے کا دعوی کریں (یا ایک بنائیں) اور یہ آپ کو تفویض کیا گیا ہے۔ +اس میں مزید [کس طرح شراکت کرنا ہے](/contribute/)دستاویز۔ + +شروع کرنے سے پہلے، براہ کرم شائع شدہ لغت کی کچھ اصطلاحات پڑھیں +تفصیل اور مشکل کی سطح کا احساس حاصل کرنے کے لیے اور جب مثالیں مناسب ہوں۔ + +## جائزہ لینے کا عمل: کیا توقع کی جائے + +براہ کرم نوٹ کریں کہ ہم اس وقت صرف تین مینٹینرز ہیں جو اپنے فارغ وقت میں یہ کام کر رہے ہیں۔ +کبھی کبھار، ہم شرائط کا فوری جائزہ لینے کے قابل ہو جائیں گے۔ دوسرے مواقع پر، اس میں کچھ وقت لگ سکتا ہے — ہم آپ کے صبر کی تعریف کرتے ہیں۔ +اگرآپ کے کوئی سوالات ہیں، تو براہ کرم glossary# سلیک چینل میں ہم سے رابطہ کریں۔ +(اسے کہاں اور کیسے تلاش کرنا ہے، براہ کرم ہم سے رجوع کریں [کس طرح شراکت کرنا ہے](/contribute/) دستاویز)۔ + +ہمارا مقصد لغت کو بہترین ممکنہ وسیلہ بنانا ہے۔ +ایک بار جب آپ پی آر جمع کراتے ہیں، تو ہم ایک یا زیادہ نظرثانی کے لیے کہہ سکتے ہیں۔ +مایوس نہ ہوں - یہ بہت سے پی آرز کا معاملہ ہے۔ +وہ آگے پیچھے اور ہمارا تعاون اس بات کو یقینی بنائے گا کہ آپ کا تعاون واقعی ایک مفید تعریف بن جائے جسے پوری دنیا کے قارئین پڑھتے اور حوالہ دیتے رہیں۔ diff --git a/i18n/ur.toml b/i18n/ur.toml new file mode 100644 index 0000000000..61596445f2 --- /dev/null +++ b/i18n/ur.toml @@ -0,0 +1,73 @@ + + +# UI strings. Buttons and similar. + +[ui_pager_prev] +other = "پچھلا" + +[ui_pager_next] +other = "اگلے" + +[ui_read_more] +other = "مزید پڑھ" + +[ui_search] +other = "اس سائٹ کو تلاش کریں…" + +# Used in sentences such as "Posted in News" +[ui_in] +other = "میں" + +# Used in sentences such as "All Tags" +[ui_all] +other = "تمام" +[ui_see_all] +other = "تمام دیکھیں" + +# Footer text +[footer_all_rights_reserved] +other = "جملہ حقوق محفوظ ہیں" + +[footer_privacy_policy] +other = "رازداری کی پالیسی" + + +# Post (blog, articles etc.) +[post_byline_by] +other = "کی طرف سے" +[post_created] +other = "بنایا" +[post_last_mod] +other = "آخری بار ترمیم کی گئی۔" +[post_edit_this] +other = "اس صفحہ میں ترمیم کریں" +[post_create_child_page] +other = "چائلڈ پیج بنائیں" +[post_create_issue] +other = "مسئلہ کی اطلاع دیں" +[post_create_project_issue] +other = "پروجیکٹ کا مسئلہ بنائیں" +[post_posts_in] +other = "میں پوسٹس" +[post_reading_time] +other = "منٹ پڑھیں" + +# Print support +[print_printable_section] +other = "یہ اس سیکشن کا کثیر صفحات پر مشتمل پرنٹ ایبل منظر ہے۔" +[print_click_to_print] +other = "پرنٹ کرنے کے لیے یہاں کلک کریں۔" +[print_show_regular] +other = "اس صفحہ کے باقاعدہ منظر پر واپس جائیں" +[print_entire_section] +other = "پورے حصے کو پرنٹ کریں" + +# Feedback section +[feedback_title] +other = "تاثرات" +[feedback_question] +other = "کیا یہ صفحہ مددگار تھا؟" +[feedback_answer_yes] +other = "جی ہاں" +[feedback_answer_no] +other = "نہیں" From db8e496c1f90119717e8d7976e2851ba44caec97 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Fri, 28 Oct 2022 23:58:04 +0200 Subject: [PATCH 045/219] [it] Localizzazione termine Service Mesh (#1115) * Added Service Mesh Italian localization Signed-off-by: Paolo * Update content/it/service-mesh.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/service-mesh.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/service-mesh.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 content/it/service-mesh.md diff --git a/content/it/service-mesh.md b/content/it/service-mesh.md new file mode 100644 index 0000000000..744b160c81 --- /dev/null +++ b/content/it/service-mesh.md @@ -0,0 +1,18 @@ +--- +title: Applicazioni distribuite +status: Completed +category: tecnologia +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. + +## Quali problematiche affronta + +Con il passaggio a un'architettura a microservizi, gli ingegneri hanno ora a che fare con centinaia, forse addirittura migliaia di servizi individuali, che devono tutti comunicare tra loro. Questo significa che un traffico ingente si sposta all'interno della rete. Inoltre, le singole applicazioni possono avere bisogno di criptare le comunicazioni per rispondere a requisiti normativi, fornire metriche comuni ai team operativi o fornire informazioni dettagliate sul traffico per aiutare a diagnosticare i problemi. Se integrata all'interno delle singole applicazioni, ognuna di queste caratteristiche causerà attriti tra i team e rallenterà lo sviluppo di nuove funzionalità. + +## In che modo aiuta + +Le service mesh conferiscono in modo uniforme affidabilità, osservabilità e sicurezza a tutti i servizi all'interno di un cluster senza richiedere modifiche al codice. Prima dell'avvento delle service mesh, queste funzionalità dovevano essere aggiunte al codice di ogni singolo servizio, diventando una potenziale fonte di bug e debiti tecnici. From 20ff20066e7323ad9baf42c8652e038b7e26db8c Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Fri, 28 Oct 2022 23:58:25 +0200 Subject: [PATCH 046/219] [it] Localizzazione termine Containerization (#1146) * Added Containerization italian localization. Signed-off-by: Paolo * Update content/it/containerization.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/containerization.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/containerization.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 content/it/containerization.md diff --git a/content/it/containerization.md b/content/it/containerization.md new file mode 100644 index 0000000000..4a19038b8e --- /dev/null +++ b/content/it/containerization.md @@ -0,0 +1,18 @@ +--- +title: Containerizzazione +status: Feedback Appreciated +category: tecnologia +tags: ["applicazione", "", ""] +--- + +## Cos'è + +La containerizzazione è il processo di accorpamento di un'applicazione e le sue dipendenze in un'[immagine container](/it/container-image/). Il processo di costruzione di un container richiede l'aderenza agli standard dell'[Open Container Initiative](https://opencontainers.org). Purché il risultato finale sia un'immagine container che aderisce a questi standard, lo strumento utilizzato per la containerizzazione non ha importanza. + +## Quali problematiche affronta + +Prima che i container si diffondessero, le organizzazioni si affidavano alle [macchine virtuali](/it/virtual-machine/) per orchestrare più applicazioni su una singola macchina [bare metal](/it/bare-metal-machine/). Le macchine virtuali sono molto più grandi dei container e richiedono un hypervisor per funzionare. A causa dell'archiviazione, del backup e del trasferimento di questi modelli di macchine virtuali più grandi, anche la creazione dei modelli di macchine virtuali è lenta. Inoltre, le macchine virtuali possono soffrire di una deriva della configurazione che viola il principio di [immutabilità](/it/immutability/). + +## In che modo aiuta + +Le immagini container sono leggere (a differenza delle macchine virtuali tradizionali) e il processo di containerizzazione richiede un file con un elenco di dipendenze. Questo file può prevedere un [controllo di versione](/it/version-control/) e il processo di creazione può essere automatizzato, permettendo all'organizzazione di concentrarsi su altre priorità, mentre i processi automatizzati si occupano della creazione. L'immagine container è memorizzata con un identificatore univoco legato al suo esatto contenuto e alla sua configurazione. Poiché i container vengono pianificati e riprogrammati, vengono sempre ripristinati allo stato iniziale, eliminando così la deriva della configurazione. From a0ca77dfd1adb6f03f4af442f4e22ede19f17ca5 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Fri, 28 Oct 2022 23:58:48 +0200 Subject: [PATCH 047/219] [it] Localizzazione termine Containers-as-a-service (#1186) * Added Containers-as-a-service Italian localization Signed-off-by: Paolo * Update content/it/containers-as-a-service.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/containers-as-a-service.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/containers-as-a-service.md Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/containers-as-a-service.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 content/it/containers-as-a-service.md diff --git a/content/it/containers-as-a-service.md b/content/it/containers-as-a-service.md new file mode 100644 index 0000000000..b2aa6eb537 --- /dev/null +++ b/content/it/containers-as-a-service.md @@ -0,0 +1,21 @@ +--- +title: Containers as a Service +status: Completed +category: Tecnologia +tags: ["platform", "", ""] +--- + +## Cos'è + +Containers-as-a-Service (CaaS) è un servizio cloud che aiuta a gestire e distribuire applicazioni usando [astrazioni](/it/abstraction/) basate su [container](/it/container/). Questo servizio può essere distribuito on-premise o in cloud. + +I fornitori di servizi CaaS offrono un framework o una piattaforma di orchestrazione che automatizza le funzioni chiave tramite cui i container sono distribuiti e gestiti. Questo aiuta gli sviluppatori a costruire applicazioni containerizzate sicure e [scalabili](/it/scalability/). Dato che gli utenti acquisiscono esclusivamente le risorse di cui hanno bisogno (capacità di programmazione, load balancing, ecc.), si ha un risparmio di denaro e un incremento dell'efficienza. I container creano ambienti uniformi per sviluppare e rilasciare velocemente [applicazioni Cloud Native](/it/cloud-native-apps/) che possono essere eseguite ovunque. + +## Quali problematiche affronta + +Senza servizi CaaS, i team di sviluppo software devono distribuire, gestire e monitorare l'infrastruttura sottostante sulla quale i container sono in esecuzione. + +## In che modo aiuta + +Quando si distribuiscono applicazioni containerizzate su una piattaforma CaaS, gli utenti acquisiscono visibilità sulle performance del sistema attraverso aggregazioni di log e strumenti di monitoraggio. I servizi CaaS includono anche funzionalità incorporate per l'[auto scaling](/it/auto-scaling/) e la gestione dell'orchestrazione. Ciò permette ai team di costruire [sistemi distribuiti](/it/distributed-systems/) ad alta visibilità e alta disponibilità. Inoltre, consentendo rapide distribuzioni, i servizi CaaS aumentano la velocità dei team di sviluppo. Mentre i container assicurano un obiettivo di distribuzione uniforme, i servizi CaaS diminuiscono i costi operativi a livello ingegneristico riducendo le risorse [DevOps](/it/devops/) necessarie per gestire una distribuzione. + From df45693cef968483e5b48ca9c3b4746d2b10fe8d Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sat, 29 Oct 2022 00:00:34 +0200 Subject: [PATCH 048/219] [it] Localizzazione termine Loosely coupled architecture (#1283) * Added Loosely coupled architecture IT localization Signed-off-by: Paolo * Update content/it/loosely-coupled-architecture.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/loosely-coupled-architecture.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 content/it/loosely-coupled-architecture.md diff --git a/content/it/loosely-coupled-architecture.md b/content/it/loosely-coupled-architecture.md new file mode 100644 index 0000000000..a218cfba92 --- /dev/null +++ b/content/it/loosely-coupled-architecture.md @@ -0,0 +1,13 @@ +--- +title: Architettura loosely coupled +status: Completed +category: Proprietà +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. +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. +Lo sviluppo delle applicazioni è più veloce e i team possono essere strutturati intorno alle loro competenze, concentrandosi sulla loro specifica applicazione. From cd96a878eedb879d347fda80aadb1295387ec472 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sat, 29 Oct 2022 00:01:04 +0200 Subject: [PATCH 049/219] Added Version Control Italian localization (#1299) Signed-off-by: Paolo Signed-off-by: Paolo Co-authored-by: Paolo --- content/it/version-control.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 content/it/version-control.md diff --git a/content/it/version-control.md b/content/it/version-control.md new file mode 100644 index 0000000000..3e3fb4d16b --- /dev/null +++ b/content/it/version-control.md @@ -0,0 +1,20 @@ +--- +title: Controllo di Versione +status: Completed +category: Tecnologia +tags: ["metodologia", "", ""] +--- + +## Cos'è + +Il controllo di versione (o controllo della sorgente) è la pratica di tracciare e gestire le modifiche a un documento. Si tratta di un sistema che registra i cambiamenti nel tempo di uno o più file, in modo da poter richiamare una specifica versione in futuro. + +## Quali problematiche affronta + +I sistemi di controllo di versione mirano a risolvere i seguenti problemi: effettuare il back-up di un documento o di una codebase mentre cambia nel tempo, permettere a più utenti di risolvere i conflitti in caso di cambiamenti in sovrapposizione e di conservare un registro delle modifiche nel tempo. +Spesso il codice di un'applicazione può essere complesso e determinante per i processi di business, quindi è importante tenere traccia di chi ha modificato cosa, quando è stata modificata e perché. +Inoltre, molte, se non tutte, le applicazioni sono modificate da più sviluppatori, e ci sono spesso dei conflitti tra i cambiamenti introdotti da sviluppatori diversi. + +## In che modo aiuta + +Il controllo di versione aiuta gli sviluppatori a procedere velocemente e a preservare l'efficienza, e contemporaneamente a conservare un registro dei cambiamenti e a fornire uno strumento per risolvere i conflitti. Permette agli sviluppatori di conservare il codice in un repository e semplifica la collaborazione. Lo sviluppo di applicazioni moderne fa molto affidamento sui sistemi di controllo di versione, come git, per conservare il codice. From 035ae615c94ad9783060abf20ebb3fb4ca149024 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sat, 29 Oct 2022 00:01:36 +0200 Subject: [PATCH 050/219] [it] Localizzazione termine Event-Driven Architecture (#1332) * Added Event-Driven architecture IT localization. Signed-off-by: Paolo * Update content/it/event-driven-architecture.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/event-driven-architecture.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/event-driven-architecture.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/event-driven-architecture.md Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/event-driven-architecture.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 content/it/event-driven-architecture.md diff --git a/content/it/event-driven-architecture.md b/content/it/event-driven-architecture.md new file mode 100644 index 0000000000..ec20c63a62 --- /dev/null +++ b/content/it/event-driven-architecture.md @@ -0,0 +1,25 @@ +--- +title: Architettura ad eventi +status: Completed +category: concetto +--- + +## Cos'è + +Un'architettura basata sugli eventi è un paradigma di progettazione software che promuove la creazione, l'elaborazione e il consumo di eventi. +Un evento è un qualunque cambiamento di stato di un'applicazione. +Per esempio, richiedere una corsa su un'applicazione di ride-sharing rappresenta un evento. +Questo tipo di architettura crea la struttura nella quale gli eventi possono essere correttamente indirizzati dalla loro origine (l'applicazione che richiede una corsa) al destinatario desiderato (l'applicazione degli autisti disponibili nelle vicinanze). + +## Quali problematiche affronta + +Con l'aumento dei dati in tempo reale, diventa sempre più difficile trovare modi affidabili per assicurarsi che gli eventi siano acquisiti e indirizzati al corretto [servizio](/it/service/) che deve processare la richiesta dell'evento. +I metodi tradizionali di gestione degli eventi spesso non hanno modo di garantire che i messaggi siano correttamente indirizzati o che siano effettivamente inviati o ricevuti. +Nel momento in cui le applicazioni iniziano ad essere scalate, diventa più difficile orchestrare gli eventi. + +## In che modo aiuta + +Le architetture ad eventi ne costituiscono un fulcro centrale (ad esempio Kafka). +All'interno di questo tipo di architettura, infatti, si possono definire i produttori degli eventi (origine) e i loro consumatori (destinatari), e il fulcro centrale ne garantisce il flusso corretto. +Questo tipo di architettura assicura che i servizi rimangano disaccoppiati e che gli eventi vengano correttamente indirizzati dal produttore al consumatore. +Il produttore prenderà gli eventi in arrivo, solitamente tramite protocollo HTTP, e indirizzerà l'informazione contenuta nell'evento. From 867a3afe1ebf99627302d831ba6dbcf96e8d51c6 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sat, 29 Oct 2022 00:02:10 +0200 Subject: [PATCH 051/219] [it] Localizzazione termine Client-Server Architecture (#1335) * Added client-server architecture IT localization Signed-off-by: Paolo * Update content/it/client-server-architecture.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/client-server-architecture.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/client-server-architecture.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/client-server-architecture.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/client-server-architecture.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 content/it/client-server-architecture.md diff --git a/content/it/client-server-architecture.md b/content/it/client-server-architecture.md new file mode 100644 index 0000000000..94f1258bd9 --- /dev/null +++ b/content/it/client-server-architecture.md @@ -0,0 +1,23 @@ +--- +title: Architettura Client-Server +status: Completed +category: concetto +tags: ["architettura", "", ""] +--- + +## Cos'è + +In un'architettura client-server la logica (o il codice) che forma un'applicazione è diviso in due o più componenti: un client che richiede di eseguire del lavoro (ad esempio, l'applicazione web di Gmail in esecuzione sul web browser), e uno o più server che soddisfano quella richiesta (ad esempio, il servizio "invia email" in esecuzione sui computer di Google in cloud). +In questo esempio, le email in uscita sono inviate dal client (l'applicazione web in esecuzione sul web browser) a un server (i computer di Gmail, che inoltrano le email in uscita ai rispettivi destinatari). + +Questo tipo di architettura è in opposizione alle applicazioni self-contained (ossia autonome, come le applicazioni desktop per esempio) che eseguono tutto il lavoro da un unico posto. +Per esempio, un programma di elaborazione di testi come Microsoft Word può essere installato ed eseguito interamente sul computer di ogni singolo utente. + +## Quali problematiche affronta + +Un'architettura client-server risolve una grande sfida posta dalle applicazioni self-contained: gli aggiornamenti regolari. Nel caso di un'applicazione self-contained, per ogni aggiornamento gli utenti dovrebbero scaricare e installare l'ultima versione. Immagina di dover scaricare sul tuo computer l'intero catalogo dei prodotti di Amazon per poterlo navigare! + +## In che modo aiuta + +Implementando le logiche dell'applicazione in un server o un servizio remoto, gli operatori possono aggiornarle senza la necessità di modificare le logiche lato client. Questo significa che gli aggiornamenti possono essere fatti molto più frequentemente. +Conservare i dati su un server permette a più client di vedere e condividere gli stessi dati. Consideriamo la differenza di utilizzo di un programma di elaborazione di testi al confronto con un tradizionale programma di elaborazione di testi offline. Nel primo i file esistono solo lato server e possono essere condivisi con altri utenti che possono semplicemente scaricarli dal server. Nel mondo legacy, i file dovevano essere copiati su dispositivi rimovibili (come i floppy disk) e condivisi con i singoli utenti. From 112353cff2f294b1c0461970edb95973a39ac734 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sat, 29 Oct 2022 00:03:38 +0200 Subject: [PATCH 052/219] [it] Localizzazione termine Tightly coupled architecture (#1346) * Added tightly-coupled-architecture IT localization Signed-off-by: Paolo * Update content/it/tightly-coupled-architectures.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/tightly-coupled-architectures.md Signed-off-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> --- content/it/tightly-coupled-architectures.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 content/it/tightly-coupled-architectures.md diff --git a/content/it/tightly-coupled-architectures.md b/content/it/tightly-coupled-architectures.md new file mode 100644 index 0000000000..58bdec40f9 --- /dev/null +++ b/content/it/tightly-coupled-architectures.md @@ -0,0 +1,15 @@ +--- +title: Architettura Tightly Coupled +status: Completed +category: Proprietà +tags: ["fondamenti", "", ""] +--- + +Le architetture tightly coupled (strettamente accoppiate) sono uno stile architetturale nel quale una serie di componenti di un'applicazione sono interdipendenti (si tratta del paradigma opposto a quello delle [architetture loosely coupled](/it/loosely-coupled-architecture/)). +Questo significa che un cambiamento in un componente avrà probabilmente un impatto su altri componenti. +Generalmente sono più semplici da implementare rispetto a uno stile architetturale più loosely coupled, ma il sistema può risultare più vulnerabile a fallimenti a cascata. +Inoltre, tendono a richiedere rollout coordinati dei componenti, cosa che può diventare un freno alla produttività degli sviluppatori. + +Le architetture tightly coupled sono un modo abbastanza tradizionale di costruire applicazioni. +Pur non essendo necessariamente coerenti con tutte le best practice di sviluppo di [microservizi](/it/microservices/), possono essere utili in circostanze specifiche. +Tendono ad essere più veloci e più semplici da implementare e, come le [applicazioni monolitiche](/it/monolithic-apps/), possono velocizzare il ciclo iniziale di sviluppo. From 132aec28f8de6ee00add37d055bd9a4e301d15a8 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sat, 29 Oct 2022 00:04:13 +0200 Subject: [PATCH 053/219] [it] Localizzazione termine Debugging (#1378) * Added Debugging Italian localization Signed-off-by: Paolo * Update content/it/debugging.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/debugging.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/debugging.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/debugging.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/it/debugging.md diff --git a/content/it/debugging.md b/content/it/debugging.md new file mode 100644 index 0000000000..cd3ca37513 --- /dev/null +++ b/content/it/debugging.md @@ -0,0 +1,28 @@ +--- +title: Debugging +status: Completed +category: concetto +tags: ["applicazione", "", ""] +--- + +## Cos'è + +Il debugging è il processo o l'attività di trovare e risolvere bug (o errori) all'interno di programmi, software o sistemi per arrivare al risultato desiderato. +Un bug è un difetto o un problema che conduce a un risultato sbagliato o inaspettato. + +## Quali problematiche affronta + +Lo sviluppo software è un'attività complessa che rende quasi impossibile scrivere codice senza introdurre dei bug. +Questi bug porteranno ad avere un codice che non funzionerà come si desidera (comportamento indefinito) quando viene eseguito. +A seconda di quanto è cruciale un'applicazione, i bug possono avere un impatto significativamente negativo, che si parli di aspetti finanziari o persino di vite umane. +Di solito, il codice di un'applicazione deve passare da diverse tappe o ambienti nei quali viene testato. +Più è importante un'applicazione, più deve essere accurata la fase di test. + +## In che modo aiuta + +Quando si scopre un bug, gli ingegneri devono eseguire il debug (ad esempio l'individuazione e la risoluzione di bug) dell'applicazione per diminuire i comportamenti indesiderati di sistemi in produzione. +Il debugging non è un'attività semplice, in quanto gli sviluppatori devono rintracciare l'origine del comportamento indesiderato. È richiesta la conoscenza del codice stesso e del contesto di esecuzione. +È qui che si rivelano utili diverse tecniche e strumenti di debug. +L'analisi dei log, delle tracce e delle metriche, per esempio, sono utilizzate per eseguire il debugging direttamente in produzione. +Gli sviluppatori possono utilizzare il debug interattivo per analizzare il codice in fase di esecuzione e il relativo contesto di esecuzione. +Una volta identificata la fonte del guasto, correggono il codice e creano una correzione del bug o una patch. From dab1509d1499800d8fb982d79521378d85265395 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sat, 29 Oct 2022 00:04:44 +0200 Subject: [PATCH 054/219] [it] localizzazione termine SaaS (#1403) * Added SaaS Italian localization Signed-off-by: Paolo * Update content/it/software-as-a-service.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> * Update content/it/software-as-a-service.md Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> --- content/it/software-as-a-service.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 content/it/software-as-a-service.md diff --git a/content/it/software-as-a-service.md b/content/it/software-as-a-service.md new file mode 100644 index 0000000000..07e14bf353 --- /dev/null +++ b/content/it/software-as-a-service.md @@ -0,0 +1,26 @@ +--- +Title: Software as a Service (SaaS) +Status: Completed +Category: Tecnologia +tags: ["fondamentali", "piattaforma", ""] +--- + +## Cos'è + +Un Software as a service (SaaS) permette agli utenti di connettersi e utilizzare servizi basati sul cloud tramite Internet. +Esempi comuni sono le email, i calendari e gli strumenti da ufficio (come Gmail, Amazon Web Services, GitHub, Slack). +Un SaaS fornisce soluzioni software complete con una tariffa dipendente dal consumo effettivo. +Tutte le operazioni e le attività di manutenzione e i dati dell'applicazione sono gestite dal fornitore del servizio. + +## Quali problematiche affronta + +Tradizionalmente, i software di business sono installati su singoli computer ed è quindi richiesto un amministratore per la manutenzione e gli aggiornamenti. +Facciamo un esempio. Un'organizzazione utilizza un software on-premise per la gestione delle relazioni con i clienti (CRM). Questo software deve essere acquistato, installato, messo in sicurezza, mantenuto e aggiornato regolarmente dal dipartimento IT interno, gravando sul team IT. +I costi iniziali associati alle licenze, all'installazione e potenzialmente all'hardware aggiuntivo possono essere proibitivi. +Può anche essere difficile rispondere alle richieste e [scalare](/it/scalability/) velocemente in caso di necessità, in risposta a un incremento o cambiamento di traffico. + +## In che modo aiuta + +Le applicazioni SaaS funzionano senza richiedere uno sforzo particolare al team IT interno all'organizzazione. +Sono installate, mantenute, aggiornate e messe in sicurezza dal fornitore. +Problemi di scalabilità, disponibilità e capacità sono gestiti dal fornitore del servizio e, avendo un modello di pagamento a consumo, possono essere un modo conveniente per le organizzazioni di sfruttare le applicazioni aziendali. From 3881d7fc511001b4b617b2e8703decb4756f962e Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Sat, 29 Oct 2022 21:23:38 +0200 Subject: [PATCH 055/219] [it] Localizzazione termine idempotence (#1321) * Added "idempotence" italian localization. Signed-off-by: Paolo * Update content/it/idempotence.md Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo --- content/it/idempotence.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 content/it/idempotence.md diff --git a/content/it/idempotence.md b/content/it/idempotence.md new file mode 100644 index 0000000000..1b875230bf --- /dev/null +++ b/content/it/idempotence.md @@ -0,0 +1,9 @@ +--- +title: Idempotenza +status: Completed +category: Proprietà +tags: ["infrastruttura", "architettura", ""] +--- + +In matematica o in informatica, l'idempotenza descrive un'operazione che conduce sempre al medesimo risultato, indipendentemente dal numero di volte che viene eseguita. +Se i parametri sono gli stessi, un'operazione idempotente non avrà ripercussioni sull'applicazione chiamata. From 24ff8af9305005b1d03f3c65d98f177c7811ede0 Mon Sep 17 00:00:00 2001 From: Paolo <81316809+ugho16@users.noreply.github.com> Date: Wed, 16 Nov 2022 23:13:37 +0100 Subject: [PATCH 056/219] [it] Localizzazione termine Self Healing (#1420) * Added Self Healing Italian localization Signed-off-by: Paolo * Update content/it/self-healing.md Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo Co-authored-by: Francesco Sbaraglia <23255586+fsbaraglia@users.noreply.github.com> --- content/it/self-healing.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 content/it/self-healing.md diff --git a/content/it/self-healing.md b/content/it/self-healing.md new file mode 100644 index 0000000000..072bec6e78 --- /dev/null +++ b/content/it/self-healing.md @@ -0,0 +1,10 @@ +--- +title: Self Healing +status: Completed +category: Proprietà +tags: ["infrastruttura", "architettura", ""] +--- + +Un sistema self-healing (auto rigenerante) è capace di risolvere alcuni tipi di errore senza alcun intervento umano. +È caratterizzato da un loop di "convergenza" o "controllo" che osserva attivamente lo stato attuale del sistema e lo confronta con lo stato che l'operatore desiderava inizialmente. +Se riscontra una differenza (ad esempio sono in esecuzioni meno istanze di un'applicazione rispetto a quelle desiderate), intraprenderà delle azioni correttive (ad esempio creare nuove istanze). From f87373e8ade24150c54ac6c9a05cf03c138d6a09 Mon Sep 17 00:00:00 2001 From: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Date: Wed, 14 Dec 2022 11:21:52 +0100 Subject: [PATCH 057/219] [it] Localizzazione termine Firewall (#1436) * Added Firewall Italian localization. Signed-off-by: Paolo * Fixed a typo in the link. Signed-off-by: Paolo * Update content/it/firewall.md Signed-off-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo --- content/it/firewall.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 content/it/firewall.md diff --git a/content/it/firewall.md b/content/it/firewall.md new file mode 100644 index 0000000000..1bc4cd1e55 --- /dev/null +++ b/content/it/firewall.md @@ -0,0 +1,24 @@ +--- +title: Firewall +status: Completed +category: Tecnologia +tags: ["sicurezza", "", ""] +--- + +## Cos'è + +Un firewall è un sistema che filtra il traffico di un network basandosi su regole specifiche. +I firewall possono essere hardware, software, o una combinazione di entrambi. + +## Quali problematiche affronta + +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. +Un malintenzionato può infiltrarsi nel network, intercettare le comunicazioni e creare dei danni, se non c'è un firewall attivo. + +## In che modo aiuta + +Un firewall esamina il traffico del network utilizzando regole predefinite. +Tutto il traffico è filtrato, e qualsiasi traffico proveniente da fonti inaffidabili o sospette viene bloccato: solo il traffico configurato per essere accettato accede al network. +I firewall creano una barriera tra i network interni, rendendoli sicuri e controllati. From b80214f5119a2dfc2381bc2870c9814b699d019f Mon Sep 17 00:00:00 2001 From: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:01:35 +0100 Subject: [PATCH 058/219] [it] Localization Shift Left (#1528) * Create shift-left.md Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> * Update content/it/shift-left.md Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> * Update content/it/shift-left.md Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> * Update content/it/shift-left.md Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> * Update content/it/shift-left.md Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> --- content/it/shift-left.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 content/it/shift-left.md diff --git a/content/it/shift-left.md b/content/it/shift-left.md new file mode 100644 index 0000000000..4c2d068ee7 --- /dev/null +++ b/content/it/shift-left.md @@ -0,0 +1,26 @@ +--- +title: Shift Left +status: Completed +category: Concetto +tags: ["metodologia", "approccio cloud native"] +--- + +## Cos'è + +_Left_ in _Shift Left_ (letteralmente "spostamento a sinistra") si riferisce alle fasi precedenti di un ciclo di vita dello sviluppo del software, se si immagina il ciclo di vita come una linea lungo la quale le fasi si susseguono da sinistra a destra. +_Shift Left_ è l'approccio per il quale l'implementazione di test, di pratiche di sicurezza o di altre accorgimenti viene anticipata nelle prime fasi del ciclo di vita dello sviluppo piuttosto che integrata solo alla fine dello stesso. +Per quanto fosse originariamente utilizzato per riferirsi al processo di testing anticipato rispetto al ciclo nel suo complesso, _Shift Left_ può ora essere applicato anche ad altri aspetti dello sviluppo del software e di [DevOps](/it/devops/), quali la sicurezza e il deployment. + +## Quali problematiche affronta + +Problemi di sicurezza, bug e difetti del software possono essere più difficili e costosi da risolvere se vengono scoperti in una fase avanzata del ciclo di sviluppo o dopo la deployment, soprattutto se il software è già stato distribuito in produzione. + +## In che modo aiuta + +Adottando una mentalità _Shift Left_ per lo sviluppo del software, i team possono implementare testing e pratiche di sicurezza durante l'intero ciclo di vita dello sviluppo perché tale responsabilità viene condivisa dall'intero team - dagli ingegneri ai responsabili della qualità fino alle operations - cosicché tutti abbiano un ruolo proattivo nel garantire la stabilità e la sicurezza di un'applicazione. + +Inoltre, lo spostamento a sinistra facilita il miglioramento continuo, seguendo un approccio allo sviluppo [agile](/it/agile-software-development/) piuttosto che _waterfall_ (a cascata). +I team possono apportare piccoli miglioramenti iterativi e identificare i problemi in anticipo. Questo approccio consente agli ingegneri di adottare pratiche di sviluppo sicure e pratiche specifiche di sicurezza già nella fase di progettazione architetturale. +I test durante tutto il ciclo di sviluppo riducono il tempo necessario per lo stesso tipo di attività appena prima del rilascio del software. + +Molti strumenti software e soluzioni SaaS aiutano a realizzare efficacemente lo _Shift Left_. Ma lo spostamento a sinistra può essere implementato anche attraverso processi ripensati e migliorati, e cambiamenti culturali all'interno di un team. From b0b02e270ce181d04a2bfb19c5b26a17db52549a Mon Sep 17 00:00:00 2001 From: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:02:03 +0100 Subject: [PATCH 059/219] Added immutable infrastructure IT localization. (#1527) Signed-off-by: Paolo Signed-off-by: Paolo Co-authored-by: Paolo --- content/it/immutable-infrastructure.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 content/it/immutable-infrastructure.md diff --git a/content/it/immutable-infrastructure.md b/content/it/immutable-infrastructure.md new file mode 100644 index 0000000000..a947b2e813 --- /dev/null +++ b/content/it/immutable-infrastructure.md @@ -0,0 +1,25 @@ +--- +title: Infrastruttura immutabile +status: Completed +category: Proprietà +tags: ["infrastruttura", "", ""] +--- + +Un'Infrastruttura immutabile si riferisce a un'infrastruttura informatica +([macchine virtuali](/it/virtual-machine/), [container](/it/container/), apparecchiature di rete) +che non può essere cambiata dopo essere stata deployata. +Questo può essere imposto da un processo automatico che sovrascrive le modifiche non autorizzate o +tramite un sistema che non consente di apportare modifiche. +I container sono un buon esempio di infrastruttura immutabile, +perché cambiamenti persistenti ai container possono essere apportati solamente +creando una nuova versione del container o ricreando il container esistente dalla sua immagine. + +Prevenendo o identificando cambiamenti non autorizzati, +le infrastrutture immutabili rendono più facile l'individuazione e la mitigazione di rischi di sicurezza. +Il funzionamento di un sistema di questo tipo diventa molto più semplice +perché gli amministratori possono fare delle ipotesi su di esso. +Dopotutto, sanno che nessuno può aver commesso errori o apportato cambiamenti che si è dimenticato di comunicare. +L'infrastruttura immutabile va di pari passo con l'[infrastructure as code](/it/infrastructure-as-code/), +nella quale tutte le automazioni necessarie per la creazione dell'infrastruttura sono conservate in un [controllo di versione](/it/version-control/) (ad esempio, Git). +Questa combinazione di immutabilità e controllo di versione significa che +c'è un persistente registro dei log di ogni modifica autorizzata al sistema. From 94a5274786c3cb7c6e8904c389cd3b2c89da0a66 Mon Sep 17 00:00:00 2001 From: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:02:37 +0100 Subject: [PATCH 060/219] [IT] Create infrastructure-as-a-service.md (#1526) * [IT] Create infrastructure-as-a-service.md Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> * Update content/it/infrastructure-as-a-service.md Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> --- content/it/infrastructure-as-a-service.md | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 content/it/infrastructure-as-a-service.md diff --git a/content/it/infrastructure-as-a-service.md b/content/it/infrastructure-as-a-service.md new file mode 100644 index 0000000000..6b0af849fe --- /dev/null +++ b/content/it/infrastructure-as-a-service.md @@ -0,0 +1,26 @@ +--- +title: Infrastructure as a Service (IaaS) +status: Completed +category: Tecnologia +tags: ["infrastruttura", "IaaS"] +--- + +## Cos'è + +Infrastructure as a service (_Infrastruttura come Servizio_), o IaaS, è un modello di servizio di [cloud computing](it/cloud-computing/) che offre risorse di elaborazione, archiviazione e network [fisiche](it/bare-metal-machine/) o [virtualizzate](it/virtualization/) su richiesta e secondo un modello di pagamento basato sul consumo effettivo. +I Cloud provider rimangono i proprietari di hardware e software, e sono coloro che ci intervengono fattivamente. + +## Quali problematiche affronta + +Nelle tradizionali configurazioni on-premise, le organizzazioni incontrano spesso difficoltà nell'utilizzare in modo efficace le risorse di elaborazione. +I data center dovrebbero essere concepiti per potenziali picchi di domanda, anche se tale scenario dovesse risultare necessario solo l'1% delle volte. +Durante la riduzione della domanda, le risorse di calcolo rimangono inattive, ma se il carico di lavoro dovesse superare la domanda prevista, ci sarebbe una carenza di risorse per elaborare il nuovo carico di lavoro. +Questa mancanza di scalabilità comporta un aumento dei costi e un utilizzo inefficace delle risorse. + +## In che modo aiuta + +Con il modello IaaS, le organizzazioni possono evitare di acquistare e mantenere spazio di elaborazione e data center per le proprie applicazioni. +Un'infrastruttura on-demand consente loro di affittare le risorse di calcolo secondo necessità e rinviare grandi spese in conto capitale, o [CAPEX](https://it.wikipedia.org/wiki/Capex), dando loro la flessibilità di aumentare o diminuire la richiesta. + +La IaaS riduce i costi iniziali di sperimentazione o di test di una nuova applicazione, e fornisce strutture per implementare rapidamente l'infrastruttura. +Rivolgersi ad un fornitore di servizi Cloud è un'opzione eccellente per ambienti di sviluppo o test, che aiutino gli sviluppatori a sperimentare e innovare. From 2f33adce23a254fd4eebc2ee1179edce32b57f1b Mon Sep 17 00:00:00 2001 From: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Date: Mon, 9 Jan 2023 14:18:29 +0100 Subject: [PATCH 061/219] [IT] Localizzazione termine Multitenancy (#1537) * Added multitenancy Italian localization. Signed-off-by: Paolo * Update content/it/multitenancy.md Signed-off-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> * Update content/it/multitenancy.md Signed-off-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> * Update content/it/multitenancy.md Signed-off-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Signed-off-by: Paolo Signed-off-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Co-authored-by: Paolo --- content/it/multitenancy.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 content/it/multitenancy.md diff --git a/content/it/multitenancy.md b/content/it/multitenancy.md new file mode 100644 index 0000000000..9d8d0150ac --- /dev/null +++ b/content/it/multitenancy.md @@ -0,0 +1,25 @@ +--- +title: Multitenancy +status: Completed +category: Proprietà +--- + +## Cos'è + +Multitenancy (o multi-tenancy) si riferisce a una singola installazione software che serve più _tenant_. Un tenant può essere un utente, un'applicazione o un gruppo di utenti/applicazioni che utilizzano il software per operare sul proprio set di dati. Questi tenant non condividono dati (a meno che non siano espressamente istruiti in tal modo dal proprietario) e possono non essere a conoscenza l'uno dell'altro. + +Un tenant può essere piccolo come un utente indipendente con un singolo ID di accesso — si pensi ai software di produttività personale — o tanto estesi quanto un'intera azienda con migliaia di ID di accesso, ciascuno con i suoi permessi e comunque correlati in molti modi. +Esempi di software multitenant includono Google Mail, Google Docs, Microsoft Office 365, Salesforce CRM, e Dropbox, tra i tanti che si classificano come software interamente o parzialmente multitenant. + +## Quali problematiche affronta + +Senza la multitenancy, ciascun tenant avrebbe bisogno di un'installazione dedicata del software. Questo aumenta l'utilizzo di risorse e gli sforzi di manutenzione, e di conseguenza i costi del software. + +## In che modo aiuta + +Un software multitenant fornisce a ciascun tenant un ambiente separato (dati, impostazioni, liste di credenziali, ecc.), servendo contemporaneamente più tenant. Dal punto di vista di un tenant, ciascuno ha la propria installazione software dedicata, anche se in realtà tutti loro ne stanno condividendo una sola. Questo si ottiene facendo girare il software su un server e permettendo ai tenant di connettersi ad esso attraverso la rete tramite un'interfaccia e/o un'[API](/it/application-programming-interface/) (fare riferimento anche all'[Architettura Client-Server](/it/client-server-architecture/)). +Con un software multitenant, i tenant condividono le risorse di un'installazione senza influenzarsi tra loro o solo in modi predefiniti e controllati. Il conseguente risparmio di risorse da parte del fornitore del software può essere passato ai tenant, riducendo significativamente il costo del software per utente (anche in questo caso si può pensare alle e-mail web-based o agli editor di documenti). + +## Termini correlati + +Multitenancy non è un sinonimo di [SaaS](/it/software-as-a-service/), nonostante sia molto comune per un SaaS essere multitenant e anche di offrire la multitenancy come uno dei suoi principali vantaggi. From 90be3bdfaa68ec8f3ac142391a35b8236753c0eb Mon Sep 17 00:00:00 2001 From: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Date: Mon, 9 Jan 2023 15:16:40 +0100 Subject: [PATCH 062/219] [it] Localizzazione Stateful Apps (#1239) * Localisation PaaS * [IT] Localizzazione "Stateful Apps" * Delete platform_as_a_service.md * Update content/it/stateful-apps.md Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Signed-off-by: annalisag-spark <83414097+annalisag-spark@users.noreply.github.com> Co-authored-by: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> --- content/it/stateful-apps.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 content/it/stateful-apps.md diff --git a/content/it/stateful-apps.md b/content/it/stateful-apps.md new file mode 100644 index 0000000000..fe3883adb4 --- /dev/null +++ b/content/it/stateful-apps.md @@ -0,0 +1,25 @@ +--- +title: Stateful Apps +status: Completed +category: Concetto +tags: ["fondamentali", "basi"] +--- + +## Cos'è + +Quando parliamo di applicazioni _stateful_ (letteralmente "a pieno stato") e [stateless](/it/stateless-apps/) (letteralmente "senza stato"), +il concetto di stato si riferisce a tutti i dati da salvare affinché l'applicazione funzioni come previsto. +Qualsiasi tipo di esperienza di acquisto online che ti ricorda a che punto sta il tuo carrello è, ad esempio, un'applicazione _stateful_. + +## Quali problematiche affronta + +L'utilizzo di un'applicazione generalmente prevede più richieste. Durante le attività di online banking, per esempio, ti autentichi tramite l'inserimento della la tua password (richiesta n. 1), quindi puoi trasferire denaro a un amico (richiesta n. 2), e infine, visualizzerai i dettagli del trasferimento (richiesta n. 3). +Per funzionare correttamente, ogni passaggio deve ricordare i precedenti, e la banca deve ricordare lo stato dei conti di ogni cliente. +Oggi, la maggior parte delle applicazioni che utilizziamo sono almeno in parte _stateful_, poiché memorizzano informazioni quali preferenze e impostazioni volte a migliorare l'esperienza utente. + +## In che modo aiuta + +Esistono diversi modi per salvare lo stato di un'applicazione _stateful_. +Il più semplice è mantenere lo stato in memoria e non persisterlo. +Ma il problema è che ad ogni riavvio dell'applicazione verrebbe perso. +Per evitare che ciò accada, lo stato viene persistito in locale (su disco) o in database. From 4c670bf2764268aedc99f41876cebda3e9edb6ae Mon Sep 17 00:00:00 2001 From: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Date: Mon, 9 Jan 2023 15:18:14 +0100 Subject: [PATCH 063/219] Fixed a typo. (#1450) Signed-off-by: Paolo Signed-off-by: Paolo Co-authored-by: Paolo --- content/it/cloud-native-tech.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/it/cloud-native-tech.md b/content/it/cloud-native-tech.md index 404e202dd3..1fa7bae206 100644 --- a/content/it/cloud-native-tech.md +++ b/content/it/cloud-native-tech.md @@ -1,14 +1,14 @@ --- -title: Technologia Cloud Native +title: Tecnologia Cloud Native status: Completed 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/) e le [infrastrutture immutabili](/it/immutable-infrastructure/) sono esempi di questo approccio. -## Quali problematiche affronta +## Quali problematiche affronta Il _cloud native stack_ è formato da molte categorie di tecnologie diverse tra loro; ciascuna si propone di risolvere un problema specifico. Consultando il [CNCF Cloud Native Landscape](https://landscape.cncf.io/), potrai renderti conto di quante aree differenti coinvolga. In linea generale, il _cloud native stack_ affronta un gruppo principale di sfide, ossia gli aspetti negativi dei modelli operativi IT tradizionali. Fra gli altri vi sono: la difficoltà di creare applicazioni scalabili, _fault-tolerant_ (tolleranti agli errori) e [_self-healing_](/it/self-healing/) (auto riparanti), o anche l'utilizzo inefficiente delle risorse. From cf7955ea7adfb3d923b0a62f94e5446d4e429589 Mon Sep 17 00:00:00 2001 From: Paolo Martinoli <81316809+ugho16@users.noreply.github.com> Date: Mon, 9 Jan 2023 15:31:40 +0100 Subject: [PATCH 064/219] Added observability Italian localization. (#1466) Signed-off-by: Paolo Signed-off-by: Paolo Co-authored-by: Paolo --- content/it/observability.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 content/it/observability.md diff --git a/content/it/observability.md b/content/it/observability.md new file mode 100644 index 0000000000..c8a26baafd --- /dev/null +++ b/content/it/observability.md @@ -0,0 +1,24 @@ +--- +title: Osservabilità +status: Completed +category: concetto +tags: ["metodologia", "applicazione", "infrastruttura"] +--- + +## Cos'è + +L'osservabilità è la capacità di generare e scoprire continuamente spunti di intervento sulla base dei segnali provenienti dal sistema osservato. +In altre parole, l'osservabilità permette agli utenti di comprendere lo stato di un sistema dai suoi risultati esterni e intervenire di conseguenza (correggendo). + +## Quali problematiche affronta + +I sistemi informatici vengono misurati osservando sia segnali di basso livello, come la CPU, la memoria e lo spazio su disco, sia segnali di più alto livello e di business, come i tempi di risposta delle API, gli errori, il numero di transazioni per secondo, ecc. + +L'osservabilità di un sistema ha un impatto significativo sui suoi costi operativi e di sviluppo. +I sistemi osservabili forniscono dati significativi e fruibili agli operatori, consentendo loro di ottenere risultati favorevoli (risposta più rapida agli incidenti, aumento della produttività degli sviluppatori) e di ridurre la quantità di lavoro e i tempi di inattività. + +## In che modo aiuta + +È fondamentale capire che un maggior numero di informazioni non si traduce necessariamente in un sistema più osservabile. +Infatti, a volte la quantità di informazioni generata da dun sistema può rendere più difficile identificare segnali di salute significativi dal rumore generato dall'applicazione. +L'osservabilità richiede i dati giusti al momento giusto perché l'utente giusto (umano o software) possa prendere le decisioni giuste. From 20590a2b7c25b3d7a3fc0d00822b2a9bf7374e96 Mon Sep 17 00:00:00 2001 From: Mo Date: Fri, 27 Jan 2023 16:50:22 +0000 Subject: [PATCH 065/219] [Spanish] Localize Monolitic Applications (#1637) * [Spanish] Localize Monolitic Applications * Remove unnecessary pronoun * Update content/es/monolithic-apps.md Signed-off-by: Rael Garcia Co-authored-by: Carol Valencia <8355621+krol3@users.noreply.github.com> Co-authored-by: Victor Morales Co-authored-by: Rael Garcia --- content/es/monolithic-apps.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/es/monolithic-apps.md diff --git a/content/es/monolithic-apps.md b/content/es/monolithic-apps.md new file mode 100644 index 0000000000..bd27af1dcf --- /dev/null +++ b/content/es/monolithic-apps.md @@ -0,0 +1,28 @@ +--- +title: Aplicaciones monolíticas +status: Completed +category: Concepto +tags: ["architecture", "fundamental", ""] +--- + +## ¿Qué es? + +Una aplicación monolítica contiene toda la funcionalidad en un único programa desplegable. +Suele ser el punto de partida más sencillo y fácil a la hora de crear una aplicación. +Sin embargo, una vez que la aplicación crece en complejidad, los monolitos pueden ser difíciles de mantener. +Mientras más desarrolladores trabajen en la misma base de código, +la probabilidad de conflictos y la necesidad de comunicación interpersonal entre desarrolladores aumenta. + +## Problema que aborda + +La división de una aplicación en [microservicios](/microservices/) aumenta su sobrecarga operativa +ya que hay más cosas que probar, desplegar y mantener en funcionamiento. +Al principio del ciclo de vida de un producto, puede ser ventajoso reducir la complejidad y construir una aplicación monolítica +hasta que se determine que el producto tiene éxito. + +## ¿Cómo ayuda? + +Un monolito bien diseñado puede defender los principios "lean" al ser la forma más sencilla de poner en marcha una aplicación. +Cuando la aplicación monolítica demuestra su valor de negocio y éxito, se puede descomponer en microservicios. +Crear una aplicación basada en microservicios antes de que haya demostrado su valor puede suponer un gasto prematuro de esfuerzos de ingeniería. +Si la aplicación no aporta valor, ese esfuerzo se desperdicia. From ef6b7efeb8d35636eea4bd2eed6d61384538a519 Mon Sep 17 00:00:00 2001 From: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Date: Sat, 4 Feb 2023 05:18:28 -0500 Subject: [PATCH 066/219] "who can contribute" to "how to" guide (#1685) * "who can contribute" to "how to" guide Signed-off-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> * Update _index.md Signed-off-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> * Update _index.md Signed-off-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> --------- Signed-off-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> --- content/en/contribute/_index.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/content/en/contribute/_index.md b/content/en/contribute/_index.md index 6ea5809835..1fab015ad4 100644 --- a/content/en/contribute/_index.md +++ b/content/en/contribute/_index.md @@ -18,6 +18,19 @@ There are four ways you can contribute: 3) [Update existing ones](#update-an-existing-term) 4) [Help translate the glossary](#help-translate-the-glossary) +## Who can contribute? + +The goal of this Glossary is to make the cloud native space — which is notorious for its complexity — simpler for people by making it easier to understand. +To do that, we must focus on simplicity. + +Explaining complex concepts in simple words is *really* hard. +And while the digestible, user-friendly outcome may seem easy, achieving the desired simplicity is the result of hard work and collaboration between cloud native experts. +In short, to contribute new terms, you need a deep understanding of the topic. + +The localization effort is a bit different. +With solid existing definitions in English, less experienced contributors can still provide good localized terms. +This side of the project is better suited for beginners. + ## Join the Glossary community! {#join-the-glossary-community} Consider joining our monthly Glossary Working Group meetings if you want to contribute regularly. From 559ebc48e543ce45529c65f5d8f4ad2dbb30e18d Mon Sep 17 00:00:00 2001 From: Mo Date: Tue, 7 Feb 2023 11:50:55 -0500 Subject: [PATCH 067/219] 1394-spanish-localize-microservicesarchitecture (#1636) * [Spanish] Localize Microservices Architecture * fixes state * Fixes language for preview video and spellcheck. * Adds verified word to dictionary * Adds correct question marks. * Update content/es/microservices-architecture.md Signed-off-by: Mo Figueroa Co-authored-by: Carol Valencia <8355621+krol3@users.noreply.github.com> Co-authored-by: Victor Morales --- content/es/.wordlist.txt | 1 + content/es/microservices-architecture.md | 25 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 content/es/microservices-architecture.md diff --git a/content/es/.wordlist.txt b/content/es/.wordlist.txt index b0f7f31b46..af4190f851 100644 --- a/content/es/.wordlist.txt +++ b/content/es/.wordlist.txt @@ -175,6 +175,7 @@ platform Política portable pr +preestrenar prem premises Preview diff --git a/content/es/microservices-architecture.md b/content/es/microservices-architecture.md new file mode 100644 index 0000000000..fb76b1f519 --- /dev/null +++ b/content/es/microservices-architecture.md @@ -0,0 +1,25 @@ +--- +title: Arquitectura de Microservicios +status: Feedback Appreciated +tags: ["architecture", "fundamental", ""] +--- + +## ¿Qué es? + +Una arquitectura de microservicios es un enfoque arquitectónico que divide las aplicaciones en (micro)[servicios](/service/) individuales e independientes, donde cada servicio se centra en una funcionalidad específica. +Estos servicios trabajan juntos estrechamente, apareciendo ante el usuario final como una sola entidad. +Tomemos Netflix como ejemplo. +Su interfaz permite acceder, buscar y preestrenar vídeos. +Es probable que estas funciones estén gestionadas por servicios pequeños, cada uno de los cuales se encarga de una funcionalidad, por ejemplo, la autenticación, la búsqueda y la ejecución de preestrenar vídeos en el navegador. + +Este enfoque arquitectónico permite a los desarrolladores introducir nuevas características o actualizar la funcionalidad mucho más rápido que si estuvieran todo junto, como en una [aplicación monolítica](/monolithic-apps/) (más sobre esto más adelante). + +## Problema que aborda + +Las aplicaciones se componen de diferentes partes, cada una responsable de una capacidad específica. La demanda de una funcionalidad concreta no aumentará ni disminuirá necesariamente con la demanda de otras partes de la aplicación. Volviendo a nuestro ejemplo de Netflix. Digamos que después de una gran campaña de marketing, Netflix observa un gran volumen de inscripciones, pero la descarga de videos se ha mantenido más o menos estable en las primeras horas del día. El aumento de suscripciones exige más capacidad de suscripción. Tradicionalmente (enfoque monolítico), toda la aplicación tendría que ser [escalada](/scalability/) para acomodar el aumento - un uso muy ineficiente de los recursos. + +Las arquitecturas monolíticas también hacen que los desarrolladores tengan la posibilidad de caer en errores del diseño. Como todo el código está en el mismo sitio, es más fácil hacer que ese código esté [estrechamente acoplado](/tightly-coupled-architectures/) y más difícil aplicar el principio de separación de preocupaciones. Los monolitos también suelen requerir que los desarrolladores entiendan todo el código base antes de desplegar cualquier funcionalidad. La arquitectura de microservicios es una respuesta a estos retos. + +## ¿Cómo ayuda? + +Separar la funcionalidad en diferentes microservicios hace que sean más fáciles de desplegar, actualizar y escalar de forma independiente. También permite que diferentes equipos trabajen simultáneamente en una pequeña parte de una aplicación más grande sin afectar negativamente al resto de la aplicación. Aunque una arquitectura de microservicios resuelve muchos problemas, también crea una sobrecarga operativa: las cosas que hay que desplegar y controlar aumentan el orden de magnitud. Muchas [tecnologías nativas de la nube](/cloud-native-tech/) facilitan la implantación y gestión de microservicios. \ No newline at end of file From 513fa8f48630b707781b8809f531153f90ea9cab Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Fri, 10 Feb 2023 17:03:04 +0700 Subject: [PATCH 068/219] new tag filter ui Signed-off-by: cjyabraham --- layouts/_default/terms.html | 20 +++++++++++++++++++- layouts/partials/glossary-terms.html | 13 +++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 layouts/partials/glossary-terms.html diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index e39d6e1d65..52d8a62a02 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -1,6 +1,24 @@ {{ define "main" }}

{{ .Title }}

- {{ partial "taxonomy_terms_cloud.html" (dict "context" . "taxo" ( lower .Title ) ) }} + + + + + {{ $tags := index .Site.Taxonomies "tags" }} + +
+ {{ range $tags }} + {{ $tagid := printf "tag-%s" .Page.Title }} + + {{ title .Page.Title }} + + {{ end }} + {{ T "layouts_docs_glossary_select_all" }} + {{ T "layouts_docs_glossary_deselect_all" }} +
+ + +
{{ end }} \ No newline at end of file diff --git a/layouts/partials/glossary-terms.html b/layouts/partials/glossary-terms.html new file mode 100644 index 0000000000..13afe1b16b --- /dev/null +++ b/layouts/partials/glossary-terms.html @@ -0,0 +1,13 @@ +{{ $glossaryBundle := site.GetPage "page" "docs/reference/glossary" }} +{{- if $glossaryBundle -}} + {{ $pages := $glossaryBundle.Resources.ByType "page" }} + {{- range site.Params.language_alternatives -}} + {{- with (where $glossaryBundle.Translations ".Lang" . ) -}} + {{- $p := (index . 0) -}} + {{- $pages = $pages | lang.Merge ($p.Resources.ByType "page") -}} + {{- end -}} + {{ end }} + {{- $.Scratch.Set "glossary_items" $pages -}} +{{- else -}} +{{- errorf "[%s] Glossary Bundle not found for language. Create at least an index.md file inside docs/reference/glossary" site.Language.Lang -}} +{{- end -}} From 6dce4148a432a767a3ec079d52837bdabab98b62 Mon Sep 17 00:00:00 2001 From: Chris Abraham Date: Fri, 10 Feb 2023 18:05:01 +0700 Subject: [PATCH 069/219] i18n the word "tag" (closes #1233) (#1706) * i18n the word "tag" (closes #1233) Signed-off-by: cjyabraham --- i18n/bn.toml | 11 ++++++++--- i18n/de.toml | 11 ++++++++--- i18n/en.toml | 12 +++++++----- i18n/es.toml | 11 ++++++++--- i18n/hi.toml | 10 +++++++--- i18n/it.toml | 11 ++++++++--- i18n/ko.toml | 10 +++++++--- i18n/pt-br.toml | 12 +++++++----- i18n/zh-cn.toml | 10 +++++++--- layouts/_default/taxonomy.html | 4 ++-- layouts/_default/terms.html | 2 +- 11 files changed, 70 insertions(+), 34 deletions(-) diff --git a/i18n/bn.toml b/i18n/bn.toml index f7f0b57859..16f00a61dd 100644 --- a/i18n/bn.toml +++ b/i18n/bn.toml @@ -18,9 +18,14 @@ other = "এই সাইট খোঁজ করুন…" [ui_in] other = "ভিতরে" -# Used in sentences such as "All Tags" -[ui_all] -other = "সব" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" + # Footer text [footer_all_rights_reserved] diff --git a/i18n/de.toml b/i18n/de.toml index d7a2c203e0..34708c6c4d 100644 --- a/i18n/de.toml +++ b/i18n/de.toml @@ -18,9 +18,14 @@ other = "Diese Seite durchsuchen ..." [ui_in] other = "in" -# Used in sentences such as "All Tags" -[ui_all] -other = "alle" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" + # Footer text [footer_all_rights_reserved] diff --git a/i18n/en.toml b/i18n/en.toml index 5b913b39dd..b87e9bae39 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -18,11 +18,13 @@ other = "Search this site…" [ui_in] other = "in" -# Used in sentences such as "All Tags" -[ui_all] -other = "all" -[ui_see_all] -other = "See all" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" # Footer text [footer_all_rights_reserved] diff --git a/i18n/es.toml b/i18n/es.toml index 9830b4c907..9a4306fbf2 100644 --- a/i18n/es.toml +++ b/i18n/es.toml @@ -18,9 +18,14 @@ other = "Buscar en este sitio…" [ui_in] other = "en" -# Used in sentences such as "All Tags" -[ui_all] -other = "todo(a)" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" + # Footer text [footer_all_rights_reserved] diff --git a/i18n/hi.toml b/i18n/hi.toml index 4730e8ee89..041081c3a5 100644 --- a/i18n/hi.toml +++ b/i18n/hi.toml @@ -18,9 +18,13 @@ other = "इस साइट में खोजें…" [ui_in] other = "में" -# Used in sentences such as "All Tags" -[ui_all] -other = "सभी" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" # Footer text [footer_all_rights_reserved] diff --git a/i18n/it.toml b/i18n/it.toml index 1c10002795..44ded5860a 100644 --- a/i18n/it.toml +++ b/i18n/it.toml @@ -18,9 +18,14 @@ other = "Cerca in questo sito…" [ui_in] other = "in" -# Used in sentences such as "All Tags" -[ui_all] -other = "Tutti" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" + # Footer text [footer_all_rights_reserved] diff --git a/i18n/ko.toml b/i18n/ko.toml index 3e28546a69..c709d4339a 100644 --- a/i18n/ko.toml +++ b/i18n/ko.toml @@ -18,9 +18,13 @@ other = "이 사이트 검색하기…" [ui_in] other = "내부" -# Used in sentences such as "All Tags" -[ui_all] -other = "모든" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" # Footer text [footer_all_rights_reserved] diff --git a/i18n/pt-br.toml b/i18n/pt-br.toml index ab68f34327..ee2841968c 100644 --- a/i18n/pt-br.toml +++ b/i18n/pt-br.toml @@ -16,11 +16,13 @@ other = "Procurar" [ui_in] other = "em" -# Used in sentences such as "All Tags" -[ui_all] -other = "todas" -[ui_see_all] -other = "Ver todas" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" # Footer text [footer_all_rights_reserved] diff --git a/i18n/zh-cn.toml b/i18n/zh-cn.toml index 2c34e93624..0b2f4dac8b 100644 --- a/i18n/zh-cn.toml +++ b/i18n/zh-cn.toml @@ -18,9 +18,13 @@ other = "搜索本站..." [ui_in] other = "里面" -# Used in sentences such as "All Tags" -[ui_all] -other = "所有" +# Phrases for tags +[ui_see_all_tags] +other = "See all tags" +[ui_tag] +other = "Tag" +[ui_tags] +other = "Tags" # Footer text [footer_all_rights_reserved] diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html index 8d8201e124..c751315197 100644 --- a/layouts/_default/taxonomy.html +++ b/layouts/_default/taxonomy.html @@ -1,6 +1,6 @@ {{ define "main" }}
-

{{ with .Data.Singular }}{{ . | humanize }}: {{ end }}{{title .Title }}

+

{{ humanize ( T "ui_tag" ) }}: {{title .Title }}

{{ .Content }}
{{ $pages := (where .Pages ".Params.status" "Completed") | union (where .Pages ".Params.status" "completed") -}} @@ -29,7 +29,7 @@

- {{ humanize ( T "ui_see_all" ) }} {{ with .Data.Plural }}{{ . | humanize }}{{ end }} + {{ humanize ( T "ui_see_all_tags" ) }}

diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index e39d6e1d65..1e9115bd14 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -1,6 +1,6 @@ {{ define "main" }}
-

{{ .Title }}

+

{{ humanize ( T "ui_tags" ) }}

{{ partial "taxonomy_terms_cloud.html" (dict "context" . "taxo" ( lower .Title ) ) }}
{{ end }} \ No newline at end of file From b1843912ac6607089607ba0476da7b6819eca380 Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Fri, 10 Feb 2023 18:06:45 +0700 Subject: [PATCH 070/219] style the tag filters Signed-off-by: cjyabraham --- assets/scss/_styles_project.scss | 1 + assets/scss/_tag-search.scss | 56 ++++++++++ layouts/_default/terms.html | 5 +- static/js/tag-search.js | 181 +++++++++++++++++++++++++++++++ 4 files changed, 240 insertions(+), 3 deletions(-) create mode 100644 assets/scss/_tag-search.scss create mode 100644 static/js/tag-search.js diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index d797231390..bfd354bc5f 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -15,6 +15,7 @@ @import 'footer'; @import 'header'; @import 'cookie-banner'; +@import 'tag-search'; @import 'main'; @import 'search'; @import 'sidebar-left'; diff --git a/assets/scss/_tag-search.scss b/assets/scss/_tag-search.scss new file mode 100644 index 0000000000..3f4ce0a389 --- /dev/null +++ b/assets/scss/_tag-search.scss @@ -0,0 +1,56 @@ + +.permalink { +background-image: url(../images/link.png); +background-repeat: no-repeat; +display: inline-block; +vertical-align: middle; +font-size: 0; +color: transparent; +width: 17px; +height: 17px; +margin-left: 10px; +} + +.term-anchor { +display: block; +position: relative; +top: -90px; +visibility: hidden; +} + +.tag-option { +padding: 5px; +margin: 10px; +float:left; +} + +.canonical-tag { +color: white; +background-color: $gray-700; +border-radius: 5px; +} + +.canonical-tag a { +color: inherit; +text-decoration: none; +font-weight: 400; +padding: 0 5px; +font-size: 14px; +} + +.active-tag { +background-color: $link-color; +} + +.invisible { +visibility: hidden; +} + +#tag-container { +margin: 25px 0px; +} + +.tag-description { +text-align: center; +margin: 5px 0px; +} diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index 52d8a62a02..71307f6df3 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -2,8 +2,7 @@

{{ .Title }}

- - + {{ $tags := index .Site.Taxonomies "tags" }} @@ -11,7 +10,7 @@

{{ .Title }}

{{ range $tags }} {{ $tagid := printf "tag-%s" .Page.Title }} - {{ title .Page.Title }} + {{ title .Page.Title }} {{ end }} {{ T "layouts_docs_glossary_select_all" }} diff --git a/static/js/tag-search.js b/static/js/tag-search.js new file mode 100644 index 0000000000..a83d47ece0 --- /dev/null +++ b/static/js/tag-search.js @@ -0,0 +1,181 @@ +// TODO (long-term): Would be easier to manage all this state with React + +$( document ).ready(function() { + var expandText = "[+]"; + var closeText = "[-]"; + var selectAllKey = "all"; + var deselectAllKey = "none"; + + var defaultActiveTag = "fundamental"; + var activeTags = {}; + + var paramSize = function(paramHash) { + return Object.keys(paramHash).length; + } + + // "Lib" for acquiring parameters from the URL + var urlParamLib = function() { + function initParams() { + var sPageURL = decodeURIComponent(window.location.search.substring(1)), + sURLVariables = sPageURL.split('&'), + sParameterName, + i; + + var paramHash = {}; + for (i = 0; i < sURLVariables.length; i++) { + sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] != "") + paramHash[sParameterName[0]] = sParameterName[1]; + } + + if (paramSize(paramHash) == 0) { + paramHash[defaultActiveTag] = true; + } + + return paramHash; + } + + function updateParams(paramHash) { + var urlWithoutQuery = window.location.href.split('?')[0]; + window.history.pushState(null,null, urlWithoutQuery + "?" + $.param(paramHash) + window.location.hash); + } + + return { + initParams: initParams, + updateParams: updateParams, + }; + }(); + + var initClickFunctions = function() { + + var deactivateTagTerms = function(elt) { + var targetTag = elt.data("target"); + var targetClass = "." + targetTag; + var tagName = targetTag.split('tag-')[1]; + + elt.removeClass("active-tag"); + $(targetClass).each(function(){ + var showCount = $(this).data("show-count"); + var newShowCount = showCount - 1; + $(this).data("show-count", newShowCount); + if (newShowCount < 1) { + $(this).addClass("hide"); + } + }); + delete activeTags[tagName]; + }; + + var activateTagTerms = function(elt) { + var targetTag = elt.data("target"); + var targetClass = "." + targetTag; + var tagName = targetTag.split('tag-')[1]; + + elt.addClass("active-tag"); + $(targetClass).each(function(){ + var showCount = $(this).data("show-count"); + var newShowCount = showCount + 1; + $(this).data("show-count", newShowCount); + if (newShowCount > 0) { + $(this).removeClass("hide"); + } + }); + activeTags[tagName] = true; + if (activeTags[deselectAllKey]) { + delete activeTags[deselectAllKey]; + } + }; + + // Shows/hides glossary terms when their relevant tags are clicked + $(".canonical-tag").each(function(){ + var placeholder = $("#placeholder"); + var targetTag = $(this).data("target"); + $(this).mouseenter(function(){ + var tagDescription = $("#" + targetTag + "-description").html(); + placeholder.html(tagDescription); + placeholder.removeClass('invisible'); + }).mouseleave(function(){ + placeholder.addClass('invisible'); + }); + + $(this).click(function(){ + var shouldHide = $(this).hasClass("active-tag"); + if (shouldHide) { + deactivateTagTerms($(this)); + } else { + activateTagTerms($(this)); + } + urlParamLib.updateParams(activeTags); + }); + }); + + // Adds functionality to "select all tags" link + $("#select-all-tags").click(function(){ + $(".canonical-tag").each(function(){ + var shouldActivate = !$(this).hasClass("active-tag"); + if (shouldActivate) { + activateTagTerms($(this)); + } + }); + queryParams = {} + queryParams[selectAllKey] = true; + urlParamLib.updateParams(queryParams); + }); + + // Adds functionality to "deselect all tags" link + $("#deselect-all-tags").click(function(){ + $(".canonical-tag").each(function(){ + var shouldHide = $(this).hasClass("active-tag"); + if (shouldHide) { + deactivateTagTerms($(this)); + } + }); + queryParams = {} + queryParams[deselectAllKey] = true; + urlParamLib.updateParams(queryParams); + }); + + // Expands/hides glossary term definitions when [+] button is clicked + $(".click-controller").each(function(){ + $(this).click(function() { + var targetId = $(this).data("target"); + var shouldExpand = $(this).html() == expandText; + + if (shouldExpand) { + $("#" + targetId).removeClass('hide'); + $(this).html(closeText); + } else { + $("#" + targetId).addClass('hide'); + $(this).html(expandText); + } + }); + }); + + // Shows permalink when term name is hovered over + $(".term-name").each(function() { + var permalink = $($(this).parent().find(".permalink")[0]); + $(this).mouseenter(function(){ + permalink.removeClass("hide"); + }).mouseleave(function(){ + permalink.addClass("hide"); + }); + }); + }; + + function initActiveTags() { + if (activeTags[selectAllKey]) { + $("#select-all-tags").click(); + } else if (activeTags[deselectAllKey]) { + $("#deselect-all-tags").click(); + } else { + for (var tagId in activeTags) { + $("#tag-" + tagId).find("a")[0].click(); + } + } + } + + initClickFunctions(); + activeTags = urlParamLib.initParams(); + initActiveTags(); + + }); + \ No newline at end of file From 8058062b610f73cbd08ece45372d10448944595a Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Fri, 10 Feb 2023 18:19:33 +0700 Subject: [PATCH 071/219] Added terms for translation Signed-off-by: cjyabraham --- i18n/en.toml | 6 ++++++ layouts/_default/terms.html | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/i18n/en.toml b/i18n/en.toml index b87e9bae39..e4c628bad8 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -25,6 +25,12 @@ other = "See all tags" other = "Tag" [ui_tags] other = "Tags" +[ui_filter_by_tags] +other = "Filter by Tags" +[ui_select_all] +other = "Select All" +[ui_deselect_all] +other = "Deselect All" # Footer text [footer_all_rights_reserved] diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index 71307f6df3..671d55dcc6 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -1,6 +1,6 @@ {{ define "main" }}
-

{{ .Title }}

+

{{ title ( T "ui_filter_by_tags" ) }}

@@ -13,8 +13,8 @@

{{ .Title }}

{{ title .Page.Title }} {{ end }} - {{ T "layouts_docs_glossary_select_all" }} - {{ T "layouts_docs_glossary_deselect_all" }} + {{ T "ui_select_all" }} + {{ T "ui_deselect_all" }}
From 0d7b440ccd2c6b024780f9ad9b45339187a930a7 Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Fri, 10 Feb 2023 19:52:34 +0700 Subject: [PATCH 072/219] got the term listing working Signed-off-by: cjyabraham --- assets/scss/_tag-search.scss | 7 ++++++- layouts/_default/terms.html | 26 ++++++++++++++++++++++++-- layouts/partials/glossary-terms.html | 13 ------------- 3 files changed, 30 insertions(+), 16 deletions(-) delete mode 100644 layouts/partials/glossary-terms.html diff --git a/assets/scss/_tag-search.scss b/assets/scss/_tag-search.scss index 3f4ce0a389..fa379e3205 100644 --- a/assets/scss/_tag-search.scss +++ b/assets/scss/_tag-search.scss @@ -47,10 +47,15 @@ visibility: hidden; } #tag-container { -margin: 25px 0px; +margin: 35px 0px; } .tag-description { text-align: center; margin: 5px 0px; } + +#terms-by-tag { + clear: both; + padding-top: 3rem; +} \ No newline at end of file diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index 671d55dcc6..88bc7bb5a5 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -16,8 +16,30 @@

{{ title ( T "ui_filter_by_tags" ) }}

{{ T "ui_select_all" }} {{ T "ui_deselect_all" }}
- - + + {{ $glossary_items := (where .Site.Pages "Params.status" "Completed") | union (where .Site.Pages "Params.status" "completed") }} + {{ with $glossary_items }} + {{ $glossary_terms := sort . "Title" "asc" }} +
+ {{ range $glossary_terms }} + {{ $.Scratch.Set "tag_classes" "" }} + {{ range .Params.tags }} + {{ $.Scratch.Add "tag_classes" (printf "tag-%s " .) }} + {{ end }} + {{ $term_identifier := (printf "term-%s" .Params.id) }} + +
+
+
+

{{ .Title }}

+
+ {{ .Summary | safeHTML }} +
+
+
+ {{ end }} +
+ {{ end }} {{ end }} \ No newline at end of file diff --git a/layouts/partials/glossary-terms.html b/layouts/partials/glossary-terms.html deleted file mode 100644 index 13afe1b16b..0000000000 --- a/layouts/partials/glossary-terms.html +++ /dev/null @@ -1,13 +0,0 @@ -{{ $glossaryBundle := site.GetPage "page" "docs/reference/glossary" }} -{{- if $glossaryBundle -}} - {{ $pages := $glossaryBundle.Resources.ByType "page" }} - {{- range site.Params.language_alternatives -}} - {{- with (where $glossaryBundle.Translations ".Lang" . ) -}} - {{- $p := (index . 0) -}} - {{- $pages = $pages | lang.Merge ($p.Resources.ByType "page") -}} - {{- end -}} - {{ end }} - {{- $.Scratch.Set "glossary_items" $pages -}} -{{- else -}} -{{- errorf "[%s] Glossary Bundle not found for language. Create at least an index.md file inside docs/reference/glossary" site.Language.Lang -}} -{{- end -}} From 84e2651054f0c2649a64b80e1b17a711a88b319b Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Sat, 11 Feb 2023 15:13:36 +0700 Subject: [PATCH 073/219] progress Signed-off-by: cjyabraham --- assets/scss/_tag-search.scss | 4 ++++ i18n/en.toml | 4 ++-- layouts/_default/terms.html | 13 ++++++------- static/js/tag-search.js | 2 -- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/assets/scss/_tag-search.scss b/assets/scss/_tag-search.scss index fa379e3205..d2c992b033 100644 --- a/assets/scss/_tag-search.scss +++ b/assets/scss/_tag-search.scss @@ -58,4 +58,8 @@ margin: 5px 0px; #terms-by-tag { clear: both; padding-top: 3rem; + + h3 { + margin-top: 2.5rem; + } } \ No newline at end of file diff --git a/i18n/en.toml b/i18n/en.toml index e4c628bad8..f489aaadd1 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -25,8 +25,8 @@ other = "See all tags" other = "Tag" [ui_tags] other = "Tags" -[ui_filter_by_tags] -other = "Filter by Tags" +[ui_search_by_tags] +other = "Search by Tags" [ui_select_all] other = "Select All" [ui_deselect_all] diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index 88bc7bb5a5..2da1c2abb5 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -1,6 +1,6 @@ {{ define "main" }}
-

{{ title ( T "ui_filter_by_tags" ) }}

+

{{ title ( T "ui_search_by_tags" ) }}

@@ -24,17 +24,16 @@

{{ title ( T "ui_filter_by_tags" ) }}

{{ range $glossary_terms }} {{ $.Scratch.Set "tag_classes" "" }} {{ range .Params.tags }} - {{ $.Scratch.Add "tag_classes" (printf "tag-%s " .) }} + {{ with . }} + {{ $.Scratch.Add "tag_classes" (printf "tag-%s " .) }} + {{ end }} {{ end }} {{ $term_identifier := (printf "term-%s" .Params.id) }}
-
+

{{ .Title }}

-

{{ .Title }}

-
- {{ .Summary | safeHTML }} -
+ {{ replace ( .Summary | safeHTML ) "What it is" "" }}
{{ end }} diff --git a/static/js/tag-search.js b/static/js/tag-search.js index a83d47ece0..5d48c516b6 100644 --- a/static/js/tag-search.js +++ b/static/js/tag-search.js @@ -1,8 +1,6 @@ // TODO (long-term): Would be easier to manage all this state with React $( document ).ready(function() { - var expandText = "[+]"; - var closeText = "[-]"; var selectAllKey = "all"; var deselectAllKey = "none"; From 665fa513c79590881b1e622a52e58c256cf250e4 Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Sat, 11 Feb 2023 15:31:13 +0700 Subject: [PATCH 074/219] got the filters working Signed-off-by: cjyabraham --- assets/scss/_tag-search.scss | 4 ++++ static/js/tag-search.js | 25 ------------------------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/assets/scss/_tag-search.scss b/assets/scss/_tag-search.scss index d2c992b033..5d2f40ff10 100644 --- a/assets/scss/_tag-search.scss +++ b/assets/scss/_tag-search.scss @@ -62,4 +62,8 @@ margin: 5px 0px; h3 { margin-top: 2.5rem; } +} + +.hide { + display: none; } \ No newline at end of file diff --git a/static/js/tag-search.js b/static/js/tag-search.js index 5d48c516b6..5d0f902495 100644 --- a/static/js/tag-search.js +++ b/static/js/tag-search.js @@ -132,31 +132,6 @@ $( document ).ready(function() { urlParamLib.updateParams(queryParams); }); - // Expands/hides glossary term definitions when [+] button is clicked - $(".click-controller").each(function(){ - $(this).click(function() { - var targetId = $(this).data("target"); - var shouldExpand = $(this).html() == expandText; - - if (shouldExpand) { - $("#" + targetId).removeClass('hide'); - $(this).html(closeText); - } else { - $("#" + targetId).addClass('hide'); - $(this).html(expandText); - } - }); - }); - - // Shows permalink when term name is hovered over - $(".term-name").each(function() { - var permalink = $($(this).parent().find(".permalink")[0]); - $(this).mouseenter(function(){ - permalink.removeClass("hide"); - }).mouseleave(function(){ - permalink.addClass("hide"); - }); - }); }; function initActiveTags() { From 10f1ade6f10ac8e2d39f6740d0d54c828c700344 Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Sat, 11 Feb 2023 15:37:50 +0700 Subject: [PATCH 075/219] fix text Signed-off-by: cjyabraham --- layouts/_default/terms.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index 2da1c2abb5..fe78a14aa4 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -33,7 +33,7 @@

{{ title ( T "ui_search_by_tags" ) }}

{{ .Title }}

- {{ replace ( .Summary | safeHTML ) "What it is" "" }} + {{ replace ( .Summary | markdownify ) "What it is" "" }}
{{ end }} From 4f2c5dd5ef56968d25a983d8d492e18156b6037e Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Sun, 12 Feb 2023 17:43:03 +0700 Subject: [PATCH 076/219] style tweaks Signed-off-by: cjyabraham --- assets/scss/_tag-search.scss | 6 +++--- layouts/_default/terms.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/scss/_tag-search.scss b/assets/scss/_tag-search.scss index 5d2f40ff10..859c05b64d 100644 --- a/assets/scss/_tag-search.scss +++ b/assets/scss/_tag-search.scss @@ -47,7 +47,7 @@ visibility: hidden; } #tag-container { -margin: 35px 0px; +margin: 35px 0 0; } .tag-description { @@ -57,10 +57,10 @@ margin: 5px 0px; #terms-by-tag { clear: both; - padding-top: 3rem; + padding-top: 1rem; h3 { - margin-top: 2.5rem; + margin: 2.5rem 0 1rem; } } diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index fe78a14aa4..b56c090be2 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -33,7 +33,7 @@

{{ title ( T "ui_search_by_tags" ) }}

{{ .Title }}

- {{ replace ( .Summary | markdownify ) "What it is" "" }} + {{ replace ( .Summary | markdownify ) "What it is" "" }}..
{{ end }} From b2486b9404be7b26fe0d34b204951102483770bf Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Sun, 12 Feb 2023 17:53:43 +0700 Subject: [PATCH 077/219] style tweaks Signed-off-by: cjyabraham --- assets/scss/_tag-search.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/assets/scss/_tag-search.scss b/assets/scss/_tag-search.scss index 859c05b64d..7850aaeb01 100644 --- a/assets/scss/_tag-search.scss +++ b/assets/scss/_tag-search.scss @@ -61,6 +61,12 @@ margin: 5px 0px; h3 { margin: 2.5rem 0 1rem; + a { + color: black; + &:hover { + color: $link-color; + } + } } } From 3539755b21a2e49508dbdcf35a44f6da7a9df5d6 Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Mon, 13 Feb 2023 13:55:00 +0700 Subject: [PATCH 078/219] hook in tag search across site Signed-off-by: cjyabraham --- assets/scss/_search.scss | 26 +++++++++++++++++++- i18n/en.toml | 2 ++ layouts/partials/sidebar-tree.html | 3 +++ layouts/partials/taxonomy_terms_article.html | 2 +- 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/assets/scss/_search.scss b/assets/scss/_search.scss index 449e1087a7..11748925a9 100644 --- a/assets/scss/_search.scss +++ b/assets/scss/_search.scss @@ -8,7 +8,7 @@ padding-top: 0.5rem !important; padding-left: 1.5rem; padding-right: 1rem; - padding-bottom: 1rem; + padding-bottom: 5px; } @media (min-width: 1300px) { padding-left: 2.5rem; @@ -74,5 +74,29 @@ border-bottom: $black 2px solid; } } + } +} + +.search-by-tag { + position: relative; + width: 100%; + font-size: 12px; + text-align: right; + @media (max-width: 767px) { + display: none; + } + @media (min-width: 768px) { + width: calc(100% - 20px); } + padding-left: calc(20px + 20px); + @media (min-width: 768px) { + padding-left: 30px; + } + @media (min-width: 992px) { + padding-left: 35px; + } + @media (min-width: 1100px) { + padding-left: calc(20px + 20px); + } + } diff --git a/i18n/en.toml b/i18n/en.toml index f489aaadd1..cc111ab763 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -27,6 +27,8 @@ other = "Tag" other = "Tags" [ui_search_by_tags] other = "Search by Tags" +[ui_or_search_by_tags] +other = "...or search by tags" [ui_select_all] other = "Select All" [ui_deselect_all] diff --git a/layouts/partials/sidebar-tree.html b/layouts/partials/sidebar-tree.html index 27a632cb4b..69908566e5 100644 --- a/layouts/partials/sidebar-tree.html +++ b/layouts/partials/sidebar-tree.html @@ -11,6 +11,9 @@ + {{ else -}}