Microsoft lanceert opensource-projecten voor Kubernetes en microservices

Microsoft lanceert twee nieuwe opensourceprojecten: Dapr, een portable, event-gestuurde runtime die een deel van complexiteit van het bouwen van microservices wegneemt en het Open Application Model (OAM), een specificatie waarmee ontwikkelaars de bronnen kunnen definiëren die hun applicaties nodig hebben om op Kubernetes-clusters te draaien.

De softwarereus ontwikkelde het Open Application Model in samenwerking met Alibaba Cloud, dat een beheerde service op basis van OAM lanceert. Volgens Mark Russinovich, CTO van Microsoft Azure, is Microsoft bereid in de loop van de tijd hetzelfde te doen, aldus TechCrunch. Er zouden plannen zijn om OAM op termijn in een opensource foundation onder te brengen.

OAM

“Als je alleen naar het ecosysteem van Kubernetes kijkt, heeft Kubernetes geen concept van een applicatie. Het heeft het concept van een implementatie en service, maar er is niets samenhangend aan verbonden”, zegt Russinovich, die laat weten dat OAM problemen oplost waar veel ontwikkelaars en ops-teams dagelijks mee worden geconfronteerd.

Ondanks dat Kubernetes beschikt over Helm charts is er volgens de CTO toch een eersteklas applicatieconcept in een Kubernetes-cluster nodig. Reden daarvoor is dat als een applicatie eenmaal is geïmplementeerd, Kubernetes verder helemaal niks afweet van de onderlinge relatie.

Russinovich beweert dat Kubernetes vooralsnog te ingewikkeld is voor enterprise-ontwikkelaars. “Op dit moment is het echt infrastructuurgericht. Je wilt dat een ontwikkelaar zich focust op de app, maar wat wij opmerkten toen we met Kubernetes-leveranciers praatten, is dat ze ontwikkelaars niet eens in de buurt laten komen van Kubernetes.”

Vandaar dat Microsoft met OAM op de proppen kwam. Het is in wezen een YAML-bestand, kan in een servicecatalogus of marktplaats worden geplaatst en van daaruit worden geïmplementeerd. Dat maakt het voor een ontwikkelaar mogelijk om de specificatie aan het ops-team te overhandigen en het ops-team kan vervolgens implementeren zonder met de ontwikkelaar te hoeven praten.

Dapr

Dapr, het tweede nieuwe opensourceproject, wordt door de CTO omschreven als “behoorlijk revolutionair”.

“Als je naar Dapr kijkt, gaat het microservices en cloud-native ontwikkeling toegankelijk maken voor de onderneming”, aldus Russinovich. Microsoft omschrijft Dapr als “een opensource, portable, event-gedreven runtime die het voor ontwikkelaars gemakkelijk maakt om veerkrachtige, state-of-the-art applicaties op de cloud en edge te bouwen.” 

Het komt er eigenlijk op neer dat Dapr het voor ontwikkelaars eenvoudiger maakt om gedistribueerde, op microservices gebaseerde applicaties te schrijven. Russinovich: “Als je de lijst met problemen bekijkt waar ontwikkelaars mee te maken krijgen, zullen ze event-driven worden, dus moeten ze dingen beheren zoals events en reageren op triggers. Ze willen dat de microservices met elkaar communiceren, dus moeten ze ‘pub/sub’ uitvoeren. Bovendien moeten ontwikkelaars service-ontdekkingen doen, ze vragen zich af hoe ze een service van de ene microservices naar de ander krijgen. Verder moeten ze zich ook bezighouden met state management, zich afvragen hoe een microservice een staat opslaat en deze vervolgens weer kan terugvinden.”

Gescheiden applicatiecode

Afhankelijk van of ze te maken hebben met een zogeheten stateless of stateful app, moeten ontwikkelaars ook nog eens werken met verschillende SDK’s en programmeermodellen.

Daar komt de eenvoud van Dapr om de hoek kijken, deze app heeft namelijk geen SDK nodig, omdat het zijn diensten levert via een lokaal HTTP- of GPR-eindpunt. Hierdoor wordt de applicatiecode gescheiden van de Dapr-code, wat Dapr onafhankelijk maakt van de programmeertaal waarin een ontwikkelaar schrijft. Dapr biedt de bouwstenen die toegankelijk zijn via HTTP of gRPC API’s en die best practices coderen voor het bouwen van gedistribueerde services.