Distributed Application Runtime
18.02.2021, 10:11 Uhr
Dapr v1.0 ist produktionsreif
Dapr steht für Distributed Application Runtime, eine quelloffene, portable, ereignisgesteuerte Runtime, die es Entwicklern erleichtern soll, belastbare, Microservice-, zustandslose und zustandsbehaftete Anwendungen zu erstellen, die in der Cloud und am Edge laufen.
Dapr soll Entwicklern erlauben, sich auf das Schreiben von Geschäftslogik zu konzentrieren und nicht auf das Lösen von Problemen mit verteilten Systemen, wodurch ihre Produktivität erheblich gesteigert und die Entwicklungszeit reduziert wird. Dapr senkt somit die Einstiegshürde, um moderne Cloud-native Anwendungen auf Basis einer Microservices-Architektur zu erstellen. Mit dem nun verfügbaren Release 1.0 können Dapr-Anwendungen in selbst gehosteten Infrastrukturen oder Kubernetes-Clustern in Produktionsszenarien bereitgestellt werden.
Seit dem ersten Release im Oktober 2019 hat Dapr 14 Releases erlebt, wobei jedes einzelne auf dem enormen Feedback der Community und der Nutzer aufbaute, um Verbesserungen, Stabilität und Leistung voranzutreiben. Diese Releases basierten auf dem Aufbau realer Anwendungen, die widerspiegeln, was Entwickler heute bei der Entwicklung von Cloud-nativen Anwendungen tun; egal ob in der Cloud, Edge- oder privaten Infrastruktur, und mit der Community, die Dapr-Komponenten beisteuert, die sich in Azure, AWS, Alibaba und Google Clouds integrieren.
Seit seiner Gründung richtet sich das Open-Source-Projekt Dapr an Entwickler, die neue Anwendungen auf der grünen Wiese erstellen, sowie an diejenigen, die bestehende Anwendungen und Komponenten in Cloud-native Architekturen migrieren und nutzen. Der Schlüssel zum Ansatz von Dapr ist es, Entwickler und Unternehmen dort abzuholen, wo sie sich heute befinden, und ihnen zu helfen, ihre Anwendungen zu modernisieren und ihre vorhandenen Fähigkeiten in Cloud-nativen und Micro-Services-Architekturen zu nutzen.
In der Version v1.0 hat sich das Entwicklerteam auf Kubernetes als primäre Hosting-Umgebung für die Ausführung von Produktionsanwendungen konzentriert, und mit der weiteren Reifung von Dapr erwartet es, dass Dapr auch in serverlosen Umgebungen zum Einsatz kommt. Dafür wurde in den letzten anderthalb Jahren eng mit Early Adopters und Partnern zusammengearbeitet, und als Ergebnis ist Dapr nun das Herzstück mehrerer Kubernetes-basierter Produktions- und Vorproduktionsanwendungen. Auf dieser anwendergesteuerten Reise hat die Dapr-Community die nativen Spracherfahrungen der Java-, .NET- und Python-SDKs verbessert, Skalierung und Leistung mit echten Workloads getestet, Sicherheitsfunktionen hinzugefügt und gezeigt, dass das Actor-Programmiermodell von Dapr für Workflow- und IoT-Szenarien taugt.
Einer der Early Adopter ist ZEISS. Die Herausforderung für ZEISS bestand darin, ein 20 Jahre altes Backend-System mit fest kodierten Geschäftsregeln zu pflegen und zu aktualisieren. Die ursprüngliche Lösung zur Auftragsvalidierung und -weiterleitung basierte auf einer monolithischen Architektur mit festen Kapazitäten, bei der die Entwickler Aufträge nicht einfach aktualisieren, umleiten oder verfolgen konnten, ohne Tabellen direkt im System neu zu konfigurieren. Außerdem hatten die Geschäftsbereiche keine direkte Kontrolle über den Ablauf ihrer Auftragsabwicklung. Bei so vielen Systemabhängigkeiten erforderten Änderungen immer kostspielige und zeitaufwändige Eingriffe der Entwickler. Um dies zu überwinden, entwickelte ZEISS eine neue Anwendung unter Verwendung von Azure und Dapr, um die Aufträge der Kunden schneller zu erfüllen und gleichzeitig die Entwicklung zu beschleunigen und die Geschäftskontinuität des Unternehmens zu verbessern. Mehr über ihre Geschichte können Sie hier lesen.
Mehr über Dapr finden Sie unter https://dapr.io/ sowie in diesem Blogbeitrag.