
Abbiamo parlato di chi e perché avrà bisogno, nel prossimo futuro, delle competenze per creare una piattaforma infrastrutturale utilizzando Kubernetes, con il docente , ingegnere principale .
Da dove nasce la domanda di ingegneri di piattaforma?
Ultimamente, sempre più aziende riconoscono la necessità di creare una piattaforma infrastrutturale interna, che sia un ambiente unico per lo sviluppo, la preparazione delle versioni, il rilascio e l'operatività dei prodotti digitali dell'azienda. Questa piattaforma include sistemi e servizi per la gestione delle risorse informatiche e di rete, un sistema di integrazione continua, un repository per gli artefatti di distribuzione, sistemi di monitoraggio e altri servizi, utilizzati dai vostri team di sviluppo. Il movimento verso la costruzione di piattaforme interne e la formazione di team di piattaforma è iniziato diversi anni fa. Le conferme a ciò possono essere trovate nei rapporti , e libri come .
I principali vantaggi di un approccio basato sulla piattaforma nella gestione dell'infrastruttura aziendale sono i seguenti:
- I team di prodotto non vengono distratti dallo sviluppo dei propri prodotti per risolvere problemi infrastrutturali.
- Il team di piattaforma, responsabile dello sviluppo della piattaforma infrastrutturale, tiene conto delle esigenze dei team di prodotto dell'azienda e crea soluzioni specifiche per le necessità interne.
- L'azienda accumula esperienza interna che può essere facilmente riutilizzata, ad esempio, nel lancio di un nuovo team di prodotto o nella creazione di standard o pratiche comuni nell'azienda.
Se l'azienda riesce a adottare questo approccio, nel tempo la piattaforma infrastrutturale interna può diventare più conveniente per i team di sviluppo rispetto ai servizi dei fornitori di cloud, perché è stata creata tenendo conto delle peculiarità e delle esigenze dei team, accumulando la loro esperienza e specificità. Tutto ciò porta a un aumento della produttività dei team di prodotto, il che è utile per il business.
Perché proprio Kubernetes?
Come base per creare una piattaforma infrastrutturale, è possibile utilizzare diversi strumenti. In passato si utilizzava Mesos, ora oltre a Kubernetes puoi utilizzare anche Nomad e, naturalmente, nessuno ti impedisce di creare i tuoi «biciclette». Eppure, la maggior parte delle aziende preferisce costruire la piattaforma proprio su Kubernetes. Ecco cosa lo rende così apprezzato:
- Supporto per pratiche ingegneristiche moderne come «infrastruttura come codice».
- Numerosi meccanismi necessari per i team «pronti all'uso». Ad esempio, gestione delle risorse computazionali, meccanismi per il deployment controllato delle applicazioni e garanzia della loro resilienza.
- Un'enorme ecosistema, che offre strumenti per risolvere vari compiti, con il supporto dei fornitori di servizi cloud.
- Una community sviluppata: decine di conferenze in tutto il mondo, un'impressionante lista di collaboratori, disponibilità di certificazioni e professionisti certificati, programmi educativi su questo strumento.
Kubernetes può essere considerato un nuovo standard del settore, è solo questione di tempo prima che la tua azienda inizi a usarlo.
Sfortunatamente, tutto ciò non è gratuito: con l'arrivo di Kubernetes e della tecnologia di containerizzazione, molti processi e strumenti utilizzati dal team nella loro attività quotidiana subiscono cambiamenti:
- Cambia l'approccio alla gestione delle risorse computazionali.
- Cambia il modo di fare il deployment e la configurazione dell'applicazione.
- È necessario un approccio diverso per l'organizzazione dei servizi di monitoraggio e logging.
- Sorge la necessità di creare nuove integrazioni tra i servizi che compongono la piattaforma, adattando gli script di automazione esistenti.
Anche l'ambiente locale del developer e la procedura di debug delle applicazioni subiscono modifiche.
Le aziende possono effettuare la transizione verso la piattaforma infrastrutturale e la sua gestione autonomamente, sviluppando le competenze dei dipendenti o assumendo specialisti adatti. Ci sono anche casi in cui è utile delegare questi processi, ad esempio, se un'azienda non ha la possibilità di spostare il focus del team dallo sviluppo del prodotto alla creazione di una nuova infrastruttura, non può condurre un grande R&D interno o ci sono rischi inaccettabili legati alla creazione autonoma di una nuova infrastruttura e al trasferimento dei team di prodotto su di essa: in questo caso è meglio chiedere aiuto a aziende che hanno già percorso questa strada.
Nuove competenze per lavorare con la piattaforma infrastrutturale saranno necessarie non solo agli amministratori (una specialità che si sta ora trasformando in ingegnere infrastrutturale), ma anche agli sviluppatori. Sviluppatore deve comprendere come la sua applicazione viene eseguita e funziona in produzione, deve saper utilizzare l'ecosistema al massimo, saper fare debug dell'applicazione o modificare le procedure di distribuzione e configurazione. Queste conoscenze sono indispensabili anche per i tech lead: è necessario condurre un grande numero di R&D, scegliere gli strumenti adatti, studiarne le limitazioni, trovare approcci per integrare gli strumenti compresi nella piattaforma e prevedere vari scenari di utilizzo dei servizi della piattaforma da parte dei team di prodotto.
Se distribuire Kubernetes, anche utilizzando le risorse dei fornitori di servizi cloud, non è così difficile, trasferire tutti i processi di sviluppo e operazione, adattare le applicazioni, integrare tra loro una decina di nuovi strumenti per il team e così via è davvero un compito problematico, che richiede una profonda comprensione dei processi e una grande quantità di comunicazione con tutti i partecipanti alla creazione dei vostri prodotti.
E tutte queste informazioni le abbiamo raccolte nel nostro corso online "Piattaforma Infrastrutturale basata su Kubernetes". In 5 mesi di pratica imparerai:
- Come funziona Kubernetes
- Come vengono implementate le pratiche DevOps con il suo utilizzo
- Quali strumenti dell'ecosistema sono già abbastanza mature per l'uso in produzione e come integrarli tra di loro.
A differenza di altri programmi educativi, ci concentriamo sull'ecosistema e sulle specifiche operazioni dei cluster Kubernetes, dove le aziende riscontrano le maggiori difficoltà nel passare alla propria piattaforma infrastrutturale.
Al termine del corso, avrete le competenze necessarie per lavorare come ingegneri di piattaforma e sarete in grado di creare autonomamente una piattaforma infrastrutturale nella vostra azienda. Tra l'altro, alcuni studenti realizzano un progetto finale di questo tipo, ricevendo feedback e supporto dagli insegnanti. Inoltre, avrete abbastanza conoscenze e abilità per prepararvi per la certificazione CNCF.
È importante notare che per acquisire queste competenze è necessaria una solida conoscenza . Secondo le nostre osservazioni sul mercato del lavoro, dopo la formazione, un specialista di questo tipo può aspettarsi uno stipendio di 150.000-200.000 rubli.
Se siete proprio un professionista con esperienza nell'uso delle pratiche DevOps, vi invitiamo a .
Fonte: habr.com
