El almacenamiento en la nube, el centro de una guerra de APIs

El almacenamiento en la nube, el centro de una guerra de APIs

Hoy muchas compañías tienen su negocio en la nube y en concreto en sus servicios de almacenamiento de datos. El valor que puedan aportar al mercado es su capacidad de integración con terceros a través de APIs. 

BBVAOpen4U
|
02 Nov. 2017

Amazon, Microsoft, Google, Dropbox, Apple u OpenStack son algunos ejemplos de competidores dentro de ese mercado, pero también hay compañías algo más pequeñas que están haciendo su trabajo con gran talento y valentía: uno de estos casos es, por ejemplo, Box. Para todos ellos, las interfaces de desarrollo de aplicaciones (APIs) son esenciales.

Esto pretende ser un listado de algunas de las APIs dedicadas al almacenamiento en la nube más importantes del mercado. Muchas de ellas coordinan el intercambio de datos entre infraestructuras de sistemas de empresas o usuarios con soluciones y herramientas finalistas que utilizan en su día a día: Amazon para Web Services; Google para sus aplicaciones en la nube; Microsoft para sus herramientas de ofimática; Dropbox para su servicio de almacenamiento para empresas en la nube; Apple para su servicio iCloud (donde los usuarios de sus dispositivos almacenan copias de sus discos duros); u OpenStack para autenticación de usuarios.

1. Amazon S3 API

Amazon S3 (Amazon Simple Storage Service) es la plataforma de la compañía de Jeff Bezos que ofrece almacenamiento en la nube a los desarrolladores y profesionales de infraestructura de sistemas. Amazon S3 suele utilizarse con otros servicios de la empresa como Amazon Elastic Compute Cloud (Amazon EC2), el sistema de computación en la nube para la ejecución de aplicaciones, y AWS Identity and Acces Management (IAM), el sistema de autenticación de usuarios de Amazon.

La API de Amazon S3 aún está disponible para sistemas SOAP, pero la propia compañía recomienda empezar a utilizar lo que será el futuro: o bien la API REST o el SDK para Amazon Web Service. Cuando los desarrolladores hacen solicitudes a Amazon S3, pueden hacerlo como usuarios autenticados o anónimos. Cada una de las solicitudes de los usuarios autenticados se convierte de forma automática en peticiones autenticadas. En el caso de la API REST, cada llamada directamente desde el código crea una firma o credencial válida que va incluida dentro de la petición a esa API. Hacer estas peticiones directamente en código es complicado.

Por esa razón, Amazon S3 propone varias alternativas interesantes para hacer solicitudes con credenciales de autenticación directamente al servicio:

2. Google Storage API

Google dispone de dos APIs destinadas al almacenamiento de información y datos en la nube: tiene una API en formato JSON (Google Cloud Storage JSON API) y otra interfaz de desarrollo de aplicaciones en formato XML (XML API).

Características:

  • Google Cloud Storage JSON API: el buscador dispone de una gran cantidad de bibliotecas que permiten a los desarrolladores trabajar con todas las APIs de la compañía, entre ellas su plataforma de almacenamiento, pero no todas están bien optimizadas para interactuar con la JSON API de Google Storage. Ahora bien, Google Cloud Platform sí dispone de una serie de bibliotecas de cliente que combinan a la perfección con las APIs específicas de almacenamiento de datos en la nube. Sobre todo la API en formato JSON. Estas bibliotecas usan credenciales por defecto que autentican todo el proceso de solicitudes enviadas a la interfaz de desarrollo de aplicaciones.
  • Google Cloud Storage XML API: es una API REST que permite gestionar datos dentro de la nube de Google de manera programática. La API, como toda REST, se basa en el método de peticiones HTTP estándar: POST, HEAD, PUT, GET y DELETE. Una cuestión interesante es cómo Google permite a los usuarios de Amazon S3 migrar todas las aplicaciones que utilizan el servicio de la compañía de Bezos a su plataforma Google Cloud Platform. Para eso sólo es necesario cambiar algunas de las bibliotecas que ya usa el cliente de Amazon, aunque no pueda aprovechar todas las ventajas de Google Storage; o una migración algo más compleja con la incorporación de algunas ventajas mayores como la inclusión de OAuth 2.0 como protocolo de autenticación.

3. iCloudKit de Apple

El iCloudKit de Apple permite a los desarrolladores de aplicaciones acceder a las bases de datos privadas y públicas y ordenar todos los servicios de almacenamiento disponibles para todos los sistemas operativos de la compañía de la manzana. iCloud es la plataforma de almacenamiento de datos e información de Apple para sus usuarios.

iCloudKit facilita a los programadores la creación de aplicaciones nativas que almacenen los datos de usuarios dentro de iCloud. Esto es lo que posibilita que los distintos usuarios de Apple puedan acceder sin problemas a los registros almacenados en la base de datos de una aplicación desde cualquier dispositivo. Por poner un ejemplo, un usuario puede generar nuevos registros dentro de su base de datos como usuario registrado en Apple desde su teléfono iPhone y acceder a esa información sin problemas desde otro dispositivo como un iPad, un Mac o Apple TV. 

4. Dropbox API

Hoy en día, Dropbox cuenta con un gran número de SDKs para integrar su plataforma y servicios con aplicaciones de terceros. Cuenta con Kits de Desarrollo de aplicaciones en varios lenguajes de programación: Swift, Objective-C, Python, .NET, Java, JavaScript y HTTP. Cuando los desarrolladores hacen llamadas a la API de Dropbox, ya por su segunda versión, cada solicitud requiere un nivel determinado de autenticación de clientes. Si el programador que está haciendo las peticiones usa algunos de los SDKs de la compañía, el propio kit se encarga de ese detalle. Ahora bien, si el desarrollador prefiere usar la API de Dropbox a través de llamadas basadas en el método habitual HTTP, es necesario aplicar el tipo de autenticación adecuado para cada endpoint. El protocolo usado por Dropbox es OAuth 2.0. 

5. Box API

Box es una empresa que se dedica a dar servicios relacionados con el contenido y la gestión del almacenamiento de datos en la nube a terceros clientes. Dentro de su sector de negocio, cuenta con APIs REST que facilitan a los desarrolladores todo ese proceso y la integración de sus productos con las plataformas y servicios de otros gigantes como Google, Microsoft, IBM, Salesforce o Apple. Para comenzar a trabajar con Box lo único que es necesario es abrir una cuenta dentro de la plataforma, registrar una clave API y, entonces, empezar a hacer llamadas a la propia interfaz.  

¿Te interesan las APIs financieras? Descubre todas las que te ofrece BBVA

¡Suscríbete!

Recibe nuestro boletín semanal. No te pierdas nuestros trucos, consejos, artículos y los eventos más innovadores.