Guida Le 5 distribuzioni Linux utilizzate dalle aziende italiane

nfvblog

Moderatore
9 Dicembre 2021
664
67
327
450
Ultima modifica da un moderatore:
sala server.png


Oggi come oggi tutti viviamo online e per questo motivo stanno nascendo sempre nuove aziende che fanno dell'Internet un lavoro. Se parliamo di hosting provider service la prima soluzione a basso costo e ad alta rendita è proprio Linux e BSD essendo entrambi degli open source (quindi chiunque può modificare il codice sorgente e ridistribuirne la propria versione). La stragrande maggioranza degli hypervisor sono basati su Linux, tra cui lo stesso VMWare server, inoltre il fatto che siano sistemi UNIX/UNIX-Like li rende decisamente più stabili. Anche se ormai la soluzione che sta prendendo più piede per la virtualizzazione è il container, che dimostra una discreta portabilità e togli allo sviluppatore il vincolo della piattaforma di sviluppo.

La scelta adottata negli ultimi anni è abbastanza standard, infatti molte aziende hanno optato per le stesse distro, riducendo i potenziali problemi ed evitando rogne dovute ai porting da un sistema all'altro. Oggi vedremo 5 distro che le aziende normalmente utilizzano per i loro server.

Le 5 distribuzioni Linux utilizzate dalle aziende​




1    Distribuzioni



1.1    Debian


Debian10_Gnome.png

Debian viene anche definito il sistema operativo universale, è una distro per utilizzo generale, quindi potenzialmente può essere utilizzato per svolgere tutte
le operazioni più comuni per un server senza dover avere inutili pacchetti preinstallati. Infatti, l'installer grafico consente di poter scegliere cosa
preinstallare. Un altro punto fondamentale di questa distro è il fatto che il software che ci gira a bordo è puramente open source, per importare software
proprietario è necessario implementare i repo "non-free" che permettono di espandere di molto il parco software.







La distro è divisa in branch:

Stadiocaratteristiche
Stablenon ha i pacchetti molto aggiornati, ma risultano estremamente stabili
Testingha i pacchetti un po' più aggiornati ma risulta meno stabile e non viene garantita la sicurezza del Debian security team
UnstableQuesto è il primo banco di prova dei pacchetti che poi arriveranno su Debian, effettivamente questo è il punto meno stabile del progetto, ma è un passaggio necessario per valutare il da farsi
Consiglio è quello di non installare su macchina fisica la versione "unstable" ma su macchina virtuale, per una questione di sicurezza personale.

Da Debian sono nate anche distro per la sicurezza informatica come Kali, di cui ho parlato in questa discussione.



1.2    Ubuntu

photo_2022-02-18_23-34-30.jpg

Ubuntu è un sistema operativo che nasce nei primi del 2000 , è basato su Linux più precisamente da Debian.

Il suo nome deriva da una parola sudafricana che significa "unione" , ciò come tributo all'enorme community che sta dietro ad esso.

Community molto attiva, che fa della sua presenza il vero punto di forza all'atto pratico: al di là delle scontate considerazioni
che si possono fare su un OS , come la compatibilità, l'efficienza e il "peso" sull'hardware, una cosa fondamentale è avere assistenza
attiva sulle varie problematiche che si andranno ad incontrare quando parliamo di utilizzo a fine di deploy di spazi web.

Ogni sistema operativo ha le sue esigenze sul processo di installazione e gestione dei vari strumenti per il nostro lavoro, dall'installazione di un server locale con xampp al deploy vero e proprio con nginx o apache fino ad arrivare alla gestione del database con mysql o mariaDB, le varie operazioni tra un OS e l'altro hanno delle differenze seppur minime.

Nei variegati problemi che andremo ad affrontare, con Ubuntu avremo a disposizione sul cloud un'infinita libreria da cui attingere a soluzioni o a guide intere , oltre che a molteplici forum. Sul sito ufficiale di Ubuntu, è stimato che il 66% degli sviluppatori utilizza ubuntu per lavorare, ma al di là di cosa pensa il macellaio della sua carne, dalla mia esperienza personale posso dire che questa percentuale non è troppo esagerata.

Tra questi alcuni esempi utili:

Un altro punto di forza estremamente valido è l'assortimento di software accessibili tramite la libreria snap dove troviamo programmi come Slack , Visual Studio Code , Skype e i vari IDE JetBrain per citarne alcuni. La cosa importante che fa è interagire in modo fluido con i vari strumenti necessari al development come PHP (su ubuntu è già installata la versione 7.0), Pearl, MySQL, Ruby, ecc.

Ubuntu è lo strumento perfetto per un utilizzo professionale , a differenza di altre distro Linux l'interfaccia grafica e intuitiva e semplice nel suo utilizzo, questo rende "meno" traumatico alla utenza Microsoft e Apple il passaggio a questo OS. Sono stato il più possibile sintetico per non rendere il tutto noioso, in definitiva io lo consiglio vivamente per tutti i lavori inerenti al ramo web development.



1.3    Fedora/Core Os


2022-02-18_18-51.png

È una distro che Red Het sviluppa in chiave open source, in questa distro arrivano molte innovazioni e il supporto è ottimale, al contrario di Debian, questa utilizza rpm per i pacchetto cosa che effettavamente limita leggermente il parco software, però il fatto di essere più aggiornata della versione stable di Debian la rende più versatile per alcuni impieghi. Per di più fedora possiede una distro chiamata CoreOs che integra nativamente i container. Cosa ormai fondamentale oggi giorno.

In questo caso la distro non è divisa in branch con nel caso di Debian, esiste solo la stable più delle beta che vengono pubblicate nel ramo developer.





Fedora si divide sostanzialmente due versioni:
VersioneDescrizione
WorkstationLa versione desktop per eccellenza e sostanzialmente su di questa arrivano tantissimi novita per il mondo Linux, desktop di default è GNOME
ServerUna versione minimale che consente di installare solo quello necessario per un server, senza avere pacchetti utili per un client, infatti, in un server non serve una GUI, perché ruberebbe inutilmente cicli di CPU. Possiede una interfaccia di monitoraggio web molto completa e semplice.
IoTUna versione pensata per IoT e la domotica
Core OsUna distro pensata per containerizzazione in modo nativo, è una soluzione pronta all'uso, quindi molto allettante per un utilizzo server, ovviamente richiede un minimo di competenze e tutto sommato è un prodotto ben riuscito. Di questa distro esistono tre rami stream (stable, testing e unstable), la prima destinata ad una implementazione a lungo termine e la altre due pensate per i Beta Tester e i semplici smanettoni che si occuperanno di verificare la stabilità dei programmi e tramite i feedback della community si valutano eventuali aggiornamenti dei pacchetti presenti nella stable.

Questa distro viene ancora utilizzata da Red Hat per testare le nuove soluzioni, prima di passarle sulla sua Enterprise e anche sulla nuova Centos Stream (Una rolling release che non è adatta ai server per questo motivo, onestamente è un ottima distro per i test ma non per offrire una soluzione a lungo termine cosa che una aziende auspica solitamente). Link al video in cui tratto della mia esperienza con fedora.


1.4    Rocky Linux / Centos




L'8 dicembre 2020, Red Hat annunciò che avrebbero interrotto lo sviluppo di CentOS, quindi oggi come oggi l'unico modo per poter mantenere la propria
configurazione senza perderla è quella di utilizzare distro come Oracle Linux, Rocky Linux e anche Clear Os di HP. Anche se oggi prenderemo come esempio Rocky Linux perché è mantenuta da molti dei vecchi sviluppatori di CentOS.



1.5    RHEL


Escritorio-Red-Hat.jpg


Red hat Linux è una versione di Linux nata nel 1995 e sviluppata in beta fino al 2004, da questo periodo in poi il team di RHEL si è concentrato sullo sviluppo Enterprise per le aziende , questo per delineare l'anima professionale di red hat.

Scegliere un sistema operativo come red hat per i carichi di lavoro aziendali garantisce una portabilità eccellente per server, macchine virtuali e cloud.

Esso offre una solidissima base per il deploy di ambienti cloud, con la sua gestione avanzata dei container e con un buon supporto di compatibilità in termini hardware.




VersioneTipoNote
Red Hat Linux 3.0.3 (Picasso)Stable1.2.13
Red Hat Linux 3.9 (Rembrandt)Beta2.0
Red Hat Linux 4 (Colgate)Stabile2.0.18
Red Hat Linux 4.1 (Vanderbilt)Bug fix2.0.27

Per quanto riguarda il lavoro su cloud RHEL offre l'elasticità del codice open source e il supporto della community legata ad esso , oltre che le centinaia di provider supportati , tra i più famosi AWS, google cloud, Azure; e in aggiunta a questo RHEL offre una linea di supporto al cliente sul discorso provider chiamata RedHatCCSPs.

Parlando di gestione dei container di red hat non si può non parlare di OpenShift , che altro non è che una piattaforma container predisposta per ambienti enterprise, è ottimizzata per rendere piu veloci ed efficenti i cicli di produzione e deployment , e consente al lavoratore di collaborare con la massima efficienza e di automatizzare tutte le operazioni del nostro stack per il deployment dei nostri applicativi e volendo mette a disposizione una sandbox per i test necessari allo sviluppo.

Red Hat OpenShift si distingue come riferimento nel settore grazie a una piattaforma sostenuta da Kubernetes.

1.5.1    Cos'è Kubernetes?


Kubernetes fu inizialmente progettato e sviluppato dagli ingegneri di Google, questo perchè il colosso del web esegue tutte le sue attività servendosi dei container , tutti gestiti dalla piattaforma Borg, che altro non è che il predecessore di Kubernetes.

Kubernetes lavora con docker, quando questo viene assegnato a un nodo , il kubelet() chiede a docker di avviare i container richiesti. Successivamente docker aggrega le nuove informazioni sul nodo master avviando e arrestando i container in modo automatizzato senza l'intervento manuale dell'operatore.

Red hat essendo stata la prima azienda a collaborare con Google a questo progetto, ne ha ereditato l'utilizzo e l'esperienza maturata precedentemente con Borg.

1.5.2    Che vantaggi ci dà?


Kubernetes ci dà la possibilità di gestire i nostri container su molteplici host gestendo rapidamente la scalabilità di questi ottimizzando l'utilizzo delle risorse, controlla e automatizza i nostri deployment e gli aggiornamenti relativi ,e al contempo in grado di gestire le correzioni con riavvio e scalabilità automatizzata.

Per fare tutte queste operazioni Kubernetes si integra con altri Servizi OpenSource , come il già citato Docker per i container, Atomic , OpenVSwitch per la rete , Ansible per il ciclo dei vari cluster. Implementa anche servizi per la sicurezza attraverso progetti come LDAP, SELinux ecc

Un altro componente molto importante del pacchetto offerto dal team di RHEL è OpenStack , che altro non è che una piattaforma per la gestione delle nostre macchine virtuali.

A differenza delle altre piattaforme per la gestione della virtualizzazione , OpenStack sfrutta le risorse virtuali per eseguire una combinazione di strumenti che vanno a creare un ambiente Cloud dotato di una rete , risorse suddivise in pool, un'interfaccia utente e assegnazione in automatico delle risorse. OpenStack non si occupa di virtualizzare le risorse , ma le utilizza per creare i cloud.

Questa architettura utilizza degli strumenti OpenSource per configurare gli Undercloud(che contengono i componenti necessari agli amministratori per gestire i vari ambienti) e overcloud(per la gestione dei nodi).
I 6 componenti principali che caratterizzano questa struttura sono: -Nova si occupa di gestire la creazione e l'eliminazione delle risorse.
  • Nova per gestire le connessioni
  • Neutron per la connettività di rete
  • Swift per lo storage di dati non strutturati per mezzo di un API
  • Cinder fornisce uno storage a blocchi
  • KeyStone autentica tutti i servizi Openstack
  • Glance archivia e recupera le immagini delle macchine virtuali
Tutti questi strumenti , e altri non citati , rendono RedHat un "must" per tutte quelle realtà lavorative coinvolte nel mondo cloud , e la sua affinità con la virtualizzazione lo rendono molto comodo ed ergonomico , per esperienza personale posso dire che la quasi totalità delle aziende si appoggia su un sistema RHEL per l'hosting e la gestione dei componenti aggiuntivi della propria web app, ma RHEL oltre che dell'hosting si occupa anche della fase di stesura del codice con un IDE dedicato chiamato Red Hat CodeReady Studio.

Quindi con RedHat abbiamo uno strumento che copre a 360°c tutte le fasi di produzione della nostra webapp , con una particolare attenzione alla gestione dei container e alla sicurezza di quest'ultimi.

Non dimentichiamoci che grazie alla natura OpenSource sono disponibili un'infinità di servizi aggiuntivi per ogni necessità , difatti RHEL offre un supporto anche per i lavori di telemetria sempre con Openshift, e ultima ma non meno importante RHEL è in grado di implementare e creare una infrastruttura con SAP , il famoso gestionale usato da tutte le grandi aziende anche quelle che hanno a che fare poco con il settore informatico (logistica , terziario , ecc) essendo in grado di trasformare SAP in un cloud ibrido in grado di potenziare lo sviluppo delle applicazioni.


1.6    Conclusioni


Tutte le distro citate hanno una installazione molto semplice, pensata per poter essere gestita tranquillamente da un sistemista, alle volte molto completa con possibilità di scegliere nel dettaglio la propria configurazione, per esempio si più scegliere se avere o meno un desktop environment preinstallato oppure no, quali servizi preinstallare sul server, per evitare di perdere tempo post installazione.
Red Hat sicuramente è famosa per il suo eccellente servizio tecnico pronto a dare una mano all'azienda nel caso in cui sorgano dei problemi non risolvibili del sistemista o strettamente legati ad un errore di rilascio.

2    Impieghi e soluzioni



Gli impieghi le Linux può svolgere dentro una azienda sono differenti, dalla gestione di VM, al web server, gestione dei DB tramite MySQL, gestione degli apparati di rete (switch, router e access point), Container manager e tanto altro.


2.1    Con l'open source si può guadagnare?

Si, la dimostrazione pratica di questo sono aziende come Novell con la sua distro "SuSe Linux", Red Hat con le sue soluzioni a pagamento con una assistenza impeccabile e Oracle con le sue soluzione Open.


2.2    Perché l'open source è meglio del modello proprietario


Sostanzialmente l'open source vince a mani basse, perché un software proprietario è scritto da poche persone e quindi è più probabile che potenziali problemi si possano palesare, mentre, un software scritto in comunità è di maggior qualità, ha meno problemi perché tutti possono contribuire migliorando il codice e garantendo una sicurezza e affidabilità a lungo termine cosa che non è possibile su altri modelli, perché l'open source si basa sugli standard e quindi tutti possono ricreare dei programmi che possono leggere qui formati quindi non si rischia che i dati creati da un determinato prodotto open source.

Un esempio è l'open document, standard condiviso da diversi programmi come OpenOffice, LibreOffice, StarOffice, OnlyOffice e tanti altri, perché comunque basta rispettare qui canoni per poterli leggere.
 
Rocky Linux fa abbastanza ridere ora come ora, avvo fatto un vm in cui ho installato jboss e ogni 10 minuti c'era un problema,compatibilità con prodotti enterprise un pò da cani.
 
Ultima modifica:
Un'altra distro che vedo in alcune aziende è OpenSuse e naturalmnte OEL(Oracle Enterprise Linux).
Messaggio unito automaticamente:

A livello enterprise credo sia poco usato, si preferiscono sistemi come RHEL che offrono un supporto per eventuali problematiche di sistema, o di compatibilità, inoltre RHEL è fortemente compatibile con jenkins ,Jboss, Kubernetes, Docker, websphere(anche se sia jboss che websphre possono girare su windows), lato database si prefrisce l'utilizzo di OEL per il semplice fatto che le aziende comprano gli storage Oracle Exadata e naturalmente gli fanno girare sopra OEL.
 
Un'altra distro che vedo in alcune aziende è OpenSuse e naturalmnte OEL(Oracle Enterprise Linux).
Messaggio unito automaticamente:


A livello enterprise credo sia poco usato, si preferiscono sistemi come RHEL che offrono un supporto per eventuali problematiche di sistema, o di compatibilità, inoltre RHEL è fortemente compatibile con jenkins ,Jboss, Kubernetes, Docker, websphere(anche se sia jboss che websphre possono girare su windows), lato database si prefrisce l'utilizzo di OEL per il semplice fatto che le aziende comprano gli storage Oracle Exadata e naturalmente gli fanno girare sopra OEL.
dipende, Debian viene utilizzata di più in ambiti in cui la personalizzazione di sistema deve essere più netta anche se ultimamente io mi sono occupato di porting da debian 7 a Devuan perché alcune aziende non avevano ancora fatto il cambio perché avevano dei problemi con systemd e i loro vecchi servizi, così evitiamo di dover riscrivere tutto per niente