A medida que los servicios en la nube se vuelven más importantes para las empresas de hoy, la interoperabilidad y la portabilidad de la computación en la nube se convierten en algo más que simples términos de TI de varias sílabas. Son conceptos que, cuando se ponen en práctica, pueden ayudar a las empresas a evitar quedar atrapadas en las relaciones con los proveedores y hacer el mejor uso de una mezcla de servicios en la nube.
El Consejo de Clientes de Estándares de la Nube, un cuerpo de expertos y usuarios de la nube que ayuda a impulsar los estándares para la computación en la nube, publicó una guía actualizada sobre la interoperabilidad y portabilidad de la computación en la nube en diciembre y la semana pasada transmitió un seminario web adjunto. En él, Mike Edwards, evangelista de plataforma como servicio en IBM y experto en estándares de nube, definió los términos y describió los desafíos que la interoperabilidad y la portabilidad plantean a las empresas con entornos de múltiples nubes.
Definición de portabilidad e interoperabilidad de la nube
Interoperabilidad: Edwards dio la definición adoptada por el Instituto de Ingenieros Eléctricos y Electrónicos: la capacidad de dos o más sistemas o componentes para intercambiar información y utilizar la información que se ha intercambiado. «Tan sencillo como eso», dijo.
Para la computación en la nube, la interoperabilidad significa que los servicios en la nube pública y privada pueden comprender las API, la configuración, los formatos de datos y las formas de autenticación y autorización de los demás. Idealmente, dijo Edwards, las interfaces están estandarizadas, «para que usted, como cliente, pueda cambiar de un servicio en la nube a otro con el menor impacto posible en sus sistemas».
Portabilidad: Según el documento de CSCC, la portabilidad es la capacidad de un cliente en la nube para mover aplicaciones y datos entre sistemas locales y en la nube y entre servicios en la nube ofrecidos por diferentes proveedores. La portabilidad se puede dividir en dos tipos: portabilidad de aplicaciones y portabilidad de datos.
La portabilidad de las aplicaciones en la nube es la capacidad de mover una aplicación «de un servicio en la nube a otro servicio en la nube o entre los sistemas de un cliente de servicio en la nube y un servicio en la nube», dijo Edwards. Es importante poder hacerlo con relativa facilidad. «El objetivo general aquí es requerir la menor cantidad posible de cambios en el código de la aplicación».
La portabilidad de datos en la nube es la capacidad de mover datos entre sistemas en la nube y locales. Esto debe hacerse en un formato electrónico de uso común, dijo Edwards, y debe haber un mecanismo para importar datos al servicio en la nube de destino, generalmente una API.
Problemas y soluciones
El principal desafío al que se enfrentan las empresas que buscan la interoperabilidad de la computación en la nube es la gran variedad de API e interfaces en la nube, según el documento de CSCC. No están estandarizados y los proveedores de servicios en la nube usan diferentes. Los servicios de infraestructura en la nube tienen un mayor nivel de interoperabilidad, porque sus servicios son comparables y existen algunas interfaces estándar.
Las ofertas de plataforma como servicio centradas en el desarrollador son menos interoperables porque existen pocos estándares de interfaz. Las aplicaciones de software como servicio, con incluso menos API estándar, “presentan hoy el mayor desafío de interoperabilidad”, continuó el documento.
Como solución a estos problemas, las empresas pueden crear una «capa de mapeo» entre las API de sus propios sistemas y las API de los servicios en la nube utilizando un bus de servicio empresarial. O pueden emplear a un agente de servicios en la nube, «que hace ese mapeo por usted», dijo Edwards.
Los mayores desafíos que se interponen en el camino de la portabilidad de las aplicaciones son las aplicaciones integradas en PaaS. Esto se debe a que las plataformas PaaS varían ampliamente; por ejemplo, es posible que la forma en que una plataforma administra los datos no sea compatible con otra.
Las empresas que intentan transferir datos de una infraestructura en la nube a otra están en mejor situación, ya que existen estándares que permiten mover aplicaciones. Los sistemas de operaciones estándar como Linux pueden ayudar a migrar datos. Una plataforma de código abierto como Cloud Foundry puede ayudar a mover datos entre sistemas PaaS, y la tecnología de contenedores como Docker puede ayudar a mover partes de aplicaciones.
Mover datos entre aplicaciones SaaS es la mayor preocupación de portabilidad en la actualidad. La pregunta a la que la mayoría de las empresas necesitan encontrar una respuesta, dijo Edwards, es: ¿Se transferirán los datos? «¿Tienes que modificarlo para que se pueda usar?»