Cloud-Computing: Microsoft passt Azure-SDKs an
Dank neuer Richtlinien und Standards sollen die SDKs sich besser in die jeweilige Programmiersprache integrieren lassen.
Microsoft hat neue Libraries für einige Cloud-Dienste veröffentlicht: Für Azure Storage, Azure Cosmos DB, Azure Key Vault und Azure Event Hubs existieren jeweils neue Bibliotheken für Java, Python, .NET und JavaScript beziehungsweise TypeScript.
Dass sie Zugriff auf einige neue Servicefunktionen enthalten ist dabei weniger interessant, als dass sie einen Paradigmenwechsel einläuten, der sich über alle Azure-SDKs (Software Development Kits) fortsetzen soll. Die Libraries richten sich nach neuen Standards, die Microsoft für das Erstellen von Azure-SDKs aufgestellt hat. Das erklärte Ziel ist, dass Entwickler die Bibliotheken zum Zugriff auf die Cloud-Plattform einfacher in Anwendungen über ihre jeweilige Programmiersprache einbinden können.
Richtlinien fĂĽr das SDK-Design
Die Azure SDK Design Guidelines sind öffentlich verfügbar. Neben den allgemeinen Vorgaben, gibt es angepasste Varianten für Java, TypeScript, Python und .NET. Die Richtlinien für die einzelnen Programmiersprachen haben derzeit noch Preview-Status, während die allgemeinen, die das Gerüst für die spezifischen vorgeben, in Version 1.0.0 existieren.
Ein wichtiger Punkt ist, dass die sprachspezifischen SDKs den Konventionen der jeweiligen Programmiersprache folgen sollen, damit Entwickler sie wie andere Libraries in ihre Anwendungen einbinden können. Dabei will Microsoft das jeweilige Ökosystem mit seinen Stärken und Schwächen berücksichtigen und sich aktiv an dessen Verbesserung beteiligen.
Wenn möglich sollen die SDKs sowohl konsistent zur jeweiligen Programmiersprache, als auch über alle Sprachen sowie zum einzelnen Dienst ausgelegt sein. In Konfliktfällen hat die Konsistenz zur Sprache die höchste Priorität. Außerdem strebt Microsoft eine Feature-Parität über alle Programmiersprachen an.
Vieles muss, manches kann, anderes darf nicht
Eine große Rolle spielt zudem die Rückwärtskompatibilität: "99,99 Prozent der Features und Verbesserungen sind nicht die Zeit wert, die Anwender darauf verwenden müssen, um auf Breaking Changes zu reagieren". Die Richtlinien enthalten allgemeine, durch Icons hervorgehobene Vorgaben, welche Anforderungen für eine Library umgesetzt werden müssen, sollen, können beziehungsweise was beim Umsetzen nicht geschehen darf oder soll.
Als allgemeine Richtlinie gilt, dass alle Libraries als Open-Source-Projekte auf GitHub verfĂĽgbar sind und fĂĽr alle vier genannten Programmiersprachen jeweils genau ein Repository existiert. Auch wenn der Code auf GitHub stehen muss, ist die Entwicklung auf der Plattform gewĂĽnscht, aber nicht unverzichtbar.
Ein Blick in die angepassten Richtlinien zeigt unter anderem, dass Azure-SDK-Bibliotheken für .NET sich für Entwickler so anfühlen sollen, als seien sie Teil der .NET Standard Library. Bei den Java-Richtlinien spielt die Plattformunabhängigkeit eine große Rolle: Beispielanwendungen sollen unter Linux, Windows und macOS getestet sein. Außerdem soll das SDK nur dort plattformspezifischen Code verwenden, wo er sich nicht vermeiden lässt.
Weitere Details zu den nun veröffentlichten SDKs und den neuen Standards lassen sich dem Azure-Blog entnehmen. Für die sprachspezifischen Bibliotheken, die alle noch Preview-Status haben, existieren zudem Release Notes für Python, Java, JavaScript und .NET. (rme)