carloscastilla - Fotolia
It could be argued that the contemporary world of the web is built on application programming interfaces (APIs) – or, more specifically, web APIs that allow a web application to access services and information from elsewhere.
An enormous amount of web content is based around this combining of data from different online sources. A long time ago, they were called “mashups” and people hailed it “Internet 2.0”. But such silliness has now receded, and the use of APIs is simply part of the fabric of contemporary IT.
Here, we look at storage management APIs that developers can use to provide storage services for web-centric applications.
What is a storage API?
There’s potentially some ambiguity over what is meant by storage APIs. That’s because, in the most fundamental terms, an API is just some code that allows one piece of software to connect to another.
For example, if we talk about “storage APIs”, that could include APIs provided by a storage array maker to expose monitoring and control of their products to software written by developers. We could also be talking about the localStorage web development interface that allows browser-based applications to retain data locally, and which is considered sketchy from a security point of view.
But that’s not what we’ll focus on here. Instead, we’ll be looking at the APIs that provide third-party storage or storage services (database, data lake, data warehouse) that developers can connect to via APIs written into application code.
What kinds of storage APIs are there?
Storage APIs can be categorised into a number of areas, including:
- APIs that connect to cloud file sync and drive-type services and productivity apps such as Google Workspace or Microsoft 365 via its Graph APIs.
- APIs to connect web apps to cloud providers’ storage services.
- APIs that allow the use of storage-related services such as databases, data lakes and data warehouses.
What use cases are there for storage APIs?
The categories we’re going to talk about here can probably be defined as more suited to smaller-scale and small and medium-sized enterprise (SME) scenarios – in the case of API connectivity to drive storage and productivity app connected services – and everything else.
At the entry level, it is possible to connect to services such as Google Workspace or Microsoft 365 to access files, spreadsheets, email, documents, calendars, analytics, and so on.
Beyond that, it is possible to connect to cloud providers’ storage capacity – usually object storage – via APIs to use and manipulate data according to the scenario.
At the enterprise end of things, there is also a wide range of data services accessible via API. These include databases (SQL and NoSQL) as well as higher-level layers of service often based on these, such as data lakes and data warehousing.
Who provides storage APIs and what do they cost?
Box and Dropbox make APIs available to allow numerous HTTP-based CRUD operations on data held in their systems and for developers to incorporate into applications. These allow a range of ways to manipulate files and metadata and to organise files. Access to them and development using their APIs is free below certain capacity limits.
Microsoft Graph is the developer’s API platform that can access a wide range of Microsoft products. The company offers developers a free 365 account. Beyond that, costs are based around the number of Graph objects accessed, with the cost at the time of writing $0.375 per 1,000 objects.
Google Workspace (formerly G-Suite) offers API access to a wide range of its productivity apps and beyond. These include access to email, calendars and to spreadsheets as a rudimentary form of database. There is a free trial subscription, but this only lasts 14 days.
The storage capacity of the key cloud providers – Amazon Web Services (AWS), Microsoft Azure and Google Cloud – are essentially API-based, with Rest and HTTP commands used to access cloud storage capacity. Access to the hyperscalers’ object storage offerings – such as Amazon S3 and Azure Blob – are via familiar API methods for CRUD operations.
Often, these will be accessed by applications running in the cloud, but they need not be, and APIs provide a way to expose storage to applications running elsewhere.
Database services are also accessed via APIs, such as AWS’s RDS (SQL) and DynamoDB (NoSQL) databases. There are also Azure’s SQL Database and Cosmos DB, and Google’s Cloud SQL and Datastore NoSQL counterparts.
In addition, you can run the likes of MongoDB, Scylla and PostGreSQL in the big three’s clouds.
With all these cloud databases, access can be via API. All the cloud providers have a free tier, but for small-scale and developer use cases.
Something more like cloud point database solutions – sometimes styled DBaaS – (and usually NoSQL) are available from the likes of Fauna, DataStax, Couchbase and MongoDB’s Atlas.
Beyond this, yet more complex data storage and database solutions – such as data lakes and data warehouses – are accessible via API and available from the big three. These include Azure Data Lake, Amazon Redshift and Google BigQuery data warehouse offerings.