Development

Cloud
Developer

Serverless computing krijgt boost van opensourceproject

Serverless computing is mooi concept maar het gebruik is nu nog heel beperkt.

© CC0 - Unsplash NESA by Makers
28 augustus 2019

Serverless computing is mooi concept maar het gebruik is nu nog heel beperkt.

Serverless computing beperkt zich nu nog tot het uitvoeren van functies. Het CloudState-project is gericht op het creëren van ontwikkelgereedschap waarmee programmeurs volledige programma's kunnen coderen zonder rekening te houden met de onderliggende infrastructuur.

AWS Lambda, Google Cloud Functions en Azure Functions bieden al geruime tijd de mogelijkheid gebruik te maken van serverless computing. Zoals de namen al aangeven gaat het voornamelijk om het uitvoeren van functies die vaak heel korte tijd heel vaak gebruikt worden en dan weer enige tijd niet.

Denk aan een Internet of Things-sensor die grote hoeveelheden stromingsdata verzamelt bij een hoge waterstand. Zodra het water zakt en de data zijn opgeslagen is de functie niet meer nodig. Bij het creëren van zo'n serverless function hoeven ontwikkelaars op geen enkele manier rekening te houden met de infrastructuur die nodig is om de functies uit te voeren. Het enige dat moet worden gedefinieerd zijn de triggers waarop de functie moet aanslaan. De clouddienstverlener zorgt dat de benodigde capaciteit beschikbaar is en weer afbouwt zodra de functie niet meer nodig is. De verrekening gaat per milliseconde. En als de functie ongebruikt is, kost het niets.

Nieuwe generatie cloudtoepassingen

Deze Functions as a Service (FaaS)-toepassing van serverless computing is mooi maar erg beperkt, vindt Jonas Bonér, de CTO van Lightbend. Zijn ideaal is dat ontwikkelaars volledige programma's kunnen ontwikkelen die op deze manier gebruik maken van de cloudinfrastructuur. De reden dat die mogelijkheid er nog niet is, ligt in het feit dat de aandacht tot nog toe vooral is uitgegaan naar het automatiseren van de onderliggende infrastructuur om serverless computing te faciliteren. Wat ontbreekt is de set hulpmiddelen die hij beschrijft bij het Cloudstate-project op Github:

What we need support for is:

  • Stateful long-lived virtual addressable components.
  • As discussed by Hellerstein et al: "If the platform pays a cost to create an affinity (e.g. moving data), it should recoup that cost across multiple requests. This motivates the ability for programmers to establish software agents— call them functions, actors, services, etc.— that persist over time in the cloud, with known identities."
  • A wider range of options for coordination and communication patterns (beyond event-based pub-sub over a broker), including fine-grained sharing of state using common patterns like point-to-point, broadcast, aggregation, merging, shuffling, etc.
  • As concluded by Jonas et al: "This limitation also suggests that new variants of serverless computing may be worth exploring, for example naming function instances and allowing direct addressability for access to their internal state (e.g., Actors as a Service)".
  • Tools for managing distributed state reliably at scale—in a durable or ephemeral fashion—with options for consistency ranging from strong to eventual and causal consistency, and ways to physically co-locate code and data while remaining logically separate.
  • As discussed by Hellerstein et al: "The sequential metaphor of procedural programming will not scale to the cloud. Developers need languages that encourage code that works correctly in small, granular units— of both data and computation— that can be easily moved around across time and space."
  • Intelligent adaptive placement of stateful functions—ways to physically co-locate code and data while remaining logically separate.
  • End-to-end correctness and consistency—be able to reason about streaming pipelines and the properties and guarantees it has as a whole.
  • Predictable performance, latency, and throughput—in startup time, communication, coordination, and durable storage/access of data.

Dat wil hij met het CloudState-project aanpakken. CloudState maakt onder meer gebruik van een aantal technologieën zoals KNative dat een brug probeert te slaan tussen containertechnologie en serverless computing, maar ook van gRPC, Akka Cluster and GraalVM op Kubernetes. Het project staat nog in de kinderschoenen maar Bonér zegt dat de basale bouwblokken er al zijn. Met de inzet van de opensourcegemeenschap hoopt hij daar nu snel mee te kunnen doorpakken zegt hij tegen TechCrunch.

Lees meer over Development OP AG Intelligence
Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.