Red Hat OpenShift Serverless è un insieme di componenti orientati agli eventi basati su Kubernetes per microservizi, container e implementazioni di Function-as-a-Service (FaaS).

Questa soluzione e è pronta all'uso e include strumenti di sicurezza e instradamento del traffico, combinando Red Hat Operators,
consente agli sviluppatori di concentrarsi completamente sulla creazione di applicazioni di nuova generazione, offrendo un'ampia gamma di linguaggi di programmazione, framework, ambienti di sviluppo e altri strumenti per la creazione e distribuzione di prodotti innovativi nel settore.
Caratteristiche principali di Red Hat OpenShift Serverless:
- Ampia scelta di linguaggi di programmazione e componenti runtime per applicazioni serverless. Puoi scegliere esattamente il set di strumenti di cui hai bisogno.
- Ridimensionamento orizzontale automatico in base all'intensità delle richieste o in occasione di eventi per una gestione efficiente delle risorse basata su necessità reali, e non ipotetiche.
- Integrazione completa con OpenShift Pipelines, un sistema di Continuous Integration/Delivery (CI/CD) orientato a Kubernetes, basato su Tekton.
- Fondamenta tramite Red Hat Operator, che consente agli amministratori di gestire in modo sicuro istanze attive e di aggiornarle, organizzando anche il ciclo di vita delle applicazioni come servizi cloud.
- Monitoraggio continuo delle nuove release della community, inclusi Knative 0.13 Serving, Eventing e kn (CLI ufficiale per Knative); come per tutti gli altri prodotti Red Hat, questo significa rigorosi test e verifica su varie piattaforme e configurazioni di OpenShift.
Inoltre, Red Hat collabora strettamente con diversi partner sulle tecnologie Serverless, incluso Microsoft su Azure Functions e (maggiori dettagli su ). In particolare, un operatore certificato per OpenShift è già disponibile presso , e di recente abbiamo iniziato una collaborazione con , per consentire al Serverless Framework di funzionare con OpenShift Serverless e Knative. Queste partnership possono essere viste come un segno della maturità del serverless e dell'inizio della formazione di un ecosistema settoriale.
Se hai precedentemente installato la versione beta di Red Hat OpenShift Serverless, puoi aggiornarla alla versione GA (disponibile al pubblico). In questo caso, dovrai riconfigurare il canale di aggiornamento dell'abbonamento OLM per la versione Technology Preview, come mostrato nella Figura 1.

Figura 1. Aggiornamento del canale di abbonamento.
Il canale di abbonamento deve essere aggiornato per corrispondere alla versione della OpenShift Container Platform 4.4 o 4.3.
Servizi Knative – servizi di alto livello
OpenShift 4.4 semplifica notevolmente il deploy delle applicazioni con la funzionalità OpenShift Serverless, permettendo di implementare facilmente i Servizi Knative direttamente dalla modalità Developer della console web di OpenShift.
Quando aggiungi una nuova applicazione al progetto, è sufficiente specificare per essa il tipo di risorse Knative Service, attivando immediatamente la funzionalità OpenShift Serverless e abilitando lo scaling a zero in modalità di attesa, come mostrato nella Figura 2.

Figura 2. Selezione del Knative Service come tipo di risorse.
Installazione semplice con Kourier
Come già accennato nella , l'uso di ha consentito di ridurre drasticamente l'elenco dei requisiti per l'installazione di Serverless su OpenShift, e nella versione GA questi requisiti sono ulteriormente diminuiti. Tutto ciò riduce il consumo di risorse, accelera l'avvio a freddo delle applicazioni e elimina l'impatto dei carichi di lavoro normali che operano nello stesso spazio dei nomi.
In generale, questi miglioramenti e le modifiche in OpenShift 4.3.5 accelerano la creazione delle applicazioni da un'immagine del container pre-costruita del 40-50% a seconda delle dimensioni dell'immagine.
Come avviene senza l'uso di Kourier può essere visto nella Figura 3:

Figura 3. Tempo di creazione delle applicazioni in assenza di Kourier.
Come avviene quando si utilizza Kourier può essere visto nella Figura 4:

Figura 4. Tempo di creazione delle applicazioni utilizzando Kourier.
TLS/SSL in modo automatico
OpenShift Serverless ora può creare e implementare automaticamente TLS/SSL per il percorso (OpenShift Route) del tuo Knative Service, permettendoti di non dover gestire l'implementazione e la manutenzione di queste funzioni mentre lavori all'applicazione. In altre parole, Serverless libera gli sviluppatori dalle complessità associate a TSL, mantenendo comunque un alto livello di sicurezza, quello che ci si aspetta da Red Hat OpenShift.
Interfaccia della riga di comando di OpenShift Serverless
In OpenShift Serverless, it is called kn and is available directly in the OpenShift console on the Command Line Tools page, as shown in Fig. 5:

Fig. 5. OpenShift Serverless command line interface download page.
When downloading from this page, you get the kn version for MacOS, Windows, or Linux, which is verified by Red Hat and guaranteed to be free from malware.
Fig. 6 shows how to deploy a service in kn with just one command, creating an application instance on the OpenShift platform with URL access in seconds:

Fig. 6. Using the kn command line interface.
This tool allows full management of Serverless Serving and Eventing resources without needing to view or edit any YAML configurations.
Enhanced Topology view in Developer mode of the console
Now let's see how the improved Topology view simplifies the management of Knative Services.
Knative Service-centered visualization
Knative Services in the Topology view page are displayed as rectangles containing all revisions, as shown in Fig. 7:

Fig. 7. Knative Services in the Topology view page.
Here you can instantly view the current traffic distribution percentages for Knative Service and group Knative Services within an application group for easy visual control of what’s happening within the selected group.
Collapsing OpenShift Knative Services lists
Continuing the topic of grouping, it's important to note that in OpenShift 4.4, you can collapse Knative Services within an application group for more convenient viewing and management of services when more complex applications are deployed in the project.
Knative Service in detail
In OpenShift 4.4, the sidebar for Knative Services has also been improved. A Resources tab has been added, displaying service components such as Pods, Revisions, and Routes. These components also provide quick and easy access to the logs of individual pods.
The Topology view also shows traffic distribution percentages and even allows for quick configuration changes. Thus, you can quickly see the traffic distribution for the selected Knative Service in real-time by the number of pods running for a given revision, as shown in Fig. 8.

Fig. 8. Traffic distribution for Knative Service.
A deeper look at Serverless Revisions.
Ora la visualizzazione Topology consente di esaminare più a fondo la revisione selezionata, ad esempio, visualizzando rapidamente tutti i suoi pod e, se necessario, consultando i loro log. Inoltre, in questa visualizzazione è possibile accedere facilmente ai deployment e alle configurazioni della revisione, oltre a una sottorete che punta direttamente a questa revisione, come mostrato in Fig. 9:

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 ancora più funzionalità utili per gli sviluppatori, come la possibilità di creare fonti di eventi e altro.
Interessati?
Ci interessa il tuo feedback
, cosa pensi del serverless. Unisciti al nostro gruppo Google per partecipare a discussioni e seminari Office Hours, per collaborare con noi e lasciare le tue opinioni e suggerimenti.
Ulteriori informazioni
sulla sviluppo di applicazioni OpenShift con le seguenti risorse di Red Hat:
Fonte: habr.com
