Historia:
Replicacin
HTTP, Https, RPC request
Conexion
Servidor de recursos
estticos
Cluster
Nodo 1
Servidores CDN
Cach
Cliente
Respaldo BD
Nodo 2
Router balanceador
de carga
Balanceador de
carga
Cach
Nube
Firewall
Nodo 3
Balanceador de
carga
Respaldo de router
Cach
Servidores
de bases de
datos
Servidor JMS
Servidor de
Documentos
Respaldo JMS
OBJETIVOS
Proponer una plataforma tecnolgica escalable, confiable, segura y de alta
disponibilidad de forma que pueda atender eficiente y eficazmente las
necesidades de los ciudadanos, instituciones pblicas y privadas, y
expectativas de modernizacin institucional.
ARQUITECTURA DE HARDWARE
La arquitectura de hardware comprende principalmente a servidores, routers y
switches a cuales conocemos como equipos, adems al medio de
comunicacin entre estos (la red). Las capacidades de cada equipo, el nmero
de equipos, las configuraciones y distribucin de los mismos impactan
directamente en el rendimiento y la disponibilidad del servicio. La adquisicin
de nuevos equipos de ltima generacin (que normalmente son muy caros) no
necesariamente va a mejorar esos dos aspectos.
La arquitectura propuesta se ilustra en el diagrama N1 Arquitectura para la
alta disponibilidad de los servicios, cuyos componentes detallamos a
continuacin.
Cluster
Nodo 1
Servidores CDN
Cach
Cliente
Respaldo BD
Nodo 2
Router balanceador
de carga
Balanceador de
carga
Cach
Nube
Firewall
Nodo 3
Balanceador de
carga
Respaldo de router
Cach
Servidor JMS
Servidor de
Documentos
Respaldo JMS
Servidores
de bases de
datos
Clster SIO
Servidores
CDN
Servidor de
recursos estticos
Clster RRCC
Bases de datos
Cliente
Servidores de
bases de datos
Router Activo
LAN
Internet
Clster certificacin
digital
Firewall
Router Backup
Clster AFIS
Respaldo DB
Servidor de
Documentos
Servidor JMS
Respaldo JMS
cache
Bases de datos
Balanceador
de carga
Nodo 2
cache
Nodo 3
Respaldo balanceador
de carga
cache
3.1. Nodos
Para nuestro caso, son los servidores de aplicaciones Java EE sobre los
cuales se ejecutan las aplicaciones Java que son accedidos por los
usuarios a travs de protocolos HTTP o HTTPs. Son servidores que
implementan estndares de JEE y fsicamente estn instalados en una
computadora con capacidades de servidor (por ejemplo de tipo blade).
Para lo cual, las sesiones deben ser replicadas entre todos los nodos del
clster, de modo que si uno de ellos deja de estar disponible, otro nodo
comenzar inmediatamente a proporcionar los servicios sin perder la
sesin del usuario. Esta caracterstica se conoce como replicacin de
sesiones, es parte de las especificaciones del estndar JEE y que los
servidores de aplicaciones ms populares como Glassfish, OAS, WebLogic
y Jboos lo implementan.
que
debieran
dedicarse
solo
tender
peticiones
3.7. Router
El router es un recurso crtico, necesariamente debe contar con un
mecanismo de redundancia que se acople a toda la infraestructura
planteada y asegure la alta disponibilidad de los servicios.
ARQUITECTURA DE SOFTWARE
No es posible definir una nica arquitectura de software para las aplicaciones,
ya que dependiendo de los requisitos no funcionales del mismo, la arquitectura
y sus componentes pueden variar. Sin embargo podemos recomendar de que
el desarrollo de nuevas aplicaciones siga plenamente los estndares y
patrones de diseo JEE y aproveche los frameworks que implementan dichos
patrones, adems de seguir la gua que se menciona en el documento
Estndar de arquitectura para el desarrollo y mantenimiento de aplicaciones
web de la Sub Gerencia de Ingeniera de Software.
Sesiones
Pool de
Conexiones
Herramientas
de monitoreo
Libreras js
JavaScript
css
Full Cache
JVM
Servidor
Cache
imgenes
Browser
Patrones de diseo
Compresin de datos
Servidor de aplicaciones
Optimizacin de vistas
Sistema Operativo
Cliente
Comunicacin
Sistema Operativo
Servidor de Aplicaciones
Estndares JEE
4.3.4. Memoria
Algunos aplicativos han experimentado problemas con la memoria
dinmica del JVM. La causa puede deberse a diversos aspectos una de
ellas la arquitectura lgica propio del aplicativo, el uso de algn
framework pesado o el no uso de ninguno.
4.3.5. Sesiones
Minimizar el uso de sesiones, por que los servidores de aplicaciones
que pertenecen a un clster, van a compartir los objetos de sus
sesiones, este proceso puede afectar al rendimiento si la cantidad de
memoria que ocupa cada sesin es muy grande, aproximadamente
encima de los 10Kb.
4.2. Comunicacin
4.2.1. Peticiones HTTP, HTTPs
Para cada peticin, se debe tener en cuenta la latencia de comunicacin
sobre la red, que se evidencia en conexiones satelitales o cuando la pc
cliente se encuentra a mucha distancia de los servidores (caso
consulados de Per en otros continentes), haciendo mas lenta la
respuesta.
4.3. Cliente
4.3.1. Cach del browser
Se debe aprovechar al mximo el cache del browser para hacer
persistente los archivos estticos como: css, js, imgenes (jpg, bmp,
png, etc), flash y applets; de modo que el browser no requiera re-cargar
todas las veces que requiera los recursos, no realizar la peticion HTTP
y no se transmitir ninguna informacin a travs de la red sino ser
recuperada del cache.
SEGURIDAD
Segn el sistema (internet o intranet) se deben tomar medidas adecuadas de
seguridad para garantizar la proteccin contra vulnerabilidades del sistema,
dependiendo de los requerimientos del aplicativo se debe estudiar la posibilidad
de implementar la transmisin por canal seguro (HTTPS). En algunas
ocasiones ser necesario el uso de certificados digitales y/o validacin con
huella digital.
CARACTERISTICAS DE LA INFRAESTRUCTURA
6.1. Viabilidad
La infraestructura propuesta es viable por:
-
un sistema de
alto rendimiento,
alta
disponibilidad
escalabilidad a bajo costo con servidores normales como por ejemplo del
tipo Blade.
-
6.2. Flexibilidad
La infraestructura propuesta es flexible, su implementacin no obliga la
utilizacin de herramientas software y hardware de un determinado
fabricante. Haciendo posible por ejemplo la migracin de un determinado
servidor de aplicaciones hacia otro sin ocasionar impacto negativo en las
aplicaciones.
de
contingencia.
ESTRATEGIA DE MIGRACION
Las aplicaciones con nueva implementacin y las que recientemente se
pasaron a produccin deben migrar a esta nueva infraestructura (caso de SIO,
certificacin digital, erep). Para el resto de aplicaciones y segn su
caracterstica de ser crtica o no crtica, se debe formar una comisin integrada