kubernetes nextcloud ceph itservicenet

Indice

  1. Introduzione
  2. L'era del deployment in container
  3. Perché necessito di Kubernetes e cosa posso farci
  4. ITServicenet = Kubernetes + Ceph + Nextcloud

Introduzione

Nel nostro lavoro quotidiano entrando in aziende di ogni tipo constatiamo la continua ed esasperata creazione di Virtual Machine anche solo per far eseguire semplici programmi dedicati ad una specifica attività.

Questo esubero di VM alla lunga appesantisce l’infrastruttura di virtualizzazione (sia essa HyperV, Vmware o Kvm, tanto per citare le più famose). Infatti una VM include l’astrazione hardware ed il sistema operativo in modo completo, quando invece in molti casi non sarebbe strettamente necessario avere tutto a disposizione.

Consapevoli di questa situazione e complice il fatto che le infrastrutture IT devono scalare e dimensionarsi in modo dinamico, senza dimenticare la necessità di avere sempre più servizi in cloud, gli IT Manager hanno iniziato a convergere verso il concetto di Container e di Kubernetes, uno tra gli orchestratori più famosi.

Dunque questa tecnologia ha iniziato a diffondersi in modo inesorabile.

Il container, elemento portante della infrastruttura Kubernetes rappresenta l’astrazione dell’applicativo fine a se stesso.

L'era del deployment in container

I container sono simili alle macchine virtuali, ma presentano un modello di isolamento più leggero, condividendo il sistema operativo (OS) tra le applicazioni. Pertanto sono considerati più leggeri.

Analogamente a una macchina virtuale, un container dispone di una segregazione di filesystem, CPU, memoria, PID e altro ancora.

Poiché disaccoppiati dall'infrastruttura sottostante, risultano portabili tra differenti cloud e diverse distribuzioni.

I container sono diventati popolari dal momento che offrono molteplici vantaggi, ad esempio:

Perché necessito di Kubernetes e cosa posso farci

I container sono un buon modo per distribuire ed eseguire le tue applicazioni. In un ambiente di produzione, è necessario gestire i container che eseguono le applicazioni e garantire che non si verifichino interruzioni dei servizi. Per esempio, se un container si interrompe, è necessario avviare un nuovo container. Non sarebbe più facile se questo comportamento fosse gestito direttamente da un sistema?

È proprio qui che Kubernetes viene in soccorso!

Ti fornisce un framework per far funzionare i sistemi distribuiti in modo resiliente.

Si occupa della scalabilità, del failover, della distribuzione delle tue applicazioni.

E per esempio può facilmente gestire i rilasci con modalità Canary deployment.

Inoltre Kubernetes offre anche:

ITServicenet = Kubernetes + Ceph + Nextcloud

Ci siamo sempre impegnati a rendere i sistemi IT semplici ed affidabili.
La nostra ambizione è poter offrire un sistema scalabile, flessibile, sicuro utilizzando quello che oggi è il massimo offerto dal mercato Open Source Professionale.
Ci siamo voluti specializzare nelle tecnologie che fanno uso della distribuzione del dato e che in forme più o meno elaborate lavorano in modo autonomo ed automatico per permetterci di erogare servizi in alta affidabilità e alta persistenza del dato (self healing).

Quindi oggi possiamo installare un sistema full-stack di gestione container partendo dallo storage CEPH, che ci dà accesso a block device, filesystem e storage S3, quindi Kubernetes per tutti i punti sopra elencati e l’erogazione di servizi Web style come Nextcloud di cui siamo partner ufficiali per l’Italia - https://nextcloud-italia.it/

Il nostro ambiente così istanziato permette di erogare il servizio Nextcloud in modalità altamente scalabile, clusterizzata e di facile manutenzione.

Tutti gli applicativi Web Style possono essere erogati con la medesima modalità dalla infrastruttura Kubernetes + Ceph.

Si parlerà ampiamente di questo ad Open Source Week 2021 - https://opensourceweek.it/

Per registrarsi all’evento è possibile cliccare qui: registrazione open source week.

Per consulenze, preventivi o dettagli contattateci qui: https://www.itservicenet.net/contattaci/

o scriveteci direttamente a m.marcato@itservicenet.net.

Ing. Alessandro Bolgia

Bibliografia:

https://kubernetes.io/it/docs/concepts/overview/what-is-kubernetes/

strategia nazionale

L’articolo di oggi è scritto da un nostro partner della Rete Italia Open Source, Davide Lamanna di Binario Etico, abbiamo deciso di pubblicarlo perché è in sintonia con il nostro modo di pensare, inoltre gli argomenti trattati sono di grande attualità.

Ma perché scegliere un’immagine metaforica come quella che campeggia su questo blog post?

Una macchina da scrivere della Olivetti, dalla quale si generano delle piante destinate a durare nel tempo.

Lo scoprirete leggendo, non si tratta di ragionare in modo anacronistico, celebrando i fasti che furono, ma piuttosto di partire dal passato e proiettarsi nel futuro, consapevoli delle nostre potenzialità a livello nazionale, sia tecnologiche che creative.

L’obiettivo che si prefissa l’autore del testo al quale vi lascerò tra poco è raccontare lo stato dell’arte del mondo dell’ IT nel bel paese e di come potrebbe essere utilizzato.

Ma si riflette anche sul condizionale del verbo appena citato, figlio della realtà dei fatti e si auspica un cambio di rotta tecnologico, per evitare di perdere la bussola definitivamente a favore di colossi ICT extra nazionali che si sono già accaparrati la stragrande maggioranza del mercato, sia in ambito aziendale che pubblico.

Da qui si va dritti verso i rischi che derivano dal sottostimare l'importanza della sovranità digitale.

Per poi passare a sottolineare come vadano tenuti ben presenti i requisiti minimi per la realizzazione di servizi cloud native di alto livello, imprescindibili per poter presentare nel prossimo futuro una strategia nazionale per l'IT.

Infine si getta una luce sulla grande opportunità offerta dal Recovery Plan, alla quale tutti rivolgono lo sguardo ma per approfittare della quale è necessario che l’IT venga finalmente considerato per quello che è, non solo uno strumento al servizio di altri settori (commodity), ma un settore paritetico agli altri che si prefigge di assistere, in ottica di una vera e propria strategia nazionale.

Buona lettura dall' Enterprise OSS team.


Vai all'articolo

cloud

Se hai ricercato applicazioni e tecnologie native per il cloud, probabilmente ti sei imbattuto nella mappa a questo link

https://landscape.cncf.io/

è la mappa del mondo del cloud. La sua complessità non è incoraggiante: tante categorie e tante tecnologie.

Cerchiamo oggi di definire qualche linea guida per dare un senso a tutto ciò.

Come per qualsiasi altra cosa, se lo scomponi e lo analizzi un pezzo alla volta, scoprirai che non è così complesso e ha molto senso.

In effetti, la mappa è ben organizzata per funzionalità e, una volta capito cosa rappresenta ciascuna categoria, la navigazione diventa molto più semplice.

I quattro strati del paesaggio nativo del cloud

Innanzitutto, eliminiamo tutte le singole tecnologie dal panorama e esaminiamo le categorie.

Esistono diverse "righe" che riflettono i livelli architettonici, ciascuna con il proprio insieme di sottocategorie.

Nel primo livello ci sono gli strumenti per il provisioning dell'infrastruttura, che è la base.

Quindi si passa ad aggiungere gli strumenti necessari per eseguire e gestire app, livelli di runtime e orchestrazione.

Nella parte superiore ci sono gli strumenti per definire e sviluppare la tua applicazione, come i database, creazione di immagini e strumenti CI / CD (Continuous Integration and Deployment).

1.Il livello di fornitura

Il provisioning si riferisce agli strumenti coinvolti nella creazione e nel rafforzamento delle basi su cui sono costruite le applicazioni cloud native.

Copre tutto, dall'automazione della creazione, gestione e configurazione dell'infrastruttura alla scansione, firma e archiviazione delle immagini dei contenitori.

Il provisioning si estende alla sfera della sicurezza fornendo strumenti che consentono di impostare e applicare policies, creare autenticazione e autorizzazione nelle app e piattaforme e gestire la distribuzione delle chiavi.

Nel livello di provisioning, troverai:

Questi strumenti consentono agli ingegneri di codificare tutte le specifiche dell'infrastruttura, in modo che il sistema possa attivare o disattivare nuovi ambienti a seconda delle necessità, assicurando che siano coerenti e sicuri.

2. Il livello di runtime

Runtime è uno di quei termini che possono creare confusione. Non esiste una definizione rigorosa e può essere utilizzato in modo diverso, a seconda del contesto.

A.In senso stretto, il runtime è una sandbox su una macchina specifica preparata per eseguire un'app, il minimo indispensabile di cui un'app ha bisogno.

B.In senso più ampio, il runtime è qualsiasi strumento di cui l'app necessita per girare.

C.Nel mondo delle app cloud native la definizione di runtime è una via di mezzo, si concentra sui componenti che contano per le app containerizzate: ciò di cui hanno bisogno per eseguire, ricordare e comunicare.

Questi includono:

3. Il livello di gestione e orchestrazione

Dopo aver automatizzato il provisioning dell'infrastruttura seguendo gli standard di sicurezza e conformità (livello di provisioning) e impostato gli strumenti che l'app deve eseguire (livello di runtime), gli ingegneri devono capire come orchestrare e gestire le loro app.

Il livello di orchestrazione e gestione si occupa del modo in cui tutti i servizi containerizzati (componenti dell'app) vengono gestiti come un gruppo.

Devono identificare altri servizi, comunicare tra loro e coordinarsi. Le app cloud native intrinsecamente scalabili si basano sull'automazione e sulla resilienza, abilitate da questo livello.

In questo livello troverai:

4. Definizione dell'applicazione e livello di sviluppo

Ora passiamo al livello superiore. Come suggerisce il nome, la definizione dell'applicazione e il livello di sviluppo si concentrano sugli strumenti che consentono agli ingegneri di creare app e consentono loro di funzionare. Tutto quanto discusso sopra era relativo alla creazione di un ambiente affidabile e sicuro e alla fornitura di tutte le dipendenze delle app necessarie.

Sotto questa categoria vedrai:

Strumenti in esecuzione su tutti i livelli

Tornando alla panoramica delle categorie (immagine iniziale), esploriamo le due colonne che attraversano tutti i livelli.

L'osservabilità e l'analisi sono strumenti che monitorano tutti i livelli.

Le piattaforme, d'altra parte, raggruppano più tecnologie all'interno di questi livelli in un'unica soluzione, inclusa l'osservabilità e l'analisi.

Osservabilità e analisi

Per limitare le interruzioni del servizio dovrai monitorare e analizzare ogni aspetto della tua applicazione in modo che qualsiasi anomalia venga rilevata e corretta immediatamente. I guasti si verificheranno inevitabilmente in ambienti complessi e questi strumenti contribuiscono a renderli meno impattanti aiutando a identificare e risolvere i guasti il più rapidamente possibile. Poiché questa categoria attraversa e monitora tutti i livelli, si trova sul lato e non è incorporata in un livello specifico.

Qui troverai:

Piattaforme

Come abbiamo visto, ciascuno di questi moduli risolve un problema particolare. Lo storage da solo non fornisce tutto ciò di cui hai bisogno per gestire la tua app.

Avrai bisogno di uno strumento di orchestrazione, runtime del contenitore, rilevamento dei servizi, networking, gateway API e così via. Coprendo più livelli, le piattaforme raggruppano diversi strumenti insieme per risolvere un problema più ampio.

Configurare e mettere a punto diversi moduli in modo che siano affidabili e sicuri e garantire che tutte le tecnologie che sfrutta siano aggiornate e che le vulnerabilità siano corrette non è un compito facile. Con le piattaforme, gli utenti non devono preoccuparsi di questi dettagli: un vero valore aggiunto.

Probabilmente noterai che tutte le categorie ruotano attorno a Kubernetes. Questo perché Kubernetes, sebbene sia solo un pezzo del puzzle, è al centro dello stack del native cloud. Il CNCF, tra l'altro, è stato creato con Kubernetes come primo progetto di seeding; tutti gli altri progetti sono seguiti in seguito.

Le piattaforme possono essere classificate in quattro gruppi:

Conclusione

In ogni categoria, ci sono diversi strumenti volti a risolvere problemi uguali o simili. Alcune sono tecnologie native pre-cloud adattate alla nuova realtà, mentre altre sono completamente nuove. Le differenze risiedono nella loro implementazione e approcci progettuali. Non esiste una tecnologia perfetta che controlli tutte le scatole. Nella maggior parte dei casi la tecnologia è limitata dal design e dalle scelte architettoniche: c'è sempre un compromesso.

Quando si seleziona lo stack, gli ingegneri devono considerare attentamente ogni capacità e compromesso per identificare l'opzione migliore per il loro caso d'uso.

Sebbene ciò comporti ulteriore complessità, non è mai stata possibile come oggi la scelta di uno storage dei dati, della gestione dell'infrastruttura, del sistema di messaggistica, ecc. che meglio si adattano alle esigenze dell'applicazione.

L'architettura dei sistemi oggi è molto più semplice che in un mondo pre-cloud. E, se progettate in modo appropriato, le tecnologie cloud native offrono la grande e necessaria flessibilità di cui c’è bisogno.

Nell’ecosistema tecnologico in rapida evoluzione dei nostri tempi, questa è probabilmente una delle capacità più importanti.

Ci auguriamo che questa rapida panoramica sia stata utile.

Articolo liberamente tradotto da

https://thenewstack.io/an-introduction-to-the-cloud-native-landscape/

Un'introduzione al paesaggio nativo del cloud - a cura di Catherine Paganini

© 2022 All rights reserved