API Platform Governance per gestire l’evoluzione delle Architetture IT

23 Nov 2020 - - by Chiara Muzzolon

API Platform Governance per gestire l’evoluzione delle Architetture IT

23 Nov 2020 - - by Chiara Muzzolon
ISCRIVITI ALLA NEWSLETTER

Nei contesti enterprise l’ecosistema digitale è costituito da decine di strumenti – open source o meno – per la gestione del software lungo tutto il suo ciclo di vita. A mano a mano che l’ecosistema cresce, aumentano gli applicativi in produzione e aumenta il numero di team di sviluppo, sia interni sia esterni: governare tutta questa complessità non è facile. Le aziende che hanno adottato una API Platform sono solo all’inizio di un percorso, che porta indubbiamente dei vantaggi ma che ha anche delle complessità che bisogna imparare a gestire. Saper governare queste complessità permette di sfruttare a pieno tutto il potenziale delle nuove tecnologie che stiamo adottando. Come fare quindi a garantire un codice funzionante, stabile, di buona qualità e consegnato in tempi rapidi, mantenendo i costi sotto controllo? In questo articolo proviamo a rispondere a questa e ad altre domande che ruotano intorno al tema della API Platform Governance.

L’avvio di un nuovo progetto di infrastruttura

Proviamo a focalizzarci su una particolare fase di lavoro per analizzare in concreto quali siano gli aspetti di governance di cui dobbiamo tenere conto. Quando parte un nuovo progetto e arriva un nuovo fornitore per realizzare, ad esempio, una nuova app, normalmente dovremo:

  • Mettere in piedi tutta l’infrastruttura necessaria affinché possa sviluppare l’app;
  • Fare un onboarding su strumenti e processi di funzionamento dell’ecosistema;
  • Gestire tutto ciò che riguarda gli accessi, i permessi e la sicurezza.

Come? Consegnando un bel faldone ricco di regole!

Ovviamente non può risolversi tutto in un plico di carta.

Avviare tutte le azioni descritte sopra ogni volta che deve partire un nuovo progetto può però generare rallentamenti e risultare molto dispendioso, complesso e poco scalabile.

Le domande che ci si pone all’avvio un di un progetto sono tante, e bisogna trovare una soluzione che permetta di superare gli ostacoli appena citati:

  1. Che tecnologie uso nel progetto?
  2. Dove salvo il codice?
  3. Come lo testo?
  4. Come lo rilascio?
  5. Come lo versiono?
  6. Come espongo le API?
  7. Come garantisco la sicurezza?

Come facciamo, quindi, a rendere l’avvio di un progetto il meno impattante possibile, fluido, replicabile e quindi scalabile all’avvio di sempre più numerosi nuovi progetti?
Quale può essere la soluzione che ci permetterà di non doverci più porre tutte queste domande ad ogni avvio di progetto?
Adottando tutti i principi e le regole di API Platform Governance che affronteremo di seguito.

La API Platform Governance in pochi passi

Una API Platform aziendale, in contesti enterprise, si crea a poco a poco, seguendo le esigenze del business.
Allo stesso modo, l’architettura IT evolve e si dice quindi “emergente”: dobbiamo cominciare a prendere in considerazione che non esiste un’architettura definitiva e già pronta, anche se è ciò che cerchiamo e desideriamo quando avviamo un processo di trasformazione digitale.
Diventa necessario, piuttosto, disegnare un’architettura che sia capace per natura di rispondere alle esigenze del business, in modo rapido e sicuro, e che sappia evolvere con i cambiamenti del mercato.

Man mano che l’ecosistema cresce, aumentano i team che vi lavorano, aumenta la complessità e la frammentazione dell’ecosistema stesso, con il rischio di andare a rallentare proprio laddove ci eravamo posti l’obiettivo di accelerare.

Andare a standardizzare alcuni processi, adottare strumenti comuni e centralizzare i servizi non limita l’autonomia di chi sviluppa sulla Piattaforma ma, anzi, permette di non dover più pensare alla complessità dell’infrastruttura IT sottostante e di concentrarsi sui nuovi servizi da sviluppare in modo sicuro e veloce.

La API Platform Governance si compone così di diversi aspetti e regole di cui tenere conto:

  1. Compliance as code: darsi regole condivise
    I team che lavorano sulla piattaforma spesso sono team cross competenze, che fino a poco tempo prima lavoravano secondo il modello a silos. Grazie a una stretta collaborazione anche cross-team, si trovano regole condivise che vengono rispettate proprio grazie alla collaborazione che si è istituita. Anche quando i team sono tanti, si possono creare regole condivise su Git che si possono verificare in modo automatico.
  2. Open source interno: il codice è di tutti
    Abbiamo già parlato di collaborazione all’interno del team e anche cross-team. Ma cosa succede quando dobbiamo risolvere o gestire delle dipendenze tra microservizi, e il team di cui abbiamo bisogno è impegnato in un rilascio importante e non può essere bloccato? Anche se usiamo i migliori metodi collaborativi, non sempre è facile organizzarsi e coordinarsi. Diventa importante quindi darsi delle regole a priori ispirandosi ai modelli open source, in modo che tutti siano autonomi e possano intervenire liberamente.
  3. Cultura: democratizzare la piattaforma
    Per avere una buona governance di piattaforma bisogna adottare un approccio di continuo miglioramento: mob programming e code review periodiche aiutano a far emergere standard che possono essere adottati da tutti i team; i kata permettono di esercitarsi e migliorarsi anche cross-competenze; le unconference permettono di far emergere nuove idee, nuovi approcci e facilitano il confronto; i feature team condividono il focus sul valore di business generato.

Strumenti: tutto in un unico luogo

La legge di Conway dice:

“Le organizzazioni che progettano sistemi […] sono indotte a generare design che sono copie dei legami nelle organizzazioni stesse”.

La governance non è solo un tema di processi e organizzazione dei team, ma anche di strumenti. Avere una value stream management platform per la gestione dell’intero ciclo di vita DevOps permette di avere maggiore padronanza e una governance chiara tra diversi progetti e diversi team. Permette di impostare regole sul codice e buone pratiche a priori per tenere sotto controllo tutti gli elementi che compongono lo sviluppo del software:

  • le pipeline, i test, la CI/CD;
  • il monitoraggio di ciò che è in produzione;
  • i log;
  • la documentazione;
  • le metriche sulle API;
  • la sicurezza, i permessi, gli accessi;
  • la visibilità su più progetti e team.

Avere inoltre un team di piattaforma che si occupi proprio della API platform governance, avendo la migliore overview di tutto ciò che riguarda l’architettura, gli strumenti e i processi, diventa necessario. Si occuperà quindi dell’onboarding di nuovi fornitori, di aiutare coloro che lavorano sulla piattaforma, di facilitare l’utilizzo degli strumenti, ecc. Un team di piattaforma è il guardiano della complessità che permette ai nuovi fornitori, sviluppatori e utilizzatori di non preoccuparsi dei sistemi IT sottostanti.

La soluzione Mia-Platform per la governance del ciclo DevOps

Abbiamo visto come l’adozione di un approccio a piattaforma e la creazione di una API Platform aziendale con uno stile architetturale a microservizi e cloud native portino con sé numerosi vantaggi, ma anche la necessità di avere una chiara governance di processi e strumenti.

Mia-Platform, che Intesys ha deciso di adottare come API Platform, propone una soluzione innovativa e unica sul mercato per la gestione di tutti questi aspetti. Una console per gestire l’intero ciclo di DevOps, dallo sviluppo ai rilasci, che permette di controllare tutti gli strumenti da un unico luogo, definire pipeline e standard comuni e ottenere una governance chiara e semplificata per tutta l’area IT.

Una console unica permette di:

  1. configurare l’intera infrastruttura;
  2. progettare API e microservizi;
  3. fare test standardizzati su API e microservizi;
  4. fare deploy in ambienti di pre-produzione e produzione;
  5. misurare performance e sicurezza;
  6. controllare lo stato di tutti i componenti;
  7. creare una documentazione in modo semplice e automatico.

In questo modo, grazie a uno strumento unico, viene garantita la sicurezza e la qualità su tutti i progetti e sul lavoro dei team, sia interni che esterni all’azienda.

Vuoi sapere di più su questo tema? Lo abbiamo approfondito nell’evento:

“Headless & API date 2020: attuare e governare la trasformazione digitale con le architetture IT”

Guarda la registrazione dell'evento

iscriviti-alla-newsletter

Condividi su:

Chiara Muzzolon

Internal Communication Expert, Mia-Platform
  • Superare il gap IT per innovare l’esperienza utente velocemente

  • Modernizzare i sistemi legacy verso un’Architettura evolutiva

  • Come migrare su Kubernetes? Tre domande da porsi per un processo rapido ed efficace

  • Architetture Evolutive, la soluzione IT a prova di futuro

  • Time to market più rapido con rilascio app di qualità

    DevOps, la soluzione per sviluppare in modo più efficiente

Iscriviti alla Newsletter

Inserisci i tuoi dati e ti iscriveremo alla nostra Newsletter. Riceverai una mail ogni volta che uscirà un nostro nuovo articolo. Non ti preoccupare, non ti intaseremo la casella di posta e - se cambierai idea - potrai cancellarti in qualsiasi momento.
* campi richiesti
Interessi
Privacy *