Microsoft lanceert ‘Dapr’ en ‘Open Application Model’ en helpt ontwikkeling rond Kubernetes en microservices
Microsoft heeft twee interessante, praktische en nog belangrijker open-sourceprojecten gelanceerd. De eerste is Dapr, een gebeurtenisgestuurde runtime die bedoeld is om het bouwen van microservices te vereenvoudigen, en de tweede is 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 OAM-specificatie lijkt te zijn ontwikkeld in samenwerking met Alibaba Cloud.
Hoewel de nieuwe open-sourceprojecten onafhankelijk van elkaar lijken, zijn ze bedoeld om het proces voor het maken van applicaties op een complex Kubernetes-ecosysteem te verbeteren en de samenwerking tussen ontwikkelaars en het operationele team te verbeteren, merkte Microsoft Azure CTO Mark Russinovich op: "OAM lost een probleem in hoge mate op waar veel ontwikkelaars en ops-teams elke dag mee te maken hebben. Als je alleen naar het Kubernetes-ecosysteem kijkt, heeft Kubernetes geen concept van een applicatie. Het heeft het concept van implementatie en services, maar niets dat deze dingen coherent met elkaar verbindt tot één eenheid en implementatielevenscyclus die een ontwikkelaar zou begrijpen in de manier waarop ze naar hun applicaties kijken. "
Dapr Runtime maakt het voor ontwikkelaars gemakkelijk om sneller microservices te bouwen:
Microsoft beschrijft Dapr als een "open-source, draagbare, gebeurtenisgestuurde runtime die het voor ontwikkelaars gemakkelijk maakt om veerkrachtige, stateless en stateful applicaties voor microservices te bouwen die in de cloud en edge worden uitgevoerd." Wat dit in wezen betekent, is dat Dapr bedoeld is om het creëren van gedistribueerde, op microservices gebaseerde applicaties te vereenvoudigen.
De meeste problemen waar ontwikkelaars vaak tegenaan lopen, hebben te maken met gebeurtenisgestuurde behoeften. Ze moeten zaken als gebeurtenissen beheren en reageren op triggers. Communicatie tussen meerdere microservices vereist momenteel het gebruik van pub / sub. Bovendien moeten ontwikkelaars zowel “Service Discovery” als “State Management” uitvoeren. Deze twee gevallen hebben betrekking op verschillende parameters. Bovendien moeten ontwikkelaars, afhankelijk van of het een stateless of stateful app is, met verschillende SDK's en programmeermodellen werken.
Microsoft Dapr lijkt een revolutionaire nieuwe benadering te zijn om de problemen aan te pakken waarmee ontwikkelaars momenteel worden geconfronteerd. Dapr laat een Software Development Kit of SDK achterwege en levert in plaats daarvan zijn services via een lokaal HTTP- of gRPC-eindpunt. Deze methode houdt de applicatiecode effectief gescheiden van de Dapr-code. In wezen blijft Dapr volledig onafhankelijk van de taal die ontwikkelaars hebben gebruikt. De Dapr-runtime is een vereenvoudigde methodologie die alle noodzakelijke en relevante bouwstenen biedt. Onnodig toe te voegen, dit codeert voor best practices voor het bouwen van gedistribueerde services.
Microsoft OAM is een eersteklas applicatieconcept in een Kubernetes-cluster:
OAM is in wezen een YAML-bestand. Het kan in een servicecatalogus of marktplaats worden geplaatst en van daaruit worden geïmplementeerd. Het beste aspect van de OAM is echter dat ontwikkelaars de specificaties eenvoudig kunnen overhandigen aan het operationele team, en dat laatste kan hetzelfde implementeren zonder de ontwikkelaar te raadplegen of terug te verwijzen naar de ontwikkelaar. Microsoft beweert dat Kubernetes, in zijn huidige iteratie, nogal gecompliceerd is voor ontwikkelaars die dat willen werken in het zakelijke segment.
Kubernetes is inderdaad een vrij complex infrastructuurgericht en gefocust platform. Ontwikkelaars moeten zich daarentegen op de app concentreren. Meestal zijn bedrijven behoorlijk beschermend over hun Kubernetes en laten ze ontwikkelaars niet naar binnen kijken of hetzelfde als referentie gebruiken. OAM fungeert in wezen als een brug en een opvuller voor ontwikkelaars en het operationele team.
De OAM van Microsoft lijkt te zijn ontwikkeld in samenwerking met Alibaba Cloud, de eigen cloudhosting- en servicetak van de Chinese e-commerce-gigant. Beide technische giganten hebben naar verluidt in het verleden aan nogal wat projecten samengewerkt en OAM is naar verluidt het resultaat van de samenwerking. OAM is kennelijk ontwikkeld omdat beide bedrijven dezelfde problemen tegenkwamen toen ze met hun klanten en interne teams spraken. Het lijkt erop dat de samenwerking tussen Microsoft en Alibaba Cloud binnenkort een uniforme specificatie kan lanceren in een open-sourcebasis. Uit rapporten blijkt zelfs dat Alibaba Cloud binnenkort een beheerde service op basis van OAM zou kunnen lanceren, en dat Microsoft zou kunnen volgen, mogelijk afhankelijk van het tempo van acceptatie van de zojuist gelanceerde Microsoft OAM-specificatie.