Vai al contenuto principale
BlogContenitori (Kubernetes, Docker)Storia di uno sviluppatore: Semplificare Docker con Easypanel

Storia di uno sviluppatore: Semplificare Docker con Easypanel

Storia di uno sviluppatore - Semplificare Docker con Easypanel

Linode Marketplace offre un facile accesso a strumenti open-source e di terze parti per le vostre applicazioni e infrastrutture. A tal fine, collaboriamo con gli sviluppatori per aggiungere i loro progetti al nostro catalogo in continua crescita. Le applicazioni moderne non sono costruite da zero. 

Sia che lo sviluppatore o l'utente previsto lavori per una piccola-media impresa o un'organizzazione aziendale, sia che si tratti di un hobbista, il processo architettonico comporta una serie di decisioni e di scelte tecnologiche per passare dall'idea alla produzione.

Easypanel è un pannello di controllo del server basato su Docker. Consente di distribuire qualsiasi tipo di applicazione, tra cui Node.js, PHP, Ruby, Python, Go e Java. È anche possibile creare e gestire istanze di database per molti motori di database popolari.

Easypanel è stato progettato per essere intuitivo e consentire agli sviluppatori con diverse esperienze e competenze tecniche di trarre vantaggio da un pannello di controllo. Ho trascorso un po' di tempo con Andrei Canta, lo sviluppatore di Easypanel, e gli ho posto alcune domande sul suo processo di progettazione.

In genere, le applicazioni aggiungono una nuova funzione o risolvono un vecchio problema. Quali sfide risolve Easypanel?

AC: Easypanel risolve la complessità e il potenziale di errata configurazione che derivano dalla configurazione di una macchina virtuale (VM) e dall'installazione manuale del software. Eseguendo ogni applicazione in un contenitore isolato, come consente Docker, è possibile ridurre la possibilità di errori e migliorare la stabilità. Tuttavia, la configurazione e la gestione di Docker possono essere difficili. Easypanel semplifica questo processo nascondendo la complessità e fornendo un'interfaccia web facile da usare per gestire tutto. Ad esempio, fornisce automaticamente i certificati SSL, risparmiando agli utenti la frustrazione di doverlo fare da soli.

In cosa si differenzia Easypanel dalle altre soluzioni presenti sul mercato?

AC: Easypanel è stato progettato da zero per essere Docker first e isolato dal sistema operativo. La maggior parte dei pannelli è stata inizialmente sviluppata per applicazioni PHP e tutto il resto è un ripensamento. Dall'altra parte, ci sono soluzioni aziendali che richiedono ingegneri devops dedicati per funzionare. Easypanel è stato progettato per essere utilizzato da uno sviluppatore o da un amministratore senza la necessità di conoscenze specialistiche.

La vostra applicazione gira su Docker, ma non utilizzate Kubernetes. Parlatemi un po' delle vostre scelte progettuali.

AC: Docker serve per la containerizzazione e l'isolamento. Kubernetes è un livello di orchestrazione per i container. Uno degli obiettivi del progetto era quello di mantenerlo snello e di evitare un overhead eccessivo. 

Abbiamo usato Docker Swarm per l'orchestrazione perché ha meno spese generali rispetto a Kubernetes. In futuro, vorrei abbandonare Docker Swarm per passare a una distribuzione Kubernetes leggera come K3s o Nomad di HashiCorp.

Easypanel non è solo un'interfaccia grafica su Docker. Fa molto di più. Ad esempio, è possibile collegarlo a GitHub e distribuire le proprie applicazioni personalizzate senza dover conoscere nulla di Docker. A tale scopo, utilizziamo Heroku Buildpacks, Paketo Buildpacks e Nixpacks. Oppure, se volete, potete creare il vostro file Docker.

Come sviluppatore, ritiene che lavorare e contribuire a progetti open source sia importante?

AC: Assolutamente! Penso che ormai diamo per scontato l'open source, ma senza di esso non saremmo dove siamo oggi. Il software open source svolge un ruolo fondamentale nel progresso della tecnologia.

Invece di duplicare gli sforzi, è possibile unire gli sforzi per costruire qualcosa di migliore. In Easypanel, ad esempio, ci sono oltre 110 applicazioni open source che si possono installare con un solo clic. Non avremmo potuto farlo senza la nostra straordinaria comunità!

Quanto è importante la portabilità quando si considera il proprio stack software?

AC: Dipende dalla portata del progetto. Quando faccio consulenza, spiego sempre ai miei clienti che la soluzione migliore si basa su più fattori. Uno dei fattori, ovviamente, è la necessità di conformarsi alle best practice del software, ma non solo. Bisogna considerare le esigenze aziendali, la durata di vita di una soluzione, il costo dello sviluppo, il costo della migrazione a uno stack diverso e altro ancora. 

Se l'applicazione che sto sviluppando ha una durata breve e non è il core business, non mi interessa il vendor lock-in. Anzi, forse lo preferisco, perché nella maggior parte dei casi queste soluzioni aiutano a sviluppare più velocemente. D'altro canto, però, se sto lavorando a un'applicazione che è un core business e che si evolverà nel tempo, cerco di evitare il più possibile il vendor lock-in.

Cosa ci aspetta per Easypanel? Vuole condividere qualche sviluppo futuro o piano aziendale?

AC: A breve termine, stiamo lavorando per aggiungere backup nativi per i database, supporto multiutente e autenticazione a due fattori. A lungo termine, stiamo cercando di renderlo multi-server. Se volete vedere cosa succede in tempo reale, vi invito a unirvi alla nostra comunità Discord.

Distribuite Easypanel su Linode con l'applicazioneMarketplace , oppure sfogliate altre applicazioni di pannello di controllo per trovare lo strumento migliore per i vostri carichi di lavoro.

Commenti

Lascia una risposta

Il vostro indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *