Google ha introdotto la piattaforma di elaborazione serverless Knative 1.0

Google ha presentato una versione stabile della piattaforma Knative 1.0, progettata per creare un'infrastruttura informatica serverless distribuita su un sistema di isolamento dei contenitori basato sulla piattaforma Kubernetes. Oltre a Google, nello sviluppo di Knative sono coinvolte anche aziende come IBM, Red Hat, SAP e VMware. Il rilascio di Knative 1.0 ha segnato la stabilizzazione dell'API di sviluppo dell'applicazione, che d'ora in poi rimarrà invariata e compatibile con le versioni precedenti. Il codice del progetto è scritto in Go e distribuito sotto la licenza Apache 2.0.

Il modello di sviluppo di applicazioni serverless offerto da Knative fornisce un ulteriore livello di astrazione per i sistemi cloud, consentendo di eseguire le funzioni come servizi (FaaS, Functions as a service). L'essenza del modello serverless è che lo sviluppatore implementa la logica a livello delle singole funzioni, senza preoccuparsi di creare e gestire l'infrastruttura per l'esecuzione delle applicazioni e senza essere vincolato a specifiche applicazioni server e agli ambienti cloud necessari al loro funzionamento.

Lo sviluppo viene effettuato senza creare applicazioni monolitiche a livello di preparazione di una serie di piccole funzioni individuali, ognuna delle quali garantisce l'elaborazione di un evento specifico ed è progettata per funzionare separatamente senza riferimento all'ambiente (apolide, il risultato non dipende da lo stato precedente e il contenuto del file system). Le funzioni vengono avviate solo quando se ne presenta la necessità e dopo aver elaborato l'evento possono immediatamente completare il loro lavoro, ovvero a differenza dei microservizi, non è richiesta la presenza costante di ambienti in esecuzione che consumano risorse inattive.

La stessa piattaforma Knative avvia i contenitori secondo necessità, inserisce al loro interno le funzioni predisposte, organizza la gestione e garantisce il ridimensionamento degli ambienti necessari per eseguire tali funzioni. La piattaforma può essere implementata autonomamente senza essere vincolata a servizi cloud esterni. Per l'esecuzione è necessario solo Kubernetes. Vengono forniti strumenti per supportare una varietà di framework comuni, tra cui Django, Ruby on Rails e Spring. L'interfaccia della riga di comando può essere utilizzata per controllare il funzionamento della piattaforma.

La piattaforma prevede due componenti principali:

  • Servire per eseguire contenitori serverless in Kubernetes con configurazione automatica della comunicazione di rete, instradamento, tracciamento delle modifiche (creazione di istantanee del codice ospitato e delle impostazioni) e mantenimento del livello di scalabilità richiesto (fino a ridurre a zero il numero di pod in assenza di attività) . Lo sviluppatore si concentra solo sulla logica; tutto ciò che riguarda l'esecuzione è gestito dalla piattaforma. Per organizzare l'interazione di rete e le richieste di instradamento è possibile utilizzare i sottosistemi di rete Ambassador, Contour, Kourier, Gloo e Istio. È disponibile il supporto per HTTP/2, gRPC e WebSocket.
  • Eventing è un sistema universale per la sottoscrizione (collegamento di gestori), la consegna e la gestione degli eventi. Consente di creare applicazioni in esecuzione asincrona collegando risorse di elaborazione ai flussi di dati utilizzando un modello a oggetti e un meccanismo di elaborazione degli eventi.

Fonte: opennet.ru

Aggiungi un commento