Microsoft lanciert neue Open-Source-Vorhaben (Logo: Microsoft)

Mit "DAPR" und "OAM" (Open Application Model) hat der US-Softwareriese Microsoft zwei neuen Open-Source-Projekte angekündigt. Letzteres, eine Spezifikation für cloud-native Programme, soll nach dem Willen der Redmonder zum neuen Standard der Anwendungsentwicklung auf Kubernetes und anderen Plattformen werden.

Bei Kubernetes handelt es sich quasi um den Standard für die Container-Orchestrierung. In öffentlichen Clouds steigt die Anzahl Kubernetes-basierter Services ständig an. In Kubernetes sind Services und Deployment allerdings zwei voneinander getrennte Teile einer Applikation – sie repräsentieren nicht die Anwendung selbst. Genau diese Lücke will der Windows-Konzern nun mit seinem in Kooperation mit Alibaba entwickelten OAM-Projekt schliessen. Die beiden Bereiche, nämlich die Erstellung der App, die Sache der Entwickler ist, und das Deployment, das Sache der Betreiber ist, sollen demnach künftig sauber getrennt werden können. Nach dem Entwickeln und Testen einer App sollen Entwickler operationelle Aufgaben mit OAM zukünftig getrost den Betreibern, ob Mensch oder Maschine, überlassen können: Der Entwicklungsprozess soll so quasi "serverless" werden.

Im vorgestellten "Open Application Model" soll für jede einzelne Programmkomponente eine Componentschematic-YAML-Datei definiert werden, die den Workload und alle benötigten Informationen für die Ausführung beschreibt. Sie könnte beispielsweise Informationen wie ein Container-Image enthalten, ob ein Endpoint notwendig ist, Environment-Variablen oder auch Parameter, die vom Operator beim Deployment ignoriert werden sollen.

Die Entwickler sollen sich durch diese Trennung fortan auf Schlüsselelemente ihrer Anwendung konzentrieren können, wodurch ihr Code in der Folge modularer, besser wiederzuverwenden und stabiler werde, so Microsoft. Der Unterschied zum Platform-as-a-Service-Modell besteht demnach darin, dass man nicht mit Kubernetes arbeiten muss, wenn man nicht will. OAM funktioniert plattformunabhängig und ist nach Belieben erweiterbar. Das zugehörige Repo auf Github (https://github.com/oam-dev/spec/blob/master/introduction.md) listet alle weiteren Details dazu.

DAPR wiederum stellt eine quelloffene, portable, ereignisgesteuerte Laufzeitumgebung dar, welche die Entwicklung robusterer Microservice-Anwendungen, die sowohl in der Cloud, als auch in der sogenannten Edge, also lokal, laufen, gewährleistet. Gemäss den Microsoft-Angaben ist DAPR sowohl sprach- als auch framework-agnostisch. Die einzelnen Bausteine von DAPR können losgelöst vom Rest der Anwendung verwendet werden. Der Zugriff erfolgt über gRPC- bzw. Standard-HTTP-APIs. Noch befindet sich DAPR in der Alpha-Phase. Weitere Infos: https://github.com/dapr/dapr