Incorporar SOA a la organización significa, entre otras cosas:
– Separar las aplicaciones tradicionales “monolíticas” en diferentes módulos operativos, con el fin de lograr escalabilidad de aplicaciones, facilitar la depuración de las aplicaciones y reutilizar diferentes componentes de software. Este nuevo concepto de arquitectura abandona el tradicional concepto de “un servidor por aplicación” y abre la puerta a nuevos modelos de arquitectura.
Bajo este nuevo paradigma, un servicio de negocio implica diferentes aplicaciones (Servidores web, servidores de aplicaciones, Bases de Datos, Almacenamiento) y diferentes servidores. Ello significa que es necesario redefinir todas las inversiones en hardware que en estos momentos están en procesos de consolidación para que soporten la nueva arquitectura de aplicaciones
– Utilizar un lenguaje común como XML para que todas las aplicaciones puedan intercambiar información. Desde el punto de vista de la red, XML es importante en tanto en cuanto es susceptible de ser encapsulado y transportado a través de la misma. Tanto SOAP como otros protocolos HTTP encapsulados proporcionan el modo en que dicha información se transporta por la red.
El hecho de aplicar una Arquitectura Orientada a Servicios presenta, lógicamente, condicionantes a la infraestructura de red: por un lado, puede ser necesario proporcionar determinada Calidad de Servicio a ciertas aplicaciones (tal y como se hace hoy en día). Para ello, será necesario que la infraestructura de red sea capaz de identificar los protocolos que se utilizan y asignar determinado tratamiento a los mismos (priorización, ancho de banda, etc.).
Por otro lado, la seguridad es un aspecto fundamental en el diseño de redes. Aunque se hablará posteriormente de este punto, cabe definir que la Arquitectura Orientada a Servicios establece una infraestructura de red en la cual los diferentes niveles de los que se compone (usuario, front end, aplicaciones, bases de datos, etc.) aparecen separados por firewalls. Tradicionalmente, por tanto, los servicios de cada nivel se asignan a una VLAN la cual se conecta a un interface de firewall, el cual se encarga de las comunicaciones entre dicho nivel y el siguiente.
Por tanto, podemos ver que el hecho de implementar una Arquitectura Orientada a Servicios implica una determinada infraestructura de red que, además, requiere una arquitectura de seguridad específica. A este punto se añade el hecho de que la virtualización se está imponiendo como un mecanismo fundamental para la implementación de esta arquitectura, tal y como se discute en el apartado siguiente. Como se verá, la virtualización añade en sí misma una serie de condicionantes a la infraestructura de red que deben ser cuidadosamente resueltos si se pretende alcanzar los beneficios sin comprometer aspectos tales como la seguridad.
¿Por qué virtualización?
Como hemos comentado, la virtualización se presenta como la tecnología clave para lograr superar todos esos retos de software y hardware que implica la adopción de SOA. Y ello es así porque la virtualización:
– Proporciona la plataforma ideal para ejecutar pequeñas piezas de software, ya que permite gestionar y adjudicar los recursos de CPU, memoria y disco que la aplicación necesita.
– La consolidación de servidores ya no es un problema, porque pueden ser utilizados para hacer correr diferentes máquinas virtuales sobre la misma plataforma de software
– Se reducen los tiempos de recuperación de los sistemas después de una caída
– Proporciona un despliegue de entornos de pre-producción rápido y barato
– Optimiza las inversiones en hardware
De esta manera, la virtualización se está revelando como una pieza fundamental en los centros de datos, dado que puede incluso presentarse como un facilitador de SOA. No obstante, la virtualización presenta serios requerimientos de cara a la infraestructura de red. Por ejemplo, la posibilidad de tener varios servidores virtuales conectados al mismo puerto físico implica resolver nuevos requerimientos de seguridad (por ejemplo cómo impedir que dos servidores de capas diferentes se puedan comunicar entre ellos sin pasar a través del firewall).
Así pues, podemos ver que una solución como la virtualización, al margen de impulsar una Arquitectura Orientada a Servicios, presenta por sí misma determinados condicionantes de infraestructura que necesariamente tienen que ser resueltos para poder implementar esta solución de forma satisfactoria.
Por tanto, como hemos visto hasta ahora, la implementación de una Arquitectura Orientada a Servicios, implica una infraestructura determinada. Dicha infraestructura es conocida como SOI: Services Oriented Infraestructura o Infraestructura Orientada a Servicios, siendo la virtualización una parte de dicha infraestructura.
SOI: requisito para el éxito de SOA
Entendemos por Infraestructura Orientada a Servicios (SOI), una colección de recursos de hardware y software que soportan la implantación y el desarrollo de la arquitectura SOA.
Por las razones anteriormente expuestas, hoy en día, ningún director de sistemas adquiere equipos o soluciones que no estén preparados para soportar SOA y que contribuyan a alcanzar los objetivos de negocio de la implementación de esta nueva arquitectura. La virtualización es un elemento clave por los motivos antes mencionados, de forma que las empresas tienden a adoptar la virtualización de forma creciente en su Centro de Proceso de Datos.
Sin embargo, y como ya se apuntó, antes de poder implementar la virtualización, los gestores de TI tienen que dar respuesta a numerosas problemáticas, que van desde la localización de servicios (identificación del punto de presencia en la red de dicho servicio) y la asignación de los mismos hasta la gestión de la movilidad de datacenters, pasando por temas de seguridad como el control de los protocolos asociados con los servicios o el evitar que los fallos en la configuración de los entornos de pre-producción afecten al funcionamiento de los servidores virtuales.
De esta forma, la red se revela como elemento clave para la correcta implementación de una Infraestructura Orientada a Servicios, puesto que:
– La red es el elemento que constituye la topología de la solución. Por lo tanto, la infraestructura dependerá fundamentalmente de ésta.
– La red debe permitir el establecimiento de medidas de seguridad:
-** Asociar a cada servidor virtual con la VLAN a que deba pertenecer.
-** Denegar todos los protocolos de red que no sean necesarios.
-** Desplegar entornos de pre-producción que no afecten a la producción real.
-** Permitir la movilidad de servidores virtuales a diferentes máquinas físicas sin comprometer la seguridad.
-** Forzar a que las comunicaciones entre niveles diferentes de la arquitectura SOA se realicen a través de los firewalls.
– La red debe facilitar la gestión de la arquitectura, de manera que:
-** Permita establecer el punto de entrega de servicios de una máquina virtual.
-** Permita elaborar reportes e informes de utilización de recursos virtuales.
-** Permita la conexión inmediata de nuevas máquinas virtuales sin compromiso de la seguridad
Conclusiones
La introducción de SOA en todos los procesos de IT de la organización es hoy en día uno de los mayores retos que las organizaciones tienen que afrontar. La Infraestructura Orientada a Servicios no puede ser considerada como una tecnología aislada. Hay otros elementos de SOI como servidores, infraestructura de red, software y dispositivos de seguridad que tienen que operar de manera conjunta para cubrir todas las exigencias de SOA. Una infraestructura de red preparada es especialmente necesaria como punto de partida para llevar los procesos de TI hacia una nueva arquitectura orientada a servicios. Esto implica que
– Hay que abandonar la arquitectura clásica de presentación de las aplicaciones corporativas sobre una única plataforma física. La implantación de SOA implica la estructuración de las aplicaciones en capas operativas de aplicación corriendo sobre distintos servidores.
– Los flujos de comunicación entre las distintas capas se materializa en un lenguaje común de representación de la información, XML encapsulado en protocolos estándar de comunicaciones de red.
– El almacenamiento se convierte en el punto único de mantenimiento de la información, volviéndose un elemento cada vez más imprescindible a tener en cuenta para el perfecto funcionamiento de la arquitectura de servicios.
Analizando este entorno, la Virtualización se convierte en la clave para alcanzar todos los retos necesarios para maximizar el rendimiento del Hardware y el Software de las organizaciones, consolidando servidores y distribuyendo las aplicaciones. De esta forma la Virtualización
– Proporciona una plataforma ideal para correr cualquier modulo de software de forma independiente, satisfaciendo cualquier necesidad de CPU, Memoria o Disco de sistema.
– Supone la clave para proporcionar consolidación real de servidores, aprovechando al máximo los recursos Hardware.
– Proporciona la opción más rápida y económica de ofrecer un mecanismo de “disaster recovery” completo.
Como puedo comparar el :Net y el :UNIx. Buen TEMA