El almacenamiento en la nube, el centro de una guerra de APIs
El almacenamiento y el ofrecimiento de productos y servicios en la nube se ha convertido en un escenario de batalla por el liderazgo en el mercado y la creación de nuevas oportunidades de negocio. Son cada vez más las compañías que tienen su negocio en la nube.
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; 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:
SDK de Amazon Web Services: los clientes del SDK acceden mediante un servicio de claves que ya autentica el proceso posterior.
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.
Banco Bilbao Vizcaya Argentaria, S.A. titular de este portal utiliza cookies y/o tecnologías similares propias y de terceros para fines técnicos, de personalización, analíticos, de publicidad comportamental o publicidad relacionada con tus preferencias sobre la base de un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas). Si deseas obtener información más detallada, consulta nuestra Política de Cookies.
Panel de configuración de cookies
Este es el configurador avanzado de cookies propias y de terceros. Aquí puedes modificar parámetros que afectarán directamente a tu experiencia de navegación en esta web.
Cookies técnicas (necesarias)
Estas cookies son importantes para darte acceso seguro a zonas con información personal o para reconocerte cuando inicias sesión.
Denominación
Titular
Duración
Finalidad
gobp.lang
BBVA
1 mes
Preferencia de idioma
aceptarCookies
BBVA
1 año
Configuración Cookies aceptadas
_abck
BBVA
1 año
Ayuda a protegerse contra los ataques de sitios web maliciosos
bm_sz
BBVA
4 horas
Ayuda a protegerse contra los ataques de sitios web maliciosos
ADRUM_BTs
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT1
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BTa
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
xt_0d95e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
__s9744cdb192d044faa1bf201d29fafd1e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
wpml_browser_redirect_test
WPML
Sesión
Traducción de textos del portal
wp-wpml_current_language
WPML
24 horas
Traducción de textos del portal
Cookies de Analítica
Permiten medir, de forma anónima, el número de visitas o la actividad. Gracias a ellas podemos mejorar constantemente tu experiencia de navegación.
Dispones de una mejora continua en la experiencia de navegación.
Con tu selección no podemos ofrecerte una mejora continua en la experiencia de navegación.
Denominación
Titular
Duración
Finalidad
AMCV_***
Adobe Analytics
Sesión
ID de visitante único que se usan en las soluciones de Marketing Cloud
AMCVS_***
Adobe Analytics
2 años
ID de visitante único que se usan en las soluciones de Marketing Cloud
demdex (safari)
Adobe Analytics
180 días
Crear y almacenar identificadores únicos y persistentes
sessionID
Adobe Analytics
Sesión
Cookie interna de Launch usada para identificar al usuario
gpv_URL
Adobe Analytics
Sesión
plugin Adobe Analytics: getPreviousValue Capturar el valor de una determinada variable en la siguiente vista de página, en este caso la prop1
gpv_level1
Adobe Analytics
Sesión
Cookie utilizada para almacenar el levl1 del DataLayer de la página anterior.
gpv_pageIntent
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pageIntent de la página anterior.
gpv_pageName
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pagename de la página anterior.
aocs
Adobe Analytics
Sesión
Cookie que almacena los primeros valores recogidos al inicio de un proceso.
TTC
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento App Page Visit y App Completed.
TTCL
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento LogIn y App Completed.
s_cc
Adobe Analytics
Sesión
Determinar si las cookies están activas
s_hc
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_ht
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_nr
Adobe Analytics
2 años
Determinar el número de visitas de usuario
s_ppv
Adobe Analytics
Persistente
plugin Adobe Analytics: getPercentPageViewed Determinar el procentaje de página que visualiza un usuario
s_sq
Adobe Analytics
Sesión
Funcionalidades ClickMap/ActivityMap
s_tp
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_visit
Adobe Analytics
2 años
Cookie usada por Adobe para saber cunado una sesión se ha iniciado.
Cookies de Publicidad
Permiten que la publicidad que te mostramos sea personalizada y relevante para ti. Gracias a estas cookies no verás anuncios que no te interesen.
Dispones de una publicidad adaptada a ti y a tus preferencias.
Con tu selección pierdes la personalización de la publicidad, solo verás anuncios genéricos.
Denominación
Titular
Duración
Finalidad
OT2
VersaTag
90 días
Cookie de VersaTag usada para almacenar un id de usuario y el numero de visitas del usuario.
u2
VersaTag
90 días
Cookie de VersaTag en la que se almacena el ID del usuario
TargetingInfo 2
MediaMind
1 año
Cookie que sirve para asignar un número unico random que genera MediaMind.
Cookies de Personalización
Estas cookies están relacionadas con características generales como, por ejemplo, el navegador que utilizas.
Dispones de una experiencia y contenidos personalizados.
Con tu selección no podemos ofrecerte una navegación y contenidos personalizados.
Denominación
Titular
Duración
Finalidad
mbox
Adobe Target
9 días
Cookie usada por Adobe Target para hacer test de personalizacion de experencia del usuario.
Parece que estás navegando desde MéxicoEspañaArgentinaPerúColombiaBélgicaChileEEUUFranciaHong KongItaliaPortugalReino UnidoTurquíaUruguayVenezuelaAlemania, así que vamos a mostrarte el contenido personalizado para tu localización. Cambiar
Selecciona el país
Para poder acceder al área privada y sandbox correspondiente, selecciona el país de las APIs que quieres utilizar.
Preferencias de Navegación
Elige el país del que quieres que te mostremos su contenido por defecto.