Noticias y destacados

Ontología para Omni Cloud

“En esta última entrega de nuestro blog contamos con el análisis cloud realizado por Fernando Pereiro, Head of Technical Presales & Corporate Platforms de UST Global. Como hemos comentado en otras entradas de este blog: seguimos a vueltas con cloud. Para ello, qué mejor que contar con la opinión de expertos para abordar cloud desde un ángulo estructurado y orientado a enfocar la adopción de cloud con método y conocimiento de causa. Por ello, estoy muy, muy contento de presentar la opinión de Pereiro y ofrecer más líneas de pensamiento ya que nos ayuden a entender mejor nuestro entorno IT y a construir soluciones gobernables en él entre todos. ¡Muchas gracias, Fernando!”

Moises Navarro – Principal Business Solutions Strategist

 

Firma invitada: Fernando Pereiro, Head of Technical Presales & Corporate Platforms de UST Global

Durante los últimos años he diseñado y representado estrategias Cloud de diversas formas y colores, en parte porque, aunque existen patrones de diseño de arquitecturas y guías de buenas prácticas, cada grupo o empresa lo implementa y por lo tanto lo verbaliza de forma distinta. A raíz de esto, he empleado muchas horas de mi tiempo en la búsqueda de soluciones técnicas o metodológicas que ayuden a dar un poco de sentido y estructura a toda esta evolución acelerada que estamos viviendo al rededor del mundo Cloud.

Pero primero, ¿Qué es Omni Cloud?

Omni Cloud es la máxima expresión de la estrategia Multi Cloud, se refiere a la abstracción total entre software e infraestructura, dotando de la capacidad para ejecutar lo que sea (cualquier carga de trabajo) donde sea (en cualquier proveedor de servicios).

Ya está más que claro el hecho de que las empresas apuntan hacia una estrategia Multi Cloud, pero el nivel de profundidad en el cual entra esta estrategia y el nivel de madurez técnico en cada caso cambiará, como es lógico, entre una empresa y otra.

A día de hoy, la presencia de estrategias multi Cloud se materializa, en la mayoría de casos, en únicamente una facturación multi Cloud, ya que se cuenta con el uso de diversos servicios de diversos proveedores pero sin mantener una relación funcional o técnica entre ellos. En mi opinión, es una situación que indica que solo hemos arañado la superficie de oportunidades que ofrece el concepto Cloud y esto ocurre, entre otros, por factores como una gran deuda técnica que consume recursos muy valiosos de las organizaciones y que por tanto no pueden ser empleados en innovación y, también, por el propio estado de evolución constante de las tecnologías, que sacude a los equipos de trabajo con olas de novedades técnicas que vienen una tras otra.

Ahora bien, ¿Qué es Ontología?

Una ontología es una definición formal de tipos, propiedades, y relaciones entre entidades que real o fundamentalmente existen para un dominio de discurso en particular.

Hace poco escuche hablar a un compañero de trabajo especializado en Big Data y Analítica Avanzada sobre la Ontología del Dato. Nada más escuchar el término me encantó ya que me trasladó a la antigua Grecia y casi pude imaginar a Parménides aportando soluciones a algoritmos de inteligencia artificial.

El concepto detrás de la Ontología es muy simple y potente ya que se basa todo en la catalogación y etiquetado de diversas variables y la relación entre ellas. No obstante, esta no es la primera vez que se relaciona el término Ontología con el mundo informático, de hecho, Uschold y Gruninger utilizan el término para referirse a un entendimiento compartido de algún dominio de interés, el cual puede ser utilizado como un framework unificado para resolver problemas tales como interoperabilidad, confusión conceptual y terminológica, etc. Por otro lado, Gruber define Ontología como “una especificación explícita y formal de una conceptualización compartida”.

Ampliando horizontes gracias a la Ontología

Vamos a identificar 3 aspectos en los cuáles nos podemos beneficiar gracias a la Ontología:

  • Mediante la representación gráfica, la Ontología nos permite inferir nuevo conocimiento gracias al racionamiento lógico y al uso de motores de inferencia; en la actualidad existen diversos razonadores y motores de inferencia Open Source (Racer, Pallet, Fact++, etc.) que nos permiten realizar, entre otras cosas, clasificación automática y comprobación de consistencia entre los conceptos reflejados en la Ontología. En términos generales un motor de inferencia es un componente de nuestros sistemas que aplica reglas lógicas a la base de conocimiento para deducir nueva información. Cuanto mejor esté definida la Ontología, más y mejores deducciones podrán hacerse.
  • ¿No sería interesante tener nuestro mapa de conocimiento enriquecido con la forma de interactuar con todas esas entidades?

En el propio concepto de la Ontología también representamos la relación entre entidades y propiedades, pero ¿y si vamos más allá y para cada relación establecemos una forma de interacción? una forma de interacción unificada y automatizada ¿Y si usamos DevOps para representar y convertir en realidad esas relaciones?

Si tenemos un mapa claro sobre los servicios que usamos y cómo los usamos podríamos trazar una línea que posteriormente podría convertirse en un flujo DevOps, o también podríamos crear flujos más pequeños y específicos para crear lo que en DevOps llamamos “DevOps assembly line”: un conjunto de flujos que se ejecutan igual que una cadena de montaje.

  • Si tenemos un mapa que representa todo nuestro ecosistema Cloud, con sus propiedades y relaciones, sería muy sencillo añadir nuevas piezas, ya que podríamos encontrar la forma y el lugar exacto en que las nuevas entidades deben ubicarse y relacionarse con lo existente, esto, en esencia es el concepto de Omni Cloud, es esa capacidad para poder utilizar de una manera natural nuevos servicios Cloud.

Siguiendo a Uschold, Gruninger y Gruber: Siendo “Omni Cloud” nuestro concepto y dominio de interés, ¿podemos obtener un framework unificado y una especificación explícita?

¡Vamos a por ello!

 

Representado la Ontología

Aunque en este artículo usaré algo más parecido a mapas mentales ya que creo que aportarán claridad en esta primera aproximación, es importante que las ontologías tienen un lenguaje definido e incluso una representación gráfica definida.

  • OWL: Es un lenguaje de marcado para publicar y compartir datos usando ontologías. OWL tiene como objetivo facilitar un modelo de marcado construido sobre RDF y codificado en XML.
  • VOWL: Proporciona representaciones gráficas para elementos OWL. Permite una vista integrada de ontologías que visualiza entidades junto con sus propiedades y relaciones.

Definiendo la Ontología

Lo primero que deberíamos tener en cuenta es la creación de una Ontología donde se reflejen los proveedores y servicios Cloud necesarios para los objetivos de nuestra organización y, de esta forma obtener una representación de ese framework unificado… ya se que hemos dicho que Omni Cloud es “cualquier proveedor”, pero se trata únicamente de dotar de la capacidad para llegar a ello mientras nos enfocamos en dar respuesta a necesidades específicas.

Es cierto que existen mapas de relación entre proveedores Cloud y diagramas que muestran los diversos servicios a los que podemos acceder, pero es importante que cada organización realice su propia Ontología que se adapte a su propio contexto y lenguaje. Seguramente si comparamos estas ontologías que se realicen dentro de cada organización resulten ser muy parecidas en un marco general, aunque se diferencien en pequeños detalles según el contexto y el lenguaje técnico y funcional de cada caso.

Es importante saber que nuestra Ontología no solo será una especificación de lo que el Cloud o los proveedores Cloud pueden ofrecernos, también se trata de representar todo aquello que usamos para interactuar con ello. Por ejemplo:

A nivel técnico podemos desarrollar las entidades y sus propiedades tanto como queremos, desde un nivel básico hasta otro más elaborado y completo:

¡Ya lo sé! puede parecer muy simple, pero esto es la Ontología: la representación de un conocimiento de una forma que nos permita navegar por él es una herramienta muy potente!

Verificando la Ontología

Para estar seguros de que la Ontología es válida para el paradigma Omni Cloud, veamos cómo resuelve ciertos problemas en ese ámbito.

Portabilidad e Interoperabilidad

La portabilidad y la interoperabilidad entre proveedores y servicios Cloud es un reto crítico de toda organización. La Ontología nos permite identificar las propiedades de cada servicio y por lo tanto nos permite encontrar similitudes y diferencias entre ellos; viendo la foto general de nuestro framework podemos identificar nuestras propias necesidades y procesos de portabilidad e interoperabilidad.

Centrarnos en las propiedades de las entidades más que en las entidades mismas nos permite cierta abstracción, lo cual favorece la portabilidad centrándonos en la tecnología inherente de cada servicio.

Simplicidad

Cada día hay mas proveedores, servicios y avances en el mundo Cloud y la sobreinformación puede llevar a confusión dentro de las organizaciones. Un framework materializado a través de una Ontología permite poner orden en esa información y eliminar el ruido de aquello que es realmente importante para cada organización.

Seguridad

Si incluimos aquellos dominios, entidades, atributos y relaciones de seguridad que consideramos necesarios en nuestra Ontología seremos capaces de ver su porcentaje de cobertura en nuestro Framework y, además, con razonamiento e inferencias podremos descubrir aspectos que no estamos teniendo en cuenta.

Estamos en un momento de cambio continuo en el marco tecnológico y, sobre todo, en todo lo referente al paradigma Cloud. Nuevos servicios, proveedores, tecnologías y metodologías surgen a ritmo diario y el reto de las organizaciones es buscar la forma de obtener todo el beneficio posible de esta situación. Una estrategia Omni Cloud, o lo que es lo mismo, dotar a una organización de la capacidad para operar de una forma líquida ahí donde este y use lo que use, se convierte en la última meta y la más lejana. No obstante, la creación de una Ontología ayuda, mediante la representación del conocimiento generalizado de cada organización, a materializar esa estrategia, centrándose en las necesidades concretas de cada caso, creando un framework unificado y otorgando un punto de encuentro para el conocimiento y la operación.