Visst är serverlösa funktioner på tjänster som Amazons Lambda och Microsofts Azure Functions lockande. Man slipper administrera servrar och betalar bara när kod körs.

Men det finns ett problem, nämligen risken att låsa in sig i en leverantörs tjänst. Är det ens möjligt att flytta funktioner byggda i Lambda till Azure Functions, eller till Googles, IBM:s eller Oracles tjänster för serverlösa funktioner?

Men det finns hopp. Det kanske i alla fall kan bli enklare med flyttbarhet och därigenom mindre risk för inlåsning. Och det blir kanske framför allt kan bli enklare att bygga lösningar som är helt eller delvis baserade på serverlösa funktioner. Allt detta tack vare en ny standard som heter Cloudevents.

Läs också: Vi frågade fem tunga utvecklare: vad är nästa stora grej?

Vi tar det från början. Grundstenen i lösningar sopm bygger på serverlösa funktioner är händelser (events). När olika händelser inträffar körs funktioner. För att det ska fungera krävs kod som identifierar händelser och som anropar funktioner.

Problemet är att händelser och data som hör till dem inte är standardiserade. Det medför två principiella problem:

1. Kod som fungerar med en tjänst för serverlösa funktioner fungerar inte med en annan.

2. En applikation som hanterar händelser från flera källor behöver ha specialskriven kod för varje källa.

Det gör att applikationer blir onödigt komplexa, vilket innebär att det tar längre tid att bygga dem och att de blir mer felbenägna. Det blir helt enkelt struligt.

Hur ska man lösa det här? Jo, med en standard för hur händelser ska beskrivas och det är precis det som är syftet med Cloudevents.

Vad är det som specificeras i Cloudevent? Till exempel händelsetyp, källa, ID och tidsstämpel. Vidare kan man ha med användardata och även länkar till ytterligare data.

Läs också: Tre skäl till att din kod är långsam – och hur du löser problemen

Finns det någon chans att den här lösningen ska lyckas? Det som talar för det är att ledande leverantörer som Microsoft, Red Hat, Google och Amazon engagerar sig och att arbetet administreras av Cloud Native Computing Foundation.

Redan nu finns det en del stöd för den nya standarden för den som vill experimentera, till exempel i Azure Functions. Det handlar om förhandsversioner, men känns ändå lovande.

Om man tror på serverlösa funktioner som en viktig byggsten i framtida applikationer och tjänster bör man hålla tummarna för att Cloudevents ska lyfta.