Del dia, Destacado, Noticias, Principal

SOI, sólidos cimientos para SOA

Para la mayoría, la flexibilidad es el sello distintivo y el principal atractivo de una arquitectura Orientada a Servicios (SOA). En ella, los componentes de aplicaciones se vuelven fácilmente reutilizables y pueden compartirse a través de toda la empresa. Sin embargo, esa misma flexibilidad se traduce en algo impredecible dentro del centro de datos, una característica incompatible con las tecnologías de gestión de infraestructura tradicionales. En una arquitectura SOA se hace mucho más difícil disponer de un mapa claro de las dependencias entre aplicaciones, y, por tanto, predecir la carga que pueden llegar a tener los recursos sobre los que corren como consecuencia de la demanda de los usuarios finales. ¿Qué ocurriría si la carga de un servicio Web particular del entorno SOA se disparase de pronto porque, dos, cinco, diez o cualquier número de aplicaciones muy utilizadas empezaran de repente a invocarlo? “En tal caso, más valdrá tener la posibilidad de soportar ese servicio y haber planificado su escalamiento desde la perspectiva de la infraestructura: hardware, software, red, ancho de banda y almacenamiento”, asegura Donna Scott, analista de Gartner. Satisfacer tal demanda exige la capacidad de asignar recursos informáticos dinámicamente asignar recursos informáticos dinámicamente, según vayan necesitándose, lo que resulta una carga excesiva si pretende realizarse manualmente. Lo cierto es que reasignar dinámicamente recursos según vaya aumentando la carga de trabajo de las aplicaciones es algo más sencillo de decir que de hacer. Y Scott advierte que, desde luego, “no se puede pretender que ocurra por sí misma”. Nada se producirá automáticamente en el back-end simplemente porque un servicio SOA invoque un servidor SOA si antes no se han tomado las medidas necesarias para que así sea. “Debe haberse planeado y creado previamente una infraestructura capaz de ajustarse dinámicamente a las mayores o menores demandas que puedan producirse en cada momento”. En este contexto, se hace crítico disponer de herramientas para monitorear las condiciones y realicen de manera automática –o con una mínima intervención humana- los ajustes. Entre las tecnologías básicas para conseguirlo se encuentran las de gestión de configuraciones y aprovisionamiento servidor, como también las de automatización RBA (Run Book Automation) y las de virtualización de servidores, que permite correr sobre un mismo equipo múltiples sistemas operativos. Administración en tiempo real Todas estas tecnologías comparten algo en común: constituyen elementos integrantes de lo que algunos han denominado empresa en tiempo real (RTE), un contexto en el que el entorno en ejecución (run-time) se va optimizando dinámicamente para escalar y adaptarse con el fin de satisfacer las fluctuaciones en la demanda de recursos, según explica Scott. El concepto RTE engloba múltiples nuevas propuestas: SOA, virtualización, automatización, aprovisionamiento bajo demanda, etc. Y, a nivel de recursos de infraestructura, implica las infraestructuras orientadas a servicios (SOI Services Oriented Infrastructure), “base para una mayor automatización en TI”, según Open Group, consorcio de estándares abiertos que trabaja en la definición de un sistema de referencia y un modelo de madurez SOI. Y es que una auténtica gestión de recursos en tiempo real es imposible sin introducir avanzados niveles de automatización. SOI evita a las empresas la necesidad de dedicar recursos de infraestructura fijos para cada aplicación, brindándoles la posibilidad de asignarlos dinámicamente utilizando procesamiento, almacenamiento y capacidad de red virtuales. “SOA y SOI pueden existir la una sin la otra, pero es cuando se unen cuando se consiguen los máximos beneficios”, explica un experto. Nueva generación de herramientas de gestión Sin duda, el concepto RTE/SOI resulta atractivo para la mayoría de las empresas. Sin embargo, plasmarlo en una realidad exige sutileza. Para empezar, cuantificar los requerimientos de infraestructura de los servicios de aplicación no resulta una tarea fácil, como señala Rich Colton, director de integración de aplicaciones en la firma de ingeniería y construcción estadounidense Washington Group International. “Cuando se pone en marcha un proceso en una SOA, quizá se estén utilizando múltiples recursos, lo que significa múltiples servidores, múltiples bases de datos e incluso múltiples aplicaciones sobre servidores diferentes. El problema es cómo saber cuánta capacidad están tomando esos procesos individuales para poder determinar métricas a medida que la carga aumente”. Las tecnologías tradicionales no sirven a este propósito. Mientras que las herramientas tradicionales dan al administrador una idea de la carga analizando el uso de la memoria y el CPU del procesador, SOA requiere otro tipo de herramientas, capaces de analizar en mayor profundidad aportando luz hasta el nivel de componentes de servicio. “Las empresas deben asegurarse de contar con instrumentos que les ayuden a determinar dónde se están utilizando sus recursos”, explica. “Hasta que se puedan aislar los lugares donde se está soportando cada actividad, el entorno será incierto y estará plagado de riesgos. Ni siquiera se podrá decidir dónde se debería concentrar primero la atención”. El problema es que las herramientas necesarias para monitorear los elementos de un proceso SOA y los recursos que requiere cada uno de ellos no han empezado a madurar hasta ahora, según Colton. Scott, de Gartner, está de acuerdo. Muchas empresas desean avanzar hacia una mayor automatización en el centro de datos, pero las herramientas en que debe apoyarse esa automatización están todavía en sus primeras etapas de madurez. “La mayoría de las tecnologías de administración tradicionales, como las herramientas para la gestión de configuración y monitorización, deben transformarse en instrumentos mucho más activos para administrar adecuadamente los entornos SOA”. Sin embargo, avanzar en la automatización es requisito imprescindible para que las empresas puedan realmente conseguir lo esperado de cualquier propuesta clasificable como RTE. Por ejemplo, la virtualización es una tecnología interesante para muchas organizaciones, pero requiere herramientas adicionales para proporcionar la agilidad prometida por RTE o SOI; por sí misma no resulta suficiente. De hecho, la falta de automatización tiene incluso consecuencias nefastas cuando se gestionan servidores virtuales, “se puede crear fácilmente una partición virtual, pero es aconsejable que exista un mecanismo para monitorizar y, después, escalar la infraestructura si la evolución de la demanda así lo exige”, subrayó el experto. También se requerirán controles que garanticen el correcto funcionamiento del entorno en ejecución. Tales controles se encargarán de cuestiones como la puesta en marcha de los componentes SOA, de escalarlos según la demanda, de interrumpirlos y trasladarlos a otros recursos si se produce algún problema en la infraestructura, etc. Estamos hablando de niveles de automatización que realmente no han existido desde los tiempos del mainframe. Convergencia de objetivos Pero la disponibilidad de herramientas de gestión de infraestructuras más sofisticadas no será el único cambio necesario para conseguir realmente los máximos beneficios de SOA a través de SOI. En general, las empresas que hasta ahora han construido entornos SOA han tendido a enfocar sus esfuerzos en los requerimientos software, como el desarrollo, prueba, despliegue y monitoreo de servicios de aplicaciones. Como resultado, no han prestado la debida atención a la infraestructura necesaria para soportar tales servicios a medida que los despliegues aumenten, “los responsables de despliegues SOA no suelen preguntarse sobre el impacto que ésta arquitectura tendrá sobre su infraestructura”. No obstante, diversos fenómenos están contribuyendo hacia la paulatina convergencia de objetivos. Los nuevos modelos que abogan por unos recursos TI adaptables dinámica y automáticamente (Adaptive TI) satisfacen al mismo tiempo los nuevos requerimientos de los equipos encargados de aplicaciones y de los responsables de la arquitectura del centro de datos. Los primeros abogan por SOA como una forma de facilitar a los desarrolladores la construcción de componentes de manera estandarizada, lo que a su vez facilita su reutilización y compartición. Por su parte, los arquitectos de centros de datos buscan en SOA nuevas maneras de reducir los costes de capital, optimizar el uso de los recursos y ofrecer mayores niveles de fiabilidad. Además, las empresas han ido adoptando modelos de gestión de servicios TI como ITIL (IT Infrastructure Library) con el fin de estandarizar los procesos en el centro de datos. También han intentado administrar las TI como si de un negocio se tratara adoptando estrategias de gestión de servicios. “Al mismo tiempo que los equipos de aplicaciones y negocio intentan desarrollar aplicaciones más competitivas en términos empresariales, los de infraestructura se han esforzado por estandarizar sus procesos TI, introduciendo más automatización y persiguiendo una mayor estandarización de la tecnología”, explica Scott. Una mayor colaboración entre equipos Así, los equipos de aplicaciones y de infraestructura parecen haber convertido los valores de SOA en objetivo común. Sin embargo, existe aún un problema importante: las dos áreas de gestión TI, excepto en los departamentos de las empresas más avanzadas, no han logrado comunicarse lo suficientemente bien hasta el momento. Los equipos responsables de aplicaciones y de infraestructuras han tendido a trabajar en paralelo en el pasado y eso constituye un considerable error cuando se trata de despliegues SOA. Por tanto, se hace imprescindible un cambio organizacional y cultural considerable. “Será imprescindible que los desarrolladores SOA colaboren más estrechamente con los equipos responsables de los centros de datos porque están siguiendo sendas paralelas, independientes, que, no obstante, deben converger”, subraya Scott. Tal cambio no podrá limitarse además a la mejora de la comunicación entre el área de aplicaciones y la de infraestructura. Para conseguir la adecuada SOI para SOA, los departamentos de TI habrán de modificar también sus patrones de compra. En lugar de que los equipos de aplicaciones adquieran servidores para cada uno de sus proyectos, por ejemplo, el departamento TI habrá de comprar capacidad servidor por adelantado para crear una pila de recursos informáticos destinada a ser compartida y mantenida colectivamente. Según Scott, “si se consigue este cambio de actitud, el ciclo de despliegue se acortará porque la empresa sabrá exactamente cuáles serán las características y las capacidades del entorno compartido. Los desarrolladores conocerán exactamente para qué infraestructura están desplegando, por ejemplo. Pero realmente se trata de un cambio de mentalidad difícil para la mayoría de las organizaciones”. En Washington Group, los directores de TI han conseguido importantes avances hacia el alineamiento de sus prioridades de desarrollo y de centro de datos. Colton es miembro de un equipo que evalúa las iniciativas de infraestructura y aplicación relacionándolas entre sí. Él, junto a otros, aporta al equipo conjunto la perspectiva de las aplicaciones, pero también encabeza los proyectos relativos al uso de la virtualización en la compañía. Fue Colton quien introdujo el uso de ESX Server, de VMware, en los entornos de desarrollo y prueba de aplicaciones, lo que ha permitido a su equipo restaurar rápidamente las configuraciones servidor a un estado original si alguna actualización de parches o aplicaciones provoca eventuales caídas. Tras comprobar que la tecnología VMware funcionaba adecuadamente en un entorno de prueba, la compañía planea ahora desplegarla en su entorno en ejecución para conseguir mejorar el uso de sus servidores y un aprovisionamiento más dinámico. “Realmente creo que no podríamos gestionar SOA de forma eficiente sin virtualización, y, al mismo tiempo, no podríamos aprovechar algunos de los beneficios de esta virtualización si no tuviéramos recursos que requieren capacidades dinámicas”, concluyó Colton.