Craig Muzilla, Senior Vice President Core Products and Cloud Services Business Group in Red Hat , spiega come sfruttare al meglio gli ambienti cloud native aiuti lo sviluppo.
Non è una novità che, per avere successo negli attuali ambienti competitivi, le app – e il modo in cui le imprese le progettano, realizzano e utilizzano – rivestono un ruolo fondamentale. L’approccio cloud native assicura l’astrazione dall’infrastruttura sottostante, l’uso di metodologie agili e DevOps e l’impiego di strumenti e servizi on-demand. Lo sviluppo applicativo cloud native viene favorito anche da nuove architetture software, come i microservizi e il serverless, resi possibili da tecnologie come i container Linux.
Negli ultimi due anni c’è stato uno spostamento dallo sviluppo e implementazione di app su bare metal e in ambienti virtuali agli ambienti cloud-native basati su container. Molte aziende si sono focalizzate sulla creazione di un’infrastruttura hybrid cloud avvalendosi di container e Kubernetes. Considerato tutto questo, ritengo che il 2019 sarà l’anno dello sviluppo di workload e servizi cloud native.
Gli application development cloud service sono importanti perché offrono gli strumenti e i componenti sui quali i clienti creano i loro carichi di lavoro. Oltre a un maggior numero di cloud-based app dev service, vediamo uno spostamento da tool di sviluppo esclusivamente basati su desktop ad altri di tipo più collaborativo, centralizzato e cloud-based.
Function-as-a-Service e serverless continueranno a progredire, soprattutto nel modo in cui questi servizi si relazionano con Kubernetes. Prevedo che il 2019 getterà le basi per entrambi FaaS e serverless, e ne vedremo una maggiore adozione nel 2020. Mi aspetto inoltre che nel corso dell’anno venga definito meglio come il serverless si posiziona all’interno del Cloud Native Cloud Foundry (CNCF).
Continueremo poi a vedere come hybrid cloud e multi cloud si integrano con i workload come requisito strategico importante. Multi-cloud e indipendenza dall’infrastruttura influenzano il modo in cui le applicazioni vengono create, pacchettizzate e orchestrate. Le applicazioni richiedono altri servizi – database, messaggistica, gestione delle API, data sync, notifiche push e altro ancora. Gli sviluppatori dovrebbero iniziare a valutare quanto si sentono a loro agio ‘ingabbiati’ nei servizi e API di un determinato vendor, o se preferirebbero restare neutrali con un servizio/API open source che può essere ospitato ovunque – virtualizzazione tradizionale, ma anche cloud pubblici e privati. Il nostro obiettivo è di offrire servizi applicativi chiave in tutti questi ambiti. Sono molti i ‘perché’ legati al multi cloud, costo, disponibilità, creazione o test production. Possiamo offrire l’indipendenza infrastrutturale al fine di utilizzare le applicazioni in molteplici cloud e trarre vantaggio da ambienti diversi.
Le sfide sono molte, una delle quali è spostare i workload attuali in ambienti cloud-native. La difficoltà sta nel fatto che i clienti spesso non anticipano i cambiamenti culturali e architetturali richiesti per adottare un approccio cloud-native. Anche se in molte situazioni abbiamo superato la necessità di convincere le aziende che Kubernetes e containers possono realmente rappresentare il passo giusto per loro, la sfida da affrontare adesso è quella di favorire una cultura in grado di gestire la transizione.
C’è stato un cambiamento nello sviluppo applicativo cloud-native anche dal punto di vista degli sviluppatori. In passato gli Integrated Development Environment (IDE) erano focalizzati su un unico linguaggio e sviluppatore, il che aveva senso perché fino a poco tempo fa la maggior parte di essi era specializzata in un unico linguaggio. Oggi tuttavia gli sviluppatori si avvalgono di molti linguaggi diversi, sono stati messi a punto nuovi protocolli che consentono a un IDE di ottenere l’intelligenza sul linguaggio trasformando così un IDE in uno specialista in diversi linguaggi.
Questo permette allo sviluppatore di passare facilmente da un IDE all’altro e favorisce l’evoluzione dello sviluppo cloud-native permettendo loro di lavorare nel linguaggio che preferiscono. Prevedo che questo trend continuerà nel 2019 e oltre.
Quello che credo differenzi Red Hat è il nostro tentativo di essere presenti in ogni singolo ambiente public e private cloud.
Il mio consiglio per il 2019? Analizzate bene i vostri workload esistenti e futuri per determinare come sfruttare gli ambienti cloud native. Parlatene con i vostri ISV e cloud service provider perché, per avere successo, è necessario coinvolgere l’intero ecosistema.