Google hà prisentatu una versione stabile di a piattaforma Knative 1.0, cuncepita per creà una infrastruttura informatica senza servitore implementata in cima à un sistema di isolamentu di cuntainer basatu nantu à a piattaforma Kubernetes. In più di Google, cumpagnie cum'è IBM, Red Hat, SAP è VMware sò ancu implicati in u sviluppu di Knative. A liberazione di Knative 1.0 hà marcatu l'estabilizazione di l'API di sviluppu di l'applicazioni, chì da quì in avanti resterà invariata è resta cumpatibile cù retrocede. U codice di u prughjettu hè scrittu in Go è distribuitu sottu a licenza Apache 2.0.
U mudellu di sviluppu di l'applicazioni senza servitore offertu da Knative furnisce un livellu supplementu di astrazione per i sistemi di nuvola, chì permettenu e funzioni per esse realizate cum'è servizii (FaaS, Funzioni cum'è serviziu). L'essenza di u mudellu senza servitore hè chì u sviluppatore implementa a logica à u livellu di e funzioni individuali, senza preoccupari di creà è gestisce l'infrastruttura per eseguisce l'applicazioni, è senza esse ligatu à l'applicazioni specifiche di u servitore è l'ambienti nuvola necessarii per u so funziunamentu.
U sviluppu hè realizatu senza creà applicazioni monolitiche à u livellu di a preparazione di un inseme di picculi funzioni individuali, chì ognuna assicura u processu di un avvenimentu specificu è hè pensatu per travaglià separatamente senza riferimentu à l'ambiente (apatride, u risultatu ùn dipende micca di u statu precedente è u cuntenutu di u sistema di schedari). Funzioni sò lanciati solu quandu u bisognu si nasce è dopu à trasfurmà l'avvenimentu ponu subitu compie u so travagliu, i.e. a cuntrariu di i microservizi, ùn ci hè micca esigenza per a presenza constante di ambienti in esecuzione chì cunsuma risorse inattive.
A piattaforma Knative stessa lancia cuntenituri quantu necessariu, mette funzioni preparate in elli, urganizeghja a gestione è assicura a scala di l'ambienti necessarii per eseguisce queste funzioni. A piattaforma pò esse implementata da sola senza esse ligata à servizii di nuvola esterni. Solu Kubernetes hè necessariu per eseguisce. Strumenti sò furniti per sustene una varietà di frameworks cumuni, cumprese Django, Ruby on Rails è Spring. L'interfaccia di linea di cumanda pò esse usata per cuntrullà u funziunamentu di a piattaforma.
A piattaforma furnisce dui cumpunenti principali:
- Serve per eseguisce cuntenituri senza servitore in Kubernetes cù cunfigurazione automatica di cumunicazione in rete, routing, seguimentu di i cambiamenti (creendu snapshots di codice ospitu è paràmetri) è mantene u livellu necessariu di scala (finu à riduce u numeru di pods à zero in l'assenza di attività) . U sviluppatore fucalizza solu nantu à a logica tuttu ciò chì riguarda l'esekzione hè trattatu da a piattaforma. Per urganizà l'interazzione di a rete è e dumande di routing, i sottosistemi di rete Ambassador, Contour, Kourier, Gloo è Istio ponu esse usatu. Ci hè supportu per HTTP/2, gRPC è WebSockets.
- Eventing hè un sistema universale per l'abbonamentu (attaccamentu di i gestori), a spedizione è a gestione di l'avvenimenti. Permette di creà applicazioni in esecuzione asincrona attachendu risorse informatiche à flussi di dati utilizendu un mudellu d'ughjettu è un mecanismu di trasfurmazioni di l'eventi.
Source: opennet.ru
