Cloud storage, at the center of the APIs battle

Cloud storage, at the center of the APIs battle

Many companies today have their business based in the cloud, and in particular their data storage services. For all of them, APIs are essential if they want to win the battle of leadership and business creation. 

BBVAOpen4U
|
21 Mar. 2018

Amazon, Microsoft, Google, Dropbox, Apple and OpenStack are some of the examples of competitors in the market, but there are some smaller companies that are doing their job with great talent and courage; one example of this is Box. For all of them, Application Programming Interfaces (APIs) are essential.

This is intended to be a list of some of the most important cloud-based storage APIs on the market. Many coordinate exchanging data between systems infrastructures of companies or users with final solutions and tools that they use in their day-to-day activities: Amazon for Web Services; Google for its cloud-based applications; Microsoft for its office automation tools; Dropbox for its cloud-based enterprise storage service; Apple for its iCloud service (where users of their devices store copies of their hard drives); or OpenStack for user authentication.

1. Amazon S3 API

Amazon S3 (Amazon Simple Storage Service) is the platform of the company led by Jeff Bezos which offers cloud storage to systems infrastructure developers and professionals. Amazon S3 is often used with the company's other services such as Amazon Elastic Compute Cloud (Amazon EC2), the cloud-based computer system for running applications, and AWS Identity and Access Management (IAM), the Amazon user authentication system.

The Amazon S3 API is still available for SOAP systems, but the company itself recommends to start using what will be the future: either the REST API or the SDK for Amazon Web Service. When developers make requests to Amazon S3, they can do so as authenticated or anonymous users. Each request made by authenticated users automatically becomes an authenticated request. In the case of the REST API, each call directly from the code creates a signature or valid credential that is included in the request to that API. Making these requests directly in code is complicated.

For that reason, Amazon S3 proposes several interesting alternatives to make requests with authentication credentials directly to the service: 

2. Google Storage API

Google provides two APIs for storing cloud-based information and data: it has an API in JSON format (Google Cloud Storage JSON API) and another application development interface in XML format (XML API).

Characteristics:

  • Google Cloud Storage JSON API: the search has a lot of libraries that allow developers to work with all of the company's APIs, including its storage platform, but not all are well optimized to interact with the Google Storage JSON API. Now, Google Cloud Platform does have a number of client libraries that combine perfectly with the specific APIs for cloud-based data storage. Especially the API in JSON format. These libraries use default credentials that authenticate the whole process of requests sent to the application development interface.
  • Google Cloud Storage XML API: is a REST API for managing data within the Google cloud programmatically. The API, like all REST, is based on the method of standard HTTP requests: POST, HEAD, PUT, GET and DELETE. An interesting question is how Google allows users of Amazon S3 to migrate all applications that use the service of Bezos' company to its Google Cloud Platform. For that all that needs to be done is to change some of the libraries that Amazon customers already use, although they cannot take full advantage of Google Storage; or a somewhat more complex migration incorporating some major advantages such as including OAuth 2.0 as an authentication protocol.

3. Apple's iCloudKit

The Apple iCloudKit allows application developers access to databases with private and public data and to sort all available storage services for all of Apple's operating systems. iCloud is the data and information storage platform for Apple users.

iCloudKit makes it easier for programmers to create native applications that store user data in iCloud. This is what enables different Apple users to seamlessly access the records stored in the database of an application from any device. As an example, users can generate new records in their database as registered users on Apple from their iPhone and access that information seamlessly from another device such as an iPad, a Mac or Apple TV. 

4. Dropbox API

Today, Dropbox has a large number of SDKs to integrate its platform and services with third-party applications. It has Development Kits of applications in various programming languages: Swift, Objective-C, Python, .NET, Java, JavaScript and HTTP. When developers make calls to the Dropbox API, now in its second version, each application requires a certain level of client authentication. If the programmer who is making requests using some of the company's SDKs, the kit itself is responsible for that detail. Now, if the developer prefers to use the Dropbox API through calls based on the usual HTTP method, you need to apply the appropriate authentication type for each endpoint. The protocol used by Dropbox is OAuth 2.0. 

5. Box API

Box is a company that provides services related to the content and management of cloud-based data storage to third-party customers. Within its business sector, it features REST APIs that facilitate the whole process for developers and the integration of its products with the platforms and services of other giants like Google, Microsoft, IBM, Salesforce or Apple. To begin working with Box all you need to do is open an account within the platform, register an API key and then start making calls to the interface itself.  

Are you interested in financial APIs? Discover all the APIs we can offer you at BBVA

 

Sign up!

Sign up to the BBVAOPEN4U newsletter and receive tips, tools and the most innovative events directly in your inbox.