Red Hat OpenShift Serverless er en samling av hendelsesstyrte Kubernetes-komponenter for mikrotjenester, containere og implementeringer av Function-as-a-Service (FaaS).

Denne 'out-of-the-box' løsningen inneholder sikkerhetsverktøy og trafikkstyring, og kombinerer Red Hat Operators, og for å kjøre stateless- og serverless-laster på OpenShift-plattformen i private, offentlige, hybride og multisky-miljøer.
lar utviklere fullt ut fokusere på å skape neste generasjons applikasjoner, og tilbyr et bredt spekter av programmeringsspråk, rammeverk, utviklingsmiljøer og andre verktøy for å lage og implementere banebrytende forretningsprodukter.
Nøkkelfunksjoner i Red Hat OpenShift Serverless:
- Bredt utvalg av programmeringsspråk og runtime-komponenter for serverless-applikasjoner. Du kan velge akkurat det verktøysettet som passer for deg.
- Automatisk horisontal skaleringsmulighet basert på forespørselintensitet eller hendelser for effektiv ressursstyring basert på faktiske, ikke hypotetiske behov
- Full integrasjon med OpenShift Pipelines, en Kubernetes-basert CI/CD-system for kontinuerlig bygging og distribusjon, basert på Tekton
- Basis av Red Hat Operator, som gjør det mulig for administratorer å sikkert administrere aktive instanser og oppdatere dem, samt organisere livssyklusen for applikasjoner som skybaserte tjenester
- Kontinuerlig overvåking av nye community-utgivelser, inkludert Knative 0.13 Serving, Eventing og kn (den offisielle CLI for Knative) – som med alle andre Red Hat-produkter, betyr dette grundig testing og verifisering på forskjellige plattformer og konfigurasjoner i OpenShift
I tillegg samarbeider Red Hat tett med en rekke partnere om Serverless-teknologier, samt med Microsoft angående Azure Functions og (se nærmere på ). Spesielt er det allerede en sertifisert OpenShift-operator tilgjengelig hos , og nylig har vi begynt samarbeidet med , slik at Serverless Framework kan fungere med OpenShift Serverless og Knative. Disse partnerskapene kan ses på som et tegn på modenhet i serverless og en begynnelse på utviklingen av en industriell økosystem.
Hvis du tidligere har installert betaversjonen av Red Hat OpenShift Serverless, kan du oppdatere den til den offentlige GA-versjonen (generelt tilgjengelig). For versjonen Technology Preview må OLM Subscription Update Channel omkonfigureres, som vist i Figur 1.

Figur 1. Oppdatering av abonnements kanalen.
Abonnements kanalen må oppdateres slik at den samsvarer med OpenShift Container Platform versjon enten 4.4 eller 4.3.
Knative Services – førsteklasses service
OpenShift 4.4 forenkler sterkt distribusjon av applikasjoner med OpenShift Serverless-funksjonalitet, og gjør det enkelt å distribuere Knative Services direkte fra utviklermodus i OpenShift nettgrensesnitt.
Når du legger til en ny applikasjon i prosjektet, er det nok å angi ressurstypen som Knative Service, noe som umiddelbart aktiverer OpenShift Serverless-funksjonalitet og aktiverer skalering til null i ventemodus, som vist i Figur 2.

Figur 2. Valg av Knative Service som ressurstype.
Enkel installasjon med Kourier
Som nevnt i , bruken av har redusert listen over krav ved installasjon av Serverless på OpenShift kraftig, og i GA-versjonen er det enda færre krav. Dette reduserer ressursbruken, akselererer kalde oppstarter av applikasjoner og eliminerer også virkningene av vanlige, ikke-serverløse belastninger som kjører i samme navnerom.
Generelt akselererer disse forbedringene, samt oppdateringene i OpenShift 4.3.5, opprettelsen av applikasjoner fra forhåndsbygde containere med 40-50% avhengig av bildet størrelse.
Hvordan alt foregår uten å bruke Kourier, kan sees i Figur 3:

Figur 3. Tiden for opprettelse av applikasjoner der Kourier ikke brukes.
Hvordan alt foregår når Kourier brukes, kan sees i Figur 4:

Figur 4. Tiden for opprettelse av applikasjoner ved bruk av Kourier.
TLS/SSL automatisk
OpenShift Serverless kan nå automatisk opprette og distribuere TLS/SSL for ruten (OpenShift Route) til Knative Service, slik at du kan fokusere på utvikling og vedlikehold av applikasjonen uten å bekymre deg for implementeringen av disse funksjonalitetene. Med andre ord, Serverless fjerner kompleksiteten knyttet til TSL, samtidig som det opprettholder det høye sikkerhetsnivået som alle forventer fra Red Hat OpenShift.
Kommandolinjegrensesnittet for OpenShift Serverless
I OpenShift Serverless kalles det kn og er tilgjengelig direkte i OpenShift-konsollen på siden for kommandolinjeverktøy, som vist i Fig. 5:

Fig. 5. Nedlastingsside for OpenShift Serverless kommandolinjegrensesnitt.
Når du laster ned fra denne siden, får du kn-versjonen for MacOS, Windows eller Linux, som er verifisert av Red Hat og garantert fri for skadelig programvare.
Fig. 6 viser hvordan man kan distribuere en tjeneste med bare én kommando i kn, for raskt å opprette et applikasjonsinstans på OpenShift-plattformen med tilgang via URL:

Fig. 6. Bruk av kommandolinjegrensesnittet kn.
Dette verktøyet lar deg fullt ut administrere ressursene til Serverless Serving og Eventing uten å måtte se på eller endre noen YAML-konfigurasjoner.
Forbedret fremstilling av Topology i utviklermodus i konsollen
La oss nå se på hvordan det forbedrede Topology-bildet gjør det lettere å administrere Knative-tjenester.
Knative Service-sentrert visualisering
Knative-tjenester på Topology-visningssiden vises som et rektangel som inneholder alle revisjoner, som vist i Fig. 7:

Fig. 7. Knative-tjenester på Topology-visningssiden.
Her kan du umiddelbart se nåværende prosentandeler for trafikkfordelingen av Knative-tjenesten, og gruppere Knative-tjenester innenfor en applikasjonsgruppe for enkelt å visuelt overvåke situasjonen i den valgte gruppen.
Samleknapping av OpenShift Knative-tjenester
For å fortsette temaet om gruppering, må vi si at i OpenShift 4.4 kan Knative-tjenester foldes inn i applikasjonsgrupper for mer praktisk visning og styring av tjenester når mer komplekse applikasjoner distribueres i prosjektet.
Knative-tjeneste i detalj
I OpenShift 4.4 har sidepanelet for Knative-tjenester også fått forbedringer. Det har fått en faneblad for ressurser, hvor komponenter av tjenesten vises, som Pods, Revisjoner og Ruter. Disse komponentene gir også rask og enkel tilgang til loggene til individuelle pod-er.
Topology-visningen viser også prosenter for trafikkfordelingen og lar deg raskt endre konfigurasjonen. Dermed kan du raskt se trafikkfordelingen for den valgte Knative-tjenesten i sanntid basert på antall pod-er som kjører for en gitt revisjon, som vist i Fig. 8.

Fig. 8. Trafikkfordeling for Knative-tjenesten.
Et dypere blikk på Serverless-revisjoner
Topologi-presentasjonen lar deg nå se dypere inn i den valgte revisjonen, for eksempel raskt se alle pod'ene og, om nødvendig, se på loggene deres. I denne visningen kan du også enkelt få tilgang til utrullinger og konfigurasjoner av revisjonen, samt til underrutene som peker direkte til denne revisjonen, som vist på Fig. 9:

Fig. 9. Ressurser assosiert med revisjoner.
Vi håper at de beskrevne nyvinningene vil være nyttige for deg i opprettingen og forvaltningen av serverless-applikasjoner, og i fremtidige versjoner vil det komme enda flere nyttige funksjoner for utviklere, som muligheten til å lage hendelseskilder og mer.
Er du interessert?
Din tilbakemelding er viktig for oss.
, hva du synes om serverless. Bli med i vår Google-gruppe for å delta i diskusjoner og Office Hours-seminarer for å samarbeide med oss og dele tilbakemeldinger og forslag.
Mer informasjon
om utvikling av OpenShift-applikasjoner med følgende Red Hat-ressurser:
Kilde: habr.com
