Sergey Nivens - stock.adobe.com
Der Nutzen und die Einsatzgebiete von Cloud Storage APIs
Storage Services beruhen heute weitgehend auf APIs für Storage Management, zum Beispiel bei Datenbanken, Data Lakes und Data Warehouses.
Man kann durchaus behaupten, dass die gegenwärtige Welt des Internets auf der Basis von Application Programming Interfaces (APIs) gebaut ist – oder, genauer, auf Web-APIs, die einer Internetanwendung den Zugang zu Services und Informationen von überall her erlauben.
Ein beträchtlicher Anteil der Inhalte im Web beruht auf dieser Kombination von Daten aus verschiedenen Online-Quellen. Vor langer Zeit wurden sie „Mashups“ genannt, und die Leute bejubelten das als „Internet 2.0“. Aber solche Übertreibungen sind nun verschwunden, und der Einsatz von APIs gehört ganz einfach zu der Welt der gegenwärtigen IT.
Im Folgenden betrachten wir genauer APIs für Storage-Management, die Entwickler für die Bereitstellung von Storage Services für webzentrische Anwendungen verwenden können.
Was ist ein Storage API?
Es gibt möglicherweise eine gewisse Zweideutigkeit darüber, was mit einer Storage API gemeint ist. Das hängt ganz grundsätzlich betrachtet damit zusammen, dass eine API nur ein Stück Code ist, mit dem sich ein Softwareelement mit einem anderen verbinden lässt.
Wenn wir über Storage APIs sprechen, könnte das zum Beispiel APIs umfassen, die ein Hersteller von Storage-Arrays zur Verfügung stellt, um Monitoring und Kontrolle seiner Produkte für Software von Entwicklern zu garantieren. Wir könnten auch über die Entwicklung von Web-Schnittstellen für lokalen Speicher sprechen, die es browserbasierten Anwendungen erlauben, Daten lokal vorzuhalten – was unter Sicherheitsgesichtspunkten dubios erscheinen mag.
Aber darum soll es hier nicht gehen. Stattdessen werden wir APIs näher betrachten, die Storage oder Storage Services (Datenbanken, Data Lakes, Data Warehouses) von Drittanbietern zur Verfügung stellen, mit denen sich Entwickler über APIs verbinden können, die in den Code von Applikationen geschrieben sind.
Welche Arten von Speicher-APIs gibt es?
Speicher-APIs können in folgende Bereiche aufgegliedert werden:
- APIs, die sich verbinden mit Services für Cloud-File-Synchronisierung und für verschiedene Laufwerke sowie für Produktivitätsanwendungen wie zum Beispiel Google Workspace oder Microsoft 365 über ihre Graph APIs.
- APIs, die sich mit Web-Anwendungen zu Storage Services von Cloud Providern verbinden.
- APIs, die den Einsatz von Cloud-bezogenen Services wie zum Beispiel Datenbanken, Data Lakes und Data Warehouses erlauben.
Welche Anwendungsfälle gibt es für Storage APIs?
Die Gruppen, über die wir hier sprechen, passen wahrscheinlich eher zu wachsenden und kleinen oder mittelgroßen Unternehmen (KMUs), falls sie API-Connectivity für Services zur Steigerung von Storage- und Produktivitätsanwendungen benutzen. Aber auch andere Anwendungsfälle sind möglich.
Wenn wir von der Verbindung zu solchen Services sprechen, geht es wirklich um die Fähigkeit, Daten zu erzeugen, zu lesen, zu aktualisieren und zu löschen (Create, Read, Update and Delete oder CRUD) – in der Regel mit HTTP-Methoden wie Get, Post oder Put. Zu Beginn ist es möglich, sich mit Services wie zum Beispiel Google Workspace oder Microsoft 365 zu verbinden, um Zugang zu Dateien, Tabellen, E-Mail, Dokumenten, Kalender oder Analytics zu erhalten.
Außerdem ist es möglich, sich mit dem Storage-Angebot von Cloud Providern – in der Regel Object Storage – über APIs zu verbinden, um Daten entsprechend der Planung zu verwenden und zu verändern.
Auf der Seite der Unternehmen gibt es auch eine große Bandbreite an per API zugänglichen Datenservices. Diese umfassen Datenbanken (SQL und NoSQL) sowie höherwertige Serviceschichten, die sich oft darauf stützen, wie zum Beispiel Data Lakes und Data Warehousing.
Wer stellt Storage APIs zur Verfügung und was kosten sie?
Box und Dropbox stellen APIs zur Verfügung, die zahlreiche HTTP-basierte Datenberechnungen in ihren Systemen erlauben und darüber hinaus Entwicklern ermöglichen, sie in Anwendungen einzubauen. Diese offerieren diverse Möglichkeiten, Dateien und Metadaten zu verändern und Dateien zu organisieren. Der Zugang zu ihnen und die Entwicklung weiterer Objekte unter Benutzung ihrer APIs ist unter Beachtung bestimmter Kapazitätsgrenzen möglich.
Microsoft Graph ist die API-Entwickler-Plattform, mit der man Zugang zu einer breiten Palette von Microsoft-Produkten bekommt. Der Hersteller bietet Entwicklern einen freien 365-Account. Darüber hinaus beruhen die Kosten auf der Anzahl der in Anspruch genommenen Graph-Objekte, zum gegenwärtigen Zeitpunkt sind das 0,375 Dollar für 1.000 Objekte.
Google Workspace (früher G-Suite) bietet API-Zugang zu sehr vielen Produktivitätsanwendungen von Google und darüber hinaus. Dazu gehören E-Mail, Kalender und Tabellen als eine rudimentäre Form von Datenbanken. Es gibt eine freie Version zum Ausprobieren, aber nur für 14 Tage.
Die Speicherkapazität der führenden Cloud-Provider – Amazon Web Services (AWS), Microsoft Azure und Google Cloud – ist im Wesentlichen API-gestützt, mit Rest- HTTP-Kommandos, die für den Zugang zur Kapazität von Cloud Storage genutzt werden. Zugang zu den Angeboten für Object Storage der Hyperscaler – wie zum Beispiel Amazon S3 und Azure Blob – geschieht über die bekannten API-Methoden für CRUD-Maßnahmen.
Oft werden diese von Anwendungen in Anspruch genommen, die in der Cloud laufen, aber das muss nicht so sein, und APIs stellen einen Zugang zu Storage für Anwendungen bereit, die an einem beliebigen Standort laufen.
Datenbank-Services werden ebenfalls über APIs angesteuert – zum Beispiel die AWS-Datenbanken RDS (SQL) und DynamoDB (NoSQL). Es gibt außerdem die entsprechenden Gegenstücke SQL Database und Cosmos DB von Azure und Cloud SQL und Datastore NoSQL von Google.
Zusätzlich kann man auch ähnliche Datenbanken wie MongoDB, Scylla und PostgreSQL in den drei großen Clouds laufen lassen.
Bei allen diesen Cloud-Datenbanken ist der Zugang über APIs möglich. Alle Cloud Provider bieten einen freien Zugang an, aber nur für mittelständische und für Entwickleranwendungsfälle.
Des Weiteren gibt es sogenannte Cloud Point Database Solutions – manchmal als DBaaS bezeichnet –, die in der Regel NoSQL-Datenbanken sind. Zu ihnen gehören zum Beispiel Fauna, DataStax, Couchbase und Atlas von MongoDB.
Darüber hinaus gibt es komplexere Datenspeicher- und Datenbanklösungen wie Data Lakes und Data Warehouses, die über APIs zugänglich sind und die bei den großen drei Hyperscalern verfügbar sind. Zu ihnen gehören die Data-Warehouse-Angebote Azure Data Lake, Amazon Redshift und Google BigQuery.