KPA, un progetto open-source per condividere conoscenza in formato standard, dinamico e cloud native

0

Se è vero che la nuova frontiera della tecnologia informatica è rappresentata dal Platform Engineering, ci sono in realtà molti aspetti della gestione delle piattaforme che sono sempre troppo sottovalutati. Uno di questi è la documentazione o, per meglio dire, la condivisione delle competenze.

Applicare la metodologia PlatformOps, prescindendo dall’aspetto della condivisione delle informazioni e della documentazione non è più un’opzione. Se infatti ormai il DevOps si è evoluto all’interno del DevSecOps, non potendo prescindere dalla sicurezza, perché il PlatformOps dovrebbe esimersi dal considerare la documentazione?

Per tutte queste ragioni è nato KPA, o Knowledge Pods Approach.

Cosa è KPA

KPA è la definizione di un metodo per creare training, presentazioni e documentazione che separa la creazione dei contenuti (la conoscenza) dalla loro presentazione (i file pdf, ppt o html).

Un progetto KPA è basato su una serie di file in formato markdown che rappresentano i Knowledge Pods (KP). Così come un Kubernetes Pod è l’unità più piccola in cui una applicazione viene eseguita in Kubernetes, un KP è l’unità più piccola in cui suddividere la spiegazione di un concetto.

In termini di training, un KP può essere rapportato alla copertura di un topic, una unità formativa, un capitolo. A ciascun KP corrisponde un file markdown.

KPA fornisce tutti gli strumenti per combinare i Knowledge Pod disponibili in base a quel che si vuole produrre (sia esso un training, una presentazione o documentazione) con semplici definizioni yaml che vengono processate da un modulo Ansible il quale produce file nei formati classici come pdf, html o ppt contenenti tanto le slide quanto le agende dei documenti.

Il tutto in formato markdown standard (modificabile da chiunque, ovunque, anche senza competenze specifiche), replicabile e soprattutto controllabile da sistemi di versioning, utilizzando tutti i benefici della metodologia GitOps, che possono culminare nella inclusione in pipeline di Continuous Integration per arrivare ad un vero e proprio KaaS, Knowledge As A Service.

KPA non è soggetto ai tool utilizzati poiché separa il contenuto dalla sua presentazione, ad oggi questi tool sono l’ecosistema Marp per la produzione delle slide e Pandoc per la creazione delle agende, ma non è il tool ad essere centrale in KPA, bensì l’approccio.

KPA nella pratica

KPA è allo stesso tempo tre cose:

  1. L’approccio descritto nella pagina GitHub del progetto.
  2. Il container kpa disponibile nel registry quay.io.
  3. Il modulo Ansible kpa_generator disponibile in Ansible Galaxy.

In questo primo articolo è stato descritto il progetto ed i suoi scopi, nei successivi verranno presentati casi di studio reali che vedranno KPA risolvere diversi problemi relativi alla documentazione.

Dove viene utilizzato KPA

KPA è la modalità con cui viene prodotta ed erogata l’intera offerta training di Kiratech, l’azienda per cui dirigo la divisione training e per cui faccio il trainer.

In questa intervista ci sono alcuni interessanti dettagli sul perché KPA è diventato il nostro standard e come sta aiutando a rendere più dinamica e gestibile un’offerta training come quella di Kiratech.

Dove si parla di KPA

La prossima settimana, nell’ambito del secondo Platform Engineering Meetup che si svolgerà a Milano giovedì 13 luglio, parlerò e farò una sessione dimostrativa di KPA che permetterà di capire i presupposti del progetto e come questo può essere implementato per la gestione e la condivisione di training, presentazioni ed ogni tipo di conoscenza.

Il titolo della sessione è “Una via open-source per condividere conoscenza in formato standard, dinamico e cloud native: ecco KPA, il Knowledge Pods Approach“.

Conclusioni

Questo articolo ha illustrato come KPA non sia solamente un tool, ma la definizione di un approccio in costante evoluzione, la cui natura open-source continuerà a mutare per renderlo più affine alle esigenze che nel frattempo emergeranno dagli utenti che lo vorranno utilizzare.

In questo primo articolo sono state tracciate le linee generali del progetto e la filosofia che ne governa le implementazioni, nei prossimi si scenderà nella pratica, in modo da poter capire come utilizzare produttivamente KPA per gestire materiali di training, presentazioni e documentazione.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.