Oracle Cloud Integration: "On Premise to Cloud"

Por Joel Pérez & Arturo Viveros
Publicado en Febrero 2015

Amigos de la comunidad OTN, reciban un cordial saludo. En esta tercera entrega de la serie "Oracle Cloud Integration", profundizaremos en el tema de integración On Premiseto Cloud.

Índice de artículos:
Parte 1: "Introduccion"
Parte 2: "Cloud to Cloud"
Parte 3: "On Premise to Cloud"
Parte 4: "Selección de Patrones de Diseño"



Este tipo de integración es una de las principales preocupaciones de las empresas o áreas de TI que hoy en día comienzan con la adopción de una estrategia de nube. El no tener claridad de cómo se solucionan dichos escenarios, incluso puede ser un factor inhibidor cuando se están sopesando alternativas de Nube contra  soluciones convencionales.

Las implicaciones de establecer una comunicación, que incluso puede llegar a ser bidireccional, entre aplicaciones que viven en la Nube y nuestro ambiente On-Premise donde regularmente se encuentra el “Core” de la infraestructura tecnológica, son más que relevantes. Aquí describiremos algunas de las principales:

Seguridad:
Por supuesto que esta es la preocupación número uno. El manejo de la información está basado en la tecnología y se debe de saber que puede ser confidencial, que puede ser divulgada, mal utilizada, robada, borrada o saboteada. Esto afecta la disponibilidad y la situa en riesgo. La información se clasifica como:

  • Crítica: Es indispensable para la operación de la empresa.
  • Valiosa: Es un activo de la empresa y muy valioso.
  • Sensible: Debe de ser conocida por las personas autorizadas

La seguridad de la información comprende diversos aspectos entre ellos la disponibilidad, comunicación, identificación de problemas, análisis de riesgos, la integridad, confidencialidad, recuperación de los riesgos.

La correcta seguridad de la información busca asegurar las siguientes características:

  • Confidencialidad: La confidencialidad es la propiedad que impide la divulgación de información a personas o sistemas no autorizados. Asegura el acceso a la información únicamente a aquellas personas que cuenten con el debido privilegio para ello.
  • Integridad: Es la propiedad que busca mantener los datos libres de modificaciones no autorizadas. Es decir, es el mantener con exactitud la información tal cual fue generada, sin ser manipulada o alterada por personas o procesos no autorizados.
  • Disponibilidad: La disponibilidad es la característica de la información de encontrarse a disposición de quienes deben acceder a ella, ya sean personas, procesos o aplicaciones. La disponibilidad es el acceso a la información y a los sistemas por personas autorizadas en el momento que así lo requieran.

En el caso de los sistemas informáticos utilizados para almacenar y procesar la información, los controles de seguridad utilizados para protegerlo, así como los canales de comunicación protegidos que se utilizan para acceder a ella deben estar funcionando correctamente.Garantizar la disponibilidad implica también la prevención de ataques de denegación de servicio.

Cuando integramos nuestro On Premise con la Nube, lo que en realidad estamos haciendo es extender la “Zona de Confianza” o “Trust Boundary” para poder abarcar los elementos de Cloud que necesitamos incorporar al flujo de información tradicional.

Esto último es especialmente relevante en el caso de las nubes públicas, donde la característica de “Multipropiedad” o “Multitenancy”podría provocar que las zonas de confianza de diferentes organizaciones llegaran a sobreponerse, haciendo necesaria la implementación de mecanismos de seguridad adicionales.

Transaccionalidad / Sincronía:

Cuando nuestro portafolio tecnológico incluye aplicaciones tanto On-Premise como en la Nube, es altamente probable que nos enfrentemos a los siguientes obstáculos al buscar la integración entre ellas:

  • Las transacciones suceden a velocidad completamente diferente en un universo y en el otro. Esto puede deberse a muchísimos factores, por ejemplo: diferencias en la infraestructura y capacidad de procesamiento, “pooling” de recursos, “elasticidad” contra “rigidez” de las plataformas, discrepancias importantes en las características de la tecnología utilizada para el desarrollo de unas y otras aplicaciones.
  • Los niveles de servicio (SLAs), umbrales y parámetros de las aplicaciones Cloud son muy particulares y difícilmente van a coincidir con aquellos de la tecnología On Premise. De hecho es probable que para muchas de las aplicaciones tradicionales ni siquiera se tengan estas métricas.
  • Los cambios, parches, actualizaciones, etc., suceden constantemente en la nube, mientras que en On Premise este ciclo normalmente es mucho más largo.
  • La disponibilidad y resistencia de las aplicaciones de Nube contra las de On Premise también puede variar sobremanera.


Es clave darle la importancia debida a este tema, ya que de no ser así podríamos correr el riesgo de sobrecargar una u otra plataforma con peticiones que no se podrán atender adecuadamente, o de retrasar el flujo de información de alguna de ellas.

Monitoreo / Trazabilidad:
Al abrir un canal entre la Nube y nuestro On Premise, estamos habilitando un flujo de información que requiere ser supervisado y medido con especial atención:

Una de las principales características de “Cloud Computing” debe ser siempre el “uso medido” de recursos. En la mayoría de los casos nuestras suscripciones irán de acuerdo al modelo “pay as you go”, bajo el cual nuestro proveedor de nube estará cobrándonos según el uso que hagamos de los recursos aprovisionados. Esto hace que sea de la mayor importancia el tener la capacidad de medir los volúmenes que estamos manejando.

Ahora bien, después de identificar y entender las preocupaciones anteriores, ¿Existen herramientas en el stack de Oracle que puedan brindarnos capacidades y herramientas para resolver el escenario de integración On Premise 2 Cloud?
Una vez más la respuesta es sí, y aquí es donde se intersectan claramente los paradigmas de SOA, API Management y Cloud, pues a través de los patrones de diseño que se pueden implementar mediante las funcionalidades de dichos componentes, podemos resolver de forma muy adecuada la mayoría de estas situaciones:

En la última entrega de esta serie, revisaremos a detalle los patrones de diseño ya mencionados, sin embargo vale la pena destacar algunos de los puntos relevantes del diagrama anterior:
Con respecto a la seguridad, Oracle API Gateway puede fungir como la primera línea de defensa hacia las aplicaciones y servicios web desplegados, ofreciendo:

  • Conversión de REST a SOAP
  • Conversión de XML a JSON
  • Soporte para protocolos FTP, SFTP, TIBCO, JMS.
  • Aplicación de reglas de seguridad:
    • Autenticación: OAuth, HTTP Auth, Certificate Auth, WSS
    • Filtrado: SQL Injection, Virus, XSS
  • Monitoreo del uso
  • Cache y manejo de tráfico.
  • Oracle API Gateway, debe desplegarse en la DMZ permitiendo la creación de una capa "API", para proteger los servicios web o de datos


OAG, proporciona los siguientes servicios de seguridad al establecerse en el perímetro de la DMZ:

  • Protección contra DOS, entre estos, Flooding, Payloads Recursivos, Memory Leaks.
  • Protección contra Inyecciones, como SQL Injection, XPATH Injection, XSS
  • Confidencialidad e Integridad, es decir protección contra sniffing, Tampering, Poisoning.
  • Ataques de Elevación de Privilegios, como ataques de fuerza bruta, por diccionarios, overflows.

Para la parte de Transaccionalidad / Sincronía, tenemos OSB + BPEL, mediante los cuales podremos:

  • virtualizar servicios
  • ofrecer contratos estandarizados
  • regular el flujo transaccional
  • habilitar flujos de información asíncronos
  • centralizar políticas
  • asegurar la entrega e integridad de los mensajes
  • implementar estándares de WS*

En cuanto al Monitoreo, EM Cloud Control y BAM nos permitirían medir de manera constante y precisa los siguientes indicadores:

  • Rendimiento
  • Volumen transaccional
  • Tiempos de respuesta
  • KPIs
  • SLAs
  • Etc.

Adicionalmente, herramientas de gobierno tales como Oracle Enterprise Repository / Oracle API Catalog, nos permitirían administrar el ciclo de vida y los cambios, versiones, actualizaciones a las cuales vamos a estar sujetos de manera constante.
Si bien no siempre vamos a tener disponibles todos estos productos, la idea es más bien aclarar que existen buenas opciones en el stack de Oracle para resolver los escenarios derivados de la integración On-Premise 2 Cloud. Por ejemplo, si no tuviéramos acceso a API Gateway, el mismo OSB en combinación con un web server (OHS) que pongamos en la DMZ, nos daría suficiente capacidad en cuanto a las medidas de seguridad que se deben implementar.
A continuación, utilizaremos uncaso prácticomuy similar al artículo anterior, pero con una variante que va a implicar la necesidad de integrar On Premise con Cloud (el caso fue implementado en forma real, para la descripción se han utilizado nombres ficticios para proteger la identidad de los involucrados):

  • La empresa “ABC Corp”, ha venido adquiriendo una serie de suscripciones en la nube de Oracle.
  • Una de ellas, la más relevante hasta el momento, ha sido Oracle Taleo para la administración y captación de talento.
  • ABC cuenta desde hace años con Oracle EBS (On Premise), y hacen uso del módulo de RH para administrar todo lo referente a contrataciones, altas y bajas de personal, etc.

  • El escenario de integración a resolver es el siguiente:
    • Al ser Oracle EBS (HRMS) el manejador principal de recursos humanos, todas las altas y bajas de personal se capturan y administran en dicho sistema.
    • Cada vez que se genera una vacante, esta debe ser registrada en Taleo para comenzar el proceso de publicación de la misma, recepción de solicitudes, evaluación y selección de candidatos.
    • Una vez que el candidato ha sido elegido para ingresar a ABC, volvemos a EBS para generar un alta de personal, lo cual a su vez dispara un proceso de contratación.
    • Al día de hoy, no existe integración alguna entre las herramientas y el traspaso de información es manual a través de archivos que se importan a Taleo utilizando un cliente nativo.
    • Además de la pérdida de tiempo, esto implica en ocasiones confusión con los datos de los candidatos y de las mismas vacantes, demora el inicio de los procesos de selección y contratación, fallas de comunicación y cuellos de botella en los procesos de negocio.
  • ¿Cómo resolvemos esto?, analicemos a detalle la solución planteada:


Primero que nada, la parte de seguridad se resuelve mediante la implementación de un canal seguro SSL / TLS entre ABC y la nube pública de Oracle. Todas las comunicaciones serán encriptadas y los participantes en cualquier transacción se identificarán entre sí utilizando certificados digitales.

La Arquitectura anterior provee las siguientes características de seguridad:

  • Confidencialidad: mediante la encripción de mensajes
  • Integridad: mediante firmas digitales
  • Autenticación: mediante tokens X.509


Una vez salvada la parte de seguridad, con Oracle SOA Suite (OSB + BPEL/SCA) virtualizamos los servicios e integramos los flujos de información a través de una arquitectura robusta, dinámica, flexible y escalable.

Finalmente, la solución queda como en la imagen anterior, resolviendo prácticamente todas las dificultades que originalmente se preveían para este tipo de integración.

Conclusión:

  • Tal como pudimos apreciar en el caso práctico, la integración On Premise 2 Cloud se facilita enormemente cuando ocupamos una plataforma robusta como Oracle SOA Suite para el manejo e implementación de los flujos de información entre aplicaciones.
  • Al igual que en el tema de Cloud 2 Cloud, cuando hablamos de una Arquitectura que incluye elementos de Cloud, esimportante tener cuidado de no caer en integraciones punto a punto, las cuales van a descuidar una serie de aspectos clave y nos van a dar más problemas que beneficios. Esto es especialmente relevante en las integraciones On Premise 2 Cloud.
  • Dentro de la oferta de Oracle, podemos encontrar una serie de variantes que nos van a permitir enriquecer la plataforma y abordar con éxito este tipo de iniciativas que sin duda resultan innovadoras.

En la próxima entrega de esta serie, abordaremos el siguiente tema:

Sin más por el momento, esperamos que este artículo haya sido de interés y sobre todo utilidad para usted apreciado lector.
¡Hasta la próxima!



Joel Pérez es un experto DBA (Oracle ACE Director, OCM Cloud Admin. & OCM11g) con más de 14 años de experiencia real en el mundo de tecnología Oracle, especializado en diseño e implementación de soluciones de: Cloud, Alta disponibilidad, Recuperación contra desastres, Upgrades, Replicación y toda área relacionada con bases de datos Oracle. Consultor Internacional con trabajos, conferencias y actividades relacionadas en más de 50 países alrededor del mundo. Habitual Orador en eventos Oracle alrededor del mundo como: OTN LAD, OTN MENA, OTN APAC y más. Joel se ha caracterizado siempre por ser un pionero en materia de tecnología Oracle desde los inicios de su carrera siendo el primer latinoamericano en ser nombrado "OTN Expert" en el año 2003, uno de los primeros Oracle ACE en el programa ACE en el año 2004, unos de los primeros OCP Cloud en el mercado en el ano 2013 y como uno de los mayores logros de su carrera, recientemente en el 2014 fue honorificado como uno de los primeros "OCM Database Cloud Administrator" del mundo.

Arturo Viveros es un profesional destacado en las áreas de Arquitectura Cloud, SOA y JEE. Actualmente radica en la Ciudad de México y labora como Socio / Arquitecto TI Senior en S&P Solutions. Con más de 10 años de experiencia en la industria de TI, Arturo es conferencista regular en eventos organizados por: OPN, OTN, así como Universidades públicas y privadas en México. Es el único instructor de habla hispana certificado por Cloud School (Arcitura Inc.) para impartir el curso de Arquitectura Cloud en Latinoamérica.


Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.