Comunicare con il team di sviluppo non è sempre facile. Spesso si esige molto da loro, considerando i budget limitati, la necessità di operare con i sistemi esistenti e le scadenze serrate. Al contempo, si chiede agli sviluppatori di apprendere nuove tecnologie e adottare nuovi approcci. Nonostante si offrano loro gli strumenti necessari per raggiungere gli obiettivi, la miriade di nuove informazioni può essere scoraggiante.
Red Hat può facilitare il percorso verso i container, l'orchestrazione di Kubernetes, il middleware e i servizi applicativi containerizzati, per incrementare innovazione e reattività. LogistiCare, ad esempio, disponeva di sistemi che non riuscivano a stare al passo con la crescita aziendale e ha contattato Red Hat alla ricerca di approcci innovativi per aumentare la velocità di sviluppo e deployment e al contempo le prestazioni di sistema. Adottando la piattaforma per container e il middleware di Red Hat, LogistiCare ha realizzato un nuovo ambiente per lo sviluppo delle app che ha aumentato la frequenza dei rilasci e ridotto i costi operativi.
Le cinque domande seguenti possono essere sottoposte al team di sviluppo delle applicazioni per valutare se il passaggio ai container, ai servizi applicativi containerizzati e al middleware può incentivare l'aumento della produttività e dell'efficienza. Quando si pongono queste domande al team, occorre fare attenzione alle risposte e ad alcune delle parole chiave utilizzate. Le "risposte possibili" indicate di seguito indicano la probabile necessità di passare a un modello di deployment basato su container Red Hat.
5 considerazioni per lo sviluppo di applicazioni in container
1 Installare e distribuire app più velocemente
In ogni settore, sui team di sviluppo viene esercitata una forte pressione alla creazione di nuove applicazioni e servizi che promuovano l'innovazione e la trasformazione aziendale. Le domande seguenti consentono di avviare un dialogo con il team, finalizzato a comprendere in quale fase del percorso ci si trova e quali sono le azioni successive da intraprendere.
- Quanto trovate complesso realizzare e distribuire un'app utilizzando i container?
- Quanto tempo è necessario per applicare una correzione, aggiornare o migliorare un'app esistente?
- Nel processo di sviluppo applicativo, fate uso delle pipeline di deployment CI/CD?
- Con quale frequenza incontrate problemi con il deployment in ambienti avanzati che non si verificano negli ambienti di sviluppo?
Risposte possibili: il processo di sviluppo dura mesi o anni; il processo di aggiornamento delle app è complesso e lungo; mancato utilizzo di pipeline CI/CD e test A/B; differenze tra ambienti di deployment
4 Middleware e servizi applicativi ottimizzati per Kubernetes
Kubernetes è oggi la tecnologia leader di settore per l'orchestrazione dei container. Consentire al team di sviluppo di lavorare con Kubernetes offrirà vantaggi alla tua azienda e incentiverà una maggiore efficienza dello stesso team di sviluppo.
- Il middleware e i servizi applicativi che utilizzate nelle applicazioni sono progettati per operare insieme e ottimizzati per Kubernetes?
- Il middleware e i servizi applicativi in uso sono comprovati nei deployment in produzione?
- In che modo proteggete le vostre app? Utilizzate funzionalità di sicurezza integrate, DevSecOps o altri nuovi metodi che funzionano nei cloud e in sede?
- Quanto è difficile monitorare e risolvere i problemi dei servizi distribuiti?
Risposte possibili: il middleware e i servizi applicativi correntemente in uso non sono stati progettati per operare insieme né ottimizzati per Kubernetes; messa in sicurezza delle applicazioni; il middleware e i servizi applicativi correntemente in uso non sono comprovati nei deployment in produzione su Kubernetes; la protezione delle applicazioni è frammentaria; nelle applicazioni vengono utilizzati svariati meccanismi di sicurezza; la sicurezza delle applicazioni viene effettuata ad hoc con sistemi di vendor cloud specifici; vengono utilizzati meccanismi di monitoraggio e risoluzione dei problemi diversi per le varie applicazioni.
2 Supporto per più linguaggi e framework
Offrire supporto a linguaggi e framework è sempre un'attività complessa. Essere in grado di lavorare con più framework e linguaggi di sviluppo, come JavaTM, consente di eseguire la migrazione o rinnovare i sistemi esistenti, ma anche di attrarre una più ampia gamma di professionisti di talento. Di seguito, alcune domande da porre ai team su questo tema.
- In che modo le app esistenti e nuove sfruttano i microservizi?
- Vengono utilizzati linguaggi e framework ben consolidati?
- Quali sono i linguaggi o framework innovativi che ritenete migliori e progettati per i microservizi?
- Il vostro ambiente applicativo cloud native supporta l'ottimizzazione delle app esistenti e lo sviluppo di app moderne?
Risposte possibili: utilizzo di un unico linguaggio o framework per tutte le attività di sviluppo; utilizzo carente di linguaggi e framework innovativi che supportino tecniche di sviluppo moderne; impossibilità di ottimizzare le applicazioni esistenti per la loro esecuzione su container e Kubernetes; le soluzioni esistenti supportano soltanto lo sviluppo di nuove applicazioni.
5 Strumenti e risorse per lo sviluppo in ambienti containerizzati
La formazione continua e la crescita professionale sono sempre importanti per un team di sviluppo. Red Hat Training and Certification e altri servizi Red Hat consentono agli sviluppatori di porre domande, partecipare a workshop e condividere una gamma straordinaria di materiali che faciliteranno le attività di transizione allo sviluppo delle app nei container. Ecco alcune domande sul tema.
- State utilizzando un ambiente IDE (Integrated Development Environment) per lo sviluppo di app cloud native?
- Il vostro IDE è progettato per lo sviluppo delle app nei container e in Kubernetes?
- Quanto tempo richiedono le attività di sviluppo, installazione e distribuzione delle app in Kubernetes utilizzando gli strumenti di sviluppo correntemente in uso?
- Quanto tempo dedicate quotidianamente alla formazione in autonomia?
- Quanto è importante proseguire le attività di formazione e acquisizione di competenze sui più recenti trend applicativi tramite istruzione formale, formazione e attività pratiche?
- In che modo ottenete assistenza tecnica in caso di necessità durante lo sviluppo applicativo?
Risposte possibili: l'ambiente IDE supporta container e Kubernetes; l'ambiente IDE non è eseguibile su container e Kubernetes; l'ambiente IDE non è basato su browser; l'ambiente IDE deve essere installato sul desktop dello sviluppatore; il tempo di sviluppo delle applicazioni mediante gli strumenti attuali è migliorabile; il supporto tecnico è lento e poco reattivo; le risorse di formazione sono carenti; non sono disponibili attività pratiche per apprendere nuove modalità di sviluppo cloud native.
3 Capacità di lavorare in ambienti cloud ibridi
Il passaggio a un ambiente di cloud computing ibrido offre molti vantaggi, ma principalmente consente al team di sviluppo di innovare in modo veloce e sicuro. I container potranno essere eseguiti in configurazioni multicloud. Se il team di sviluppo sta valutando il passaggio al cloud ibrido, le domande seguenti potrebbero risultare utili.
- Sviluppate applicazioni che si avvalgono di uno o più provider cloud?
- Sviluppate applicazioni distribuite su più cloud?
- Quanto tempo dedicate a rendere le applicazioni fruibili su più cloud?
- Sviluppate applicazioni che combinano funzionalità on premise e su cloud?
Risposte possibili: incapacità di sviluppare su cloud; attività di sviluppo solo on premise; utilizzo di un solo provider cloud; vincoli con il provider cloud; impossibilità di sviluppare applicazioni per cloud ibrido o multicloud.