Google je predstavio Knative 1.0 računarsku platformu bez servera

Google je predstavio stabilno izdanje Knative 1.0 platforme, dizajnirane da kreira računarsku infrastrukturu bez servera postavljenu na sistem za izolaciju kontejnera baziran na Kubernetes platformi. Osim Google-a, u razvoj Knative-a su uključene i kompanije poput IBM-a, Red Hata, SAP-a i VMware-a. Izdanje Knative 1.0 označilo je stabilizaciju API-ja za razvoj aplikacija, koji će od sada ostati nepromijenjen i ostati kompatibilan unatrag. Kod projekta je napisan u Go i distribuiran pod licencom Apache 2.0.

Model razvoja aplikacija bez servera koji nudi Knative pruža dodatni nivo apstrakcije za cloud sisteme, omogućavajući izvršavanje funkcija kao usluga (FaaS, Functions as a service). Suština modela bez servera je da programer implementira logiku na nivou pojedinačnih funkcija, bez brige o kreiranju i upravljanju infrastrukturom za pokretanje aplikacija i bez vezivanja za specifične serverske aplikacije i cloud okruženja neophodna za njihov rad.

Razvoj se izvodi bez kreiranja monolitnih aplikacija na nivou pripreme skupa malih pojedinačnih funkcija, od kojih svaka osigurava obradu određenog događaja i dizajnirana je da radi odvojeno bez osvrta na okruženje (bez stanja, rezultat ne ovisi o prethodno stanje i sadržaj sistema datoteka). Funkcije se pokreću samo kada se ukaže potreba i nakon obrade događaja mogu odmah završiti svoj posao, tj. za razliku od mikroservisa, ne postoji zahtjev za stalno prisustvo aktivnih okruženja koje troše neaktivne resurse.

Sama Knative platforma pokreće kontejnere po potrebi, postavlja pripremljene funkcije u njih, organizira upravljanje i osigurava skaliranje okruženja potrebnih za obavljanje ovih funkcija. Platforma se može postaviti samostalno bez vezivanja za eksterne usluge u oblaku. Za pokretanje je potreban samo Kubernetes. Obezbeđeni su alati koji podržavaju različite uobičajene okvire, uključujući Django, Ruby on Rails i Spring. Interfejs komandne linije može se koristiti za kontrolu rada platforme.

Platforma nudi dvije glavne komponente:

  • Služi za pokretanje kontejnera bez servera u Kubernetesu sa automatskom konfiguracijom mrežne komunikacije, usmjeravanjem, praćenjem promjena (kreiranje snimaka hostovanog koda i postavki) i održavanjem potrebnog nivoa skaliranja (do smanjenja broja podova na nulu u odsustvu aktivnosti) . Programer se fokusira samo na logiku; svime što je vezano za izvršenje upravlja platforma. Za organizaciju mrežne interakcije i zahtjeva za rutiranje mogu se koristiti mrežni podsistemi Ambassador, Contour, Kourier, Gloo i Istio. Postoji podrška za HTTP/2, gRPC i WebSockets.
  • Eventing je univerzalni sistem za pretplatu (priključivanje rukovaoca), isporuku i upravljanje događajima. Omogućava vam da kreirate aplikacije koje se asinhrono pokreću pripajanjem računarskih resursa tokovima podataka koristeći objektni model i mehanizam za obradu događaja.

izvor: opennet.ru

Dodajte komentar