DevOps Platform Engineering, le osservazioni di Pure Storage

Il platform engineering fa un dono prezioso agli sviluppatori liberandoli dal fardello della comprensione granulare di Kubernetes.

devops

Umberto Galtarossa, Partner Technical Manager di Pure Storage, ci racconta il processo evolutivo dei DevOps e il punto di maturazione attuale.

È trascorso un decennio da quando è emerso quel fenomeno culturale chiamato DevOps che ha permesso a sviluppatori e responsabili delle operations di collaborare insieme abbattendo i silos che li avevano tenuti separati fino a quel momento. Tuttavia, per quanto straordinaria sia stata quella evoluzione IT, DevOps ha avuto una rapida maturazione fino al punto in cui sembra ormai obsoleto considerarla come una practice.

Indipendentemente da ciò, la transizione di DevOps dal suo concetto originale al suo stato attuale ne conferma il trionfo, non certo la sconfitta. Dalle ceneri di DevOps, infatti, nasce la figura del platform engineer, un nuovo ruolo appositamente creato per la moderna era di DevOps. Sotto l’ombrello del platform engineering, DevOps continua oggi con un budget dedicato, un team e una suite di tool self-service che permettono agli sviluppatori di gestire le operations direttamente.

Platform engineering

Il team di platform engineering offre significativi vantaggi permettendo agli sviluppatori di usare Kubernetes come tool self-service. Questo accorgimento aumenta l’efficienza e la velocità dello sviluppo per numerosi utenti segnalando la maturità e la capillare diffusione di Kubernetes. Secondo Gartner, entro il prossimo triennio ben quattro strutture di software engineering su cinque adotteranno team di platform engineering per produrre tool e servizi riutilizzabili per il delivery applicativo.

Il platform engineering è il nuovo middleware nello scenario dello sviluppo software. A fronte del continuo aumentare del numero di sviluppatori e applicazioni, il concetto tradizionale di middleware – un app server costantemente disponibile – è stato sostituito dal modello self-service per sviluppatori del platform engineering.

Questa transizione è carica di enorme significato. Nelle prime fasi di DevOps era diffusissima la sperimentazione con varie tecnologie, che però non sono ancora andate a convergere. Le applicazioni moderne, tuttavia, oggi funzionano trasparentemente utilizzando container e storage, con le componenti relative a networking e sicurezza gestite attraverso Kubernetes in maniera cloud-native.

Gli sviluppatori non ricorrono più ai sistemi di ticketing

Al contrario, si aspettano di poter contare su un’infrastruttura elastica da utilizzare e implementare attraverso la piattaforma, a sua volta manutenuta e gestita dal platform engineer. Quest’ultimo si assicura che la piattaforma sia self-service, altamente disponibile, affidabile, elastica, assolutamente sicura pur se multi-tenant, completa di controlli che ne impediscano la sovraestensione, nonché dotata di metodi per il monitoraggio dell’utilizzo e il riaddebito; tuttavia il platform engineer non si occupa di realizzare l’applicazione né ha la responsabilità del suo deployment. Il platform engineer svolge invece un ruolo abilitante per velocizzare le innovazioni utili agli sviluppatori e il deployment delle applicazioni. Questa maturazione migliora la reattività permettendo agli sviluppatori di apportare rapidi cambiamenti alle loro applicazioni e portarle in produzione in tempi brevi. Con il controllo ora nelle mani degli sviluppatori, i tempi di sviluppo e di deployment sono drasticamente diminuiti.

T-Mobile, per esempio, ha ridotto i tempi del deployment applicativo da sei mesi a poche ore introducendo Portworx come elemento della propria architettura di piattaforma. Le aziende che possiedono migliaia di sviluppatori hanno bisogno di accesso self-service oppure on-demand allo storage e ai servizi dati, cosa che i team di platform engineering si sforzano di fornire su vasta scala.

Come progressione dall’IT tradizionale, il gruppo di platform engineering si affida a due insiemi basilari di tecnologie: quelle cloud-native e i servizi dati predisposti per la AI: database e servizi dati moderni come Postgres, Redis, Cassandra, Kafka e Spark, e più di recente tool analitici e di AI come Snowflake e ChatGPT – tutti erogati come servizi agli sviluppatori da parte del team di platform engineering.

Pure Storage, Portworx Enterprise 2.8, rilascio, piattaforma, espserienza ibrida, Kubernetes, funzionalità, workload containerizzati

Competenze

I platform engineer offrono servizi essenziali che eliminano il bisogno di ampie competenze su Kubernetes da parte degli utenti. Questi servizi comprendono la gestione di varie distribuzioni Kubernetes come OpenShift, GKE, EKS o Rancher, oltre che l’implementazione di misure di sicurezza attraverso piattaforme come Prisma Cloud o Sysdig. I platform engineer gestiscono inoltre i dati su Kubernetes, le risorse storage, il backup, il disaster recovery, i database e i servizi dati sotto l’ombrello di Kubernetes. Stiamo assistendo con i nostri occhi all’aumento dell’efficienza reso possibile da tutto questo, con un piccolo numero di platform engineer che riescono a seguire centinaia di utenti.

Quando una tecnologia si diffonde ovunque, essa si dissolve gradualmente sullo sfondo. Consideriamo l’esempio dei semiconduttori: sono presenti dappertutto e fanno funzionare i nostri telecomandi, i nostri telefoni e le nostre automobili. Tuttavia, come utenti finali, raramente ci soffermiamo a considerare la loro esistenza: essi sono diventati invisibili. Kubernetes sta sperimentando una trasformazione simile. Nel campo enterprise si sta radicando profondamente all’interno di vari sistemi, e il paradigma self-service lo rende poco evidente agli occhi degli utenti. In passato non c’era sviluppatore che non avesse bisogno di possedere una conoscenza completa di Kubernetes. Oggi invece gli sviluppatori hanno solo bisogno di utilizzarlo, lasciando le relative complessità al platform engineer. Il platform engineering renderà Kubernetes invisibile.

Il platform engineering fa un dono prezioso agli sviluppatori liberandoli dal fardello della comprensione granulare di Kubernetes come parte delle loro responsabilità quotidiane. Questo elimina il problema del gap di competenze mentre Kubernetes continua a diffondersi ed essere usato dalle più grandi organizzazioni di maggior successo del mondo. Platform engineer e Kubernetes sono un’accoppiata perfetta per contribuire all’innovazione e al vantaggio competitivo di un’azienda.