En otra entrada les comentaba sobre una plataforma para soluciones de integración e interoperabilidad que estoy diseñando/desarrollando sobre la base de la suite de WSO2.
Una de las subplataformas que componen la plataforma integral era la de Seguridad, que tiene como base al Identity Server de WSO2. Las otras se vinculan al BAM y al ESB y dedicaré futuras entradas a ellas.
Entre los elementos más importantes de esta plataforma es que brinda soporte a los RNF relacionados con la alta disponibilidad y la escalabilidad de las soluciones, algo sumamente importante desde el punto de vista de arquitectura, como pueden apreciar en esta otra entrada un poco más genérica y abarcadora.
En esta entrada quiero seguir con este tema de las plataformas y mostrarle como pueden ser usadas y desplegadas en diferentes entornos de hardware en función de los RNF que se quieran lograr.
Gracias a la tecnología empleada por WSO2 para el desarrollo de sus componentes y herramientas, OSGI, se pueden emplear varios esquemas de despliegue.
El primero es, luego de empaquetar todos los componentes necesarios en una única solución software, desplegar la misma en un único servidor como pueden ver en la siguiente imagen.
Fig. 1. Esquema de despliegue en un solo servidor.
Si se desea mantener la idea inicial de tener 3 subplataformas (seguridad, monitoreo e integración) pues se puede emplear el siguiente esquema de despliegue.
Fig. 2. Esquema de despliegue en 3 servidores.
Ahora bien, si se nos han dado RNF relacionados con alta disponibilidad, escalabilidad y rendimiento entonces cada subplataforma debe ser clusterizada siguiente el siguiente esquema.
Fig.3. Esquema de despliegue de un clúster.
Como pueden ver este esquema sirve para el primer esquema de despliegue y también para el segundo. Solo hay que tener en cuenta que cada plataforma debe ser clusterizada usando el esquema mostrado arriba donde existe un nodo management y N nodos workers y un ELB o Elastic Load Balancer que se encarga de balancear la carga. Lo interesante es que un solo nodo ELB o un clúster del ELB se puede utilizar para todas las soluciones que se pongan detrás de él.
Cuando usar cada uno de estos esquema depende de los requerimientos del cliente. Está claro que el primero es para escenarios donde no existe el hardware adecuado para tener varios servidores físicos o virtualizados o donde se desea tener un todo en uno
El segundo potencia más el funcionamiento de cada subplataforma por separado y es cuando tenemos para usar 3 servidores en este tipo de soluciones.
Si el cliente nos pide una solución clusterizada pues aplicamos el esquema 3 al esquema 1 o 2.
Los que vienen de plataformas privativas como ORACLE o TIBCO pues están acostumbrados a una sola pieza de software que lo tiene todo ya bien integrado, pero más que nada es una cuestión de gusto y de costumbre. Además de que se hace difícil integrar las más de 15 herramientas de WSO2 en una sola :-D
Diferentes esquemas de despliegue para la Plataforma de Integración e Interoperabilidad.