viernes, 3 de junio de 2011

Software Bancario, Parte III: Configuraciones

Ya he comentado suficientemente sobre  nuestra instalación de Flexcube – Oracle en el cluster de servidores HP con Service Guard, sin embargo me quedé con las ganas de implementar una solución mucho más “atrevida”, veamos de que se trata…

Requerimientos
Toda instalación de una plataforma tecnológica importante tiene que responder una serie de preguntas en cuanto a:
1)     ¿Los servicios tienen que estar funcionando 7x24?
2)     ¿Los servicios son críticos para el negocio? Es decir ¿si se para la operación se deja de ganar o se pierde dinero?
3)     ¿Los tiempos de respuestas son realmente críticos?
4)     ¿El negocio es tan bueno como para justificar prácticamente cualquier inversión en tecnología?

En nuestro caso las respuestas a esas preguntas eran: Si, No mucho, No mucho y No.

Bajo estas premisas para el departamento de tecnología era muy importante tener algún tipo de Cluster que garantizara el funcionamiento 7x24, por otro lado para estar preparados a una eventual explosión del negocio que volviese las respuestas “No mucho” en “Si”, queríamos tener algo que permitiese mejorara los tiempos de respuesta con relativa facilidad.

La configuración que se me ocurrió fue la de estructurar un cluster de servidores Intel con Linux, compartiendo una SAN y manejados por RAC de Oracle. ¿Cuáles serían los beneficios de una plataforma de este tipo?

1)     RAC de Oracle nos ofrecería:
a.       Implementación de un esquema Activo – Activo entre todos los servidores: se obtiene una distribución de la carga más o menos uniforme entre todos los miembros del cluster
b.       Incorporación o remoción de un servidor sin traumas: excelente para efectuar trabajos de manutención hardware y/o software así como incrementar el poder de cómputo en tiempo real
c.       Estadísticas de uso, picos, etc.: muy cómodo para hacer estudios de capacidad, detección de cuellos de botella, mal funcionamientos, etc.
2)     Linux nos ofrecería:
a.       Disminución del TCO de los servidores  ya que nos libraríamos del costo del licenciamiento del software operativo propiamente pero no así del soporte ya que es casi obligante para este tipo de instalaciones poseer algún tipo de contrato
b.       Tener en servidores de bajo costo un Unix que está prácticamente a la misma altura que HPUX, Solaris o AIX (los servidores que se necesitan para este tipo sistemas operativos son mucho más costosos que los Intel)

Para protegernos las espaldas se habrían podido adquirir servidores de una buena marca reconocida: IBM, HP, Dell con su respectiva solución SAN, todo certificado por Oracle. Una configuración relativamente económica para el año 2007 podría haber sido teniendo servidores DL380 de HP, procesador Xeón, 8GBytes de memoria RAM, dos discos SCSI de 146GBytes en RAID-1 (solo contentivos del sistema operativo), 4 tarjetas de red 10/100/1000 y la tarjeta de Fibra para la conexión a la SAN. La SAN podría haber sido la EVA 4100 que tuvimos luego. ¿Con cuanto servidores se podría comenzar? Yo diría que tres, para que al momento de remover uno para mantenimiento, todavía quedaran dos dando alta disponibilidad.

Expansibilidad
El crecimiento de esta plataforma para Oracle sería de dos tipos Vertical y Horizontal:

Vertical: Se trata de mejorar el hardware de los servidores existentes, para el ejemplo citado los DL380 de HP pueden crecer fácilmente en memoria hasta 96GBytes. Digamos que una configuración razonable para nuestro caso (sobre todo al pasar de Oracle 9i a Oracle 10g) habría sido de 16GBytes. También se puede instalar un segundo CPU para incrementar el poder de cómputo. Adicionalmente, en cuanto al espacio en disco, la SAN de HP crece fácilmente añadiendo más discos y/o más gabinetes para poder añadir discos.
Horizontal: Simplemente añadir más servidores! Esto es lo hermoso de esta solución, se añaden más servidores, se configura RAC para enterarlo de la nueva situación y de inmediato la carga se reparte con los nuevos elementos.

Desventajas
La única desventaja que le veo a este esquema es el del costo, veamos una tabla comparativa (en cuanto a las configuraciones de hardware y software) entre el esquema Activo – Pasivo y el Activo – Activo:


No tengo los números, pero estoy seguro que en cuanto a la inversión a realizar en software, sería sensiblemente más oneroso el esquema Activo – Activo. En cuanto al hardware si me parece que sería más costosa la solución basada en servidores Itanium.

Activo – Pasivo
Activo – Activo
Cantidad de Servidores
2
3
SAN
HP EVA 4100
HP EVA 4100
Tipo de Servidores
2 x HP rx3600
-       1 x CPU Itanium
-       4 x 146GB de HD
-       8 x GB de RAM
-       4 x 10/100/1000 de red
-       2 x Tarjetas FC
3 x HP DL380G5
-       1 x CPU Xeón
-       2 x 146GB de HD
-       8 x GB de RAM
-       4 x 10/100/1000 de red
-       2 x Tarjetas FC
Sistema Operativo
HP UX
Linux Red Hat
Software de Cluster
2 x HP Service Guard
3 x Oracle RAC
Bases de Datos
1 x Oracle 10g
3 x Oracle 10g

1 comentario:

  1. Giorgio, felicitaciones por este blog !

    Me ha parecido muy útil ya que estamos vendiendo el Flexcube a un banco (en CO).

    Tambien la descripcion de la Recuperacion de Desastres me parecio bien interesante, increible que dicen los expertos sobre las apliaciones mas criticas de un banco !!!
    Hace dos años hice uno para la empresa donde trabajaba, claro que cuando vieron los costos no lo tomaron muy en serio... y no invirtieron nada - pero ya no estoy con ellos :-)

    Vi en tu blog muchas cosas en comun que tengo que explorar, Isaac Asimov ! Technotips, Seguridad Digital, etc ...
    Saludos !

    ResponderEliminar