Applicazioni serverless più veloci e semplici con OpenShift

Red Hat OpenShift Serverless è un insieme di componenti orientati a Kubernetes gestiti da eventi per microservizi, contenitori e implementazioni Function-as-a-Service (FaaS).

Applicazioni serverless più veloci e semplici con OpenShift

Questa soluzione ‘pronta all'uso’ include strumenti di sicurezza e instradamento del traffico, integrando Red Hat Operators, Knative e Red Hat OpenShift per eseguire carichi di lavoro stateless e serverless sulla piattaforma OpenShift in ambienti privati, pubblici, ibridi e multi-cloud.

OpenShift Serverless permette agli sviluppatori di concentrarsi completamente sulla creazione di applicazioni di nuova generazione, offrendo una vasta gamma di linguaggi di programmazione, framework, ambienti di sviluppo e altri strumenti per creare e distribuire prodotti aziendali innovativi.

Caratteristiche chiave di Red Hat OpenShift Serverless:

  • Ampia scelta di linguaggi di programmazione e componenti runtime per applicazioni serverless. Puoi scegliere esattamente l'insieme di strumenti di cui hai bisogno.
  • Scalabilità orizzontale automatica in base all'intensità delle richieste o al verificarsi di eventi, per una gestione delle risorse efficace basata su esigenze reali e non ipotetiche.
  • Integrazione completa con OpenShift Pipelines, un sistema CI/CD orientato a Kubernetes basato su Tekton.
  • Base in forma di Red Hat Operator, che consente agli amministratori di gestire in modo sicuro le istanze attive e di aggiornarle, organizzando il ciclo di vita delle applicazioni come servizi cloud.
  • Monitoraggio continuo dei nuovi rilasci della community, compresi Knative 0.13 Serving, Eventing e kn (CLI ufficiale per Knative); per tutti gli altri prodotti Red Hat, questo comporta test accurati su varie piattaforme e configurazioni di OpenShift.

Inoltre, Red Hat collabora strettamente sulle tecnologie Serverless con vari partner, e con Microsoft su Azure Functions e KEDA (maggiori dettagli in qui). In particolare, esiste già un operatore OpenShift certificato da TriggerMesh, e abbiamo recentemente avviato una collaborazione con Serverless.com, affinché il Serverless Framework possa funzionare con OpenShift Serverless e Knative. Queste partnership possono essere viste come un segno di maturità del serverless e l'inizio della formazione di un ecosistema industriale.

Se hai precedentemente installato una versione beta di Red Hat OpenShift Serverless, puoi aggiornarla alla versione GA (disponibilità generale) pubblica. Per la versione Technology Preview, sarà necessario riconfigurare il canale di aggiornamento dell'abbonamento OLM, come mostrato nella Fig. 1.

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 1. Aggiornamento del canale di abbonamento.

Il canale di abbonamento deve essere aggiornato per corrispondere alla versione OpenShift Container Platform 4.4 o 4.3.

Knative Services – un servizio di livello superiore

OpenShift 4.4 semplifica notevolmente il deployment delle applicazioni con le funzionalità di OpenShift Serverless, permettendo di implementare senza sforzi i servizi Knative direttamente dalla modalità Developer della console web di OpenShift.

Quando aggiungi una nuova applicazione al progetto, è sufficiente specificare il tipo di risorsa Knative Service, attivando immediatamente le funzionalità di OpenShift Serverless e abilitando il ridimensionamento a zero in stato di attesa, come mostrato nella Fig. 2.

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 2. Selezione di Knative Service come tipo di risorsa.

Installazione semplice con Kourier

Come abbiamo già scritto in nella versione OpenShift Serverless 1.5.0 Tech Preview, utilizzo Kourier ha notevolmente ridotto l'elenco dei requisiti per l'installazione di Serverless su OpenShift, e nella versione GA questi requisiti sono stati ulteriormente semplificati. Questo riduce il consumo di risorse, accelera l'avvio a freddo delle applicazioni e elimina l'impatto di carichi di lavoro tradizionali non serverless che operano nello stesso namespace.

In generale, questi miglioramenti e le modifiche in OpenShift 4.3.5 velocizzano la creazione di applicazioni a partire da un contenitore prebuild di circa il 40-50%, a seconda delle dimensioni dell'immagine.
Come avviene senza l'utilizzo di Kourier, è possibile vederlo nella Fig. 3:

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 3. Tempo di creazione delle applicazioni nei casi in cui Kourier non è utilizzato.

Come avviene quando si utilizza Kourier, è possibile vederlo nella Fig. 4:

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 4. Tempo di creazione delle applicazioni utilizzando Kourier.

TLS/SSL in modo automatico

OpenShift Serverless ora può creare e distribuire automaticamente TLS/SSL per il percorso (OpenShift Route) del tuo Servizio Knative, così puoi concentrarti sullo sviluppo della tua applicazione senza distrazioni dovute all'implementazione e alla gestione di queste funzionalità. In altre parole, Serverless libera gli sviluppatori dalle complessità legate a TLS, mantenendo comunque un alto livello di sicurezza che ci si aspetta da Red Hat OpenShift.

Interfaccia della riga di comando di OpenShift Serverless

In OpenShift Serverless, si chiama kn ed è accessibile direttamente nella console di OpenShift nella pagina Strumenti della riga di comando, come mostrato in Fig. 5:

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 5. Pagina di download dell'interfaccia della riga di comando di OpenShift Serverless.

Scaricando da questa pagina, ottieni la versione di kn per MacOS, Windows o Linux, testata da Red Hat e garantita priva di malware.

In Fig. 6 si mostra come in kn si possa distribuire un servizio con un solo comando, creando in pochi secondi un'istanza dell'applicazione sulla piattaforma OpenShift accessibile tramite URL:

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 6. Utilizzo dell'interfaccia della riga di comando kn.

Questo strumento consente di gestire completamente le risorse di Serverless Serving ed Eventing senza dover visualizzare o modificare alcuna configurazione YAML.

Visualizzazione avanzata della Topologia in modalità Developer della console

Vediamo ora come la visualizzazione migliorata della Topologia facilita la gestione dei Knative Services.

Visualizzazione centrata sui servizi Knative

I Knative Services nella pagina di visualizzazione della Topologia vengono mostrati come un rettangolo che contiene tutte le revisioni, come illustrato nella Fig. 7:

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 7. Knative Services nella pagina di visualizzazione della Topologia.

Qui è possibile visualizzare istantaneamente le percentuali attuali di distribuzione del traffico del Knative Service, oltre a raggruppare i Knative Services all'interno di un gruppo di applicazioni per monitorare facilmente in modo visivo ciò che sta accadendo all'interno del gruppo selezionato.

Espansione delle liste dei servizi Knative di OpenShift

Continuando il tema del raggruppamento, è importante notare che in OpenShift 4.4 è possibile comprimere i Knative Services all'interno di un gruppo di applicazioni per una visualizzazione e gestione più comode dei servizi quando applicazioni più complesse sono distribuite nel progetto.

Dettagli del Knative Service

In OpenShift 4.4 è stata anche migliorata la barra laterale per i Knative Services. È stata aggiunta una scheda Risorse, dove sono mostrati i componenti del servizio, come Pods, Revisioni e Routes. Questi componenti forniscono anche un accesso rapido e semplice ai log dei singoli pod.

La visualizzazione Topology mostra anche le percentuali di distribuzione del traffico e consente di modificare rapidamente la configurazione. In questo modo, puoi scoprire in tempo reale come è distribuito il traffico per il servizio Knative selezionato, in base al numero di pod in esecuzione per la revisione specificata, come mostrato nella Fig. 8.

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 8. Distribuzione del traffico del servizio Knative.

Uno sguardo più approfondito sulle revisioni Serverless

La visualizzazione Topology ora consente anche di esplorare in modo più dettagliato la revisione selezionata, ad esempio, vedere rapidamente tutti i suoi pod e, se necessario, controllare i loro log. Inoltre, in questa vista è possibile accedere facilmente ai deployment e alle configurazioni di revisione, così come al sottoruolo che punta direttamente a questa revisione, come mostrato nella Fig. 9:

Applicazioni serverless più veloci e semplici con OpenShift
Fig. 9. Risorse associate alle revisioni.

Speriamo che le innovazioni sopra descritte siano utili nella creazione e gestione di applicazioni serverless, e che nelle prossime versioni ci saranno ulteriori funzionalità utili per gli sviluppatori, come la possibilità di creare fonti di eventi e altro ancora.

Sei interessato?

Prova OpenShift!

Apprezziamo il tuo feedback

Facci sapere, cosa ne pensi del serverless. Unisciti al nostro gruppo Google OpenShift Developer Experience per partecipare a discussioni e seminari durante le Office Hours, per collaborare con noi e fornire i tuoi feedback e suggerimenti.

Ulteriori informazioni

Scopri di più sullo sviluppo di applicazioni OpenShift utilizzando le seguenti risorse Red Hat:

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster