Mit dem Open Application Model – kurz OAM – einer Spezifikation für cloud-native Programme, will Microsoft einen neuen Standard etablieren. Außerdem bringt der Software-Hersteller DAPR, eine sprach- und framework-agnostische Runtime für Microservices.
Das steckt hinter dem Open Application Model
Kubernetes ist quasi der Standard für die Container-Orchestrierung – in öffentlichen Clouds nimmt die Anzahl Kubernetes-basierter Services stetig zu. In Kubernetes sind Services und Deployment allerdings zwei voneinander getrennte Teile einer Applikation – sie repräsentieren nicht die Anwendung selbst.
Diese Lücke will Microsoft mit seinem in Kooperation mit Alibaba entwickelten Projekt schließen: OAM ist die fehlende Repräsentation der gesamten Anwendung, nicht nur ihres Templates oder der einzelnen Teile, in einem Kubernetes-Cluster. So sollen die beiden Bereiche, nämlich die Erstellung der App, die Sache der Entwickler ist, und das Deployment, das Sache der Betreiber ist, endlich 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 Open Application Model wird für jede einzelne Programmkomponente eine ComponentSchematic-YAML-Datei definiert, die den Workload und alle benötigten Informationen für die Ausführung beschreibt: Zum Beispiel könnte sie Informationen wie ein Container-Image enthalten, ob ein Endpoint notwendig ist, Environment-Variablen oder auch Parameter, die vom Operator beim Deployment ignoriert werden sollen.
Durch diese Trennung sollen Entwickler sich künftig auf Schlüsselelemente ihrer Anwendung konzentrieren können, wodurch ihr Code in der Folge modularer, besser wiederzuverwenden und stabiler werden soll.
Der Unterschied zum Platform-as-a-Service-Modell besteht darin, dass ihr nicht mit Kubernetes arbeiten müsst, wenn ihr nicht wollt. OAM funktioniert plattformunabhängig und ist und nach Belieben erweiterbar. Das zugehörige Repo auf GitHub listet alle weiteren Details dazu. Mit Rudr wurde die OAM-Spezifikation auch gleich einmal implementiert.
Und das steckt hinter DAPR
DAPR ist eine quelloffene, portable, ereignisgesteuerte Laufzeitumgebung, die die Entwicklung robusterer Microservice-Anwendungen, die sowohl in der Cloud, als auch in der sogenannten Edge, also lokal, laufen, erlaubt. Laut Microsoft 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 Informationen findet ihr im entsprechenden Repo auf GitHub.