Google introducerade Knative 1.0 serverlös datorplattform

Google har presenterat en stabil utgåva av Knative 1.0-plattformen, designad för att skapa en serverlös datorinfrastruktur utplacerad ovanpå ett containerisoleringssystem baserat på Kubernetes-plattformen. Förutom Google är även företag som IBM, Red Hat, SAP och VMware involverade i utvecklingen av Knative. Utgivningen av Knative 1.0 markerade stabiliseringen av API:et för applikationsutveckling, som hädanefter kommer att förbli oförändrad och förbli bakåtkompatibel. Projektkoden är skriven i Go och distribueras under Apache 2.0-licensen.

Den serverlösa applikationsutvecklingsmodellen som erbjuds av Knative ger en extra abstraktionsnivå för molnsystem, vilket gör att funktioner kan utföras som tjänster (FaaS, Functions as a Service). Kärnan i den serverlösa modellen är att utvecklaren implementerar logik på nivån för individuella funktioner, utan att oroa sig för att skapa och hantera infrastrukturen för att köra applikationer, och utan att vara bunden till specifika serverapplikationer och de molnmiljöer som är nödvändiga för deras drift.

Utveckling utförs utan att skapa monolitiska applikationer på nivån att förbereda en uppsättning små individuella funktioner, som var och en säkerställer bearbetningen av en specifik händelse och är designad att fungera separat utan hänvisning till miljön (statslöst, resultatet beror inte på det tidigare tillståndet och innehållet i filsystemet). Funktioner lanseras först när behov uppstår och efter bearbetning av händelsen kan de omedelbart slutföra sitt arbete, d.v.s. till skillnad från mikrotjänster krävs inte den konstanta närvaron av körmiljöer som förbrukar lediga resurser.

Knative-plattformen lanserar själva containrar efter behov, placerar förberedda funktioner i dem, organiserar förvaltningen och säkerställer skalning av de miljöer som krävs för att utföra dessa funktioner. Plattformen kan distribueras på egen hand utan att vara bunden till externa molntjänster. Endast Kubernetes krävs för att köras. Verktyg tillhandahålls för att stödja en mängd vanliga ramverk, inklusive Django, Ruby on Rails och Spring. Kommandoradsgränssnittet kan användas för att styra driften av plattformen.

Plattformen har två huvudkomponenter:

  • Servering för att köra serverlösa behållare i Kubernetes med automatisk konfiguration av nätverkskommunikation, routing, spårning av ändringar (skapa ögonblicksbilder av värdkod och inställningar) och upprätthålla den erforderliga skalningsnivån (upp till att minska antalet pods till noll i frånvaro av aktivitet) . Utvecklaren fokuserar bara på logiken; allt relaterat till exekvering hanteras av plattformen. För att organisera nätverksinteraktion och routingförfrågningar kan nätverksundersystemen Ambassador, Contour, Kourier, Gloo och Istio användas. Det finns stöd för HTTP/2, gRPC och WebSockets.
  • Eventing är ett universellt system för prenumeration (attachera hanterare), leverans och event management. Låter dig skapa asynkront körande applikationer genom att koppla datorresurser till dataströmmar med hjälp av en objektmodell och händelsebearbetningsmekanism.

Källa: opennet.ru

Lägg en kommentar