Articoli

Pkl: il linguaggio per i file di configurazione

Come scrivere i file di configurazione per far partire ambienti di sviluppo, di staging o di produzione, oppure per avviare container o cluster è stato un argomento che per anni ha animato gli IT Engineer fintanto che non si sono iniziati ad usare linguaggi come JSON e YAML per creare file di configurazione agnostici che venivano sfruttati da runtime per lanciare servizi.

Perché è nato Pkl

Linguaggi tradizionali come JSON e YAML hanno diversi limiti, tra questi:

  • la ripetitività del codice;
  • la facilità di commettere errori;
  • la mancanza di validazione del codice.

Chiaramente questi limiti erano noti e si è cercato di superarli integrando i tradizionali linguaggi con altri tool e strumenti, ma facendo ciò si è aumentata ulteriormente la complessità e la difficoltà di comprensione del file stesso, soprattutto nel caso in cui siano più sviluppatori a dover interagire con il medesimo file.

Allora sono stati utilizzati altri linguaggi, nati per la programmazione come Kotlin, Ruby e Javascript, per cercare di ovviare ai limiti citati ma anche qui se ne sono evidenziati ed introdotti altri come la scarsa portabilità del codice.

Apple quindi ha creato e rilasciato al pubblico, in maniera open source, il proprio linguaggio di programmazione per scrivere file di configurazione: Pkl( pronunciato Pickle come la stessa Apple ha voluto precisare).

Pkl si propone di essere l’anello di congiunzione tra linguaggi statici (come JSON e YAML) e dinamici (come Kotlin, Ruby e Javascript) e di essere perfettamente creato per svolgere un unico e solo compito: scrivere file di configurazione in maniera efficiente, efficace, reliable e flessibile.

Contattaci subito e senza impegno per assistenza e supporto nel deployment tramite file di configurazione.

I vantaggi e le funzionalità di Pkl

I vantaggi di utilizzare Pkl sono evidenti e si concretizzano nelle funzionalità che ti fornisce come:

  • utilizzo di capacità avanzate, comuni nei normali linguaggi di programmazione, come classi, funzioni, condizioni, loop, annotazioni, ecc…;
  • semplicità nella scrittura e nella lettura del codice;
  • creazione di layer astratti da condividere attraverso sistemi di template;
  • generazione di file di configurazione in qualsiasi formato( per es. in JSON, YAML, XML);
  • integrazione in altri runtime;
  • validazione del codice prima del deployment;
  • scalabilità da semplici casi d’uso a complesse architetture;
  • integrazione con le comuni Integrated Development Environment (IDE) come IntelliJ IDEA(il plugin è disponibile al seguente link) per supportare autocompletamento, navigazione tra gli elementi e validazione del codice;
  • modifica di altri oggetti attraverso gli amending (per es. è possibile utilizzare un operatore for per generare quattro differenti variazioni di una configurazione base di un database);
  • pubblicazione di packages che possono essere importati in altri progetti( per es. Apple ha reso disponibili i suoi packages per pubblicare altri packages,pkl-pantry, e creare Kubernetes descriptor,pkl-k8s);
  • language bindings attraverso la possibilità di essere integrato come una libreria in altri linguaggi di programmazione come Swift, Go, Java e Kotlin.

In poche parole, Pkl è uno strumento potentissimo per la gestione dei file di configurazione che trova la sua ideale applicazione in architetture IT complesse sia on-promise sia Cloud.

Contattaci subito e senza impegno per assistenza e supporto nel deployment tramite file di configurazione.

Glue Labs, Pkl ed i file di configurazione

Abbiamo utilizzato, implementato ed integrato file di configurazione complessi per architetture IT sia on-premise sia in Cloud e ti forniamo assistenza e supporto enterprise nella progettazione, sviluppo e delivery di qualsiasi applicazione ed architettura IT. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e ti garantiamo le competenze per assisterti e supportarti per qualsiasi tuo progetto di sviluppo e nella realizzazione di applicazioni business critical con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.