CLUSTERING Y GRID COMPUTING EN SISTEMAS DE ALTA DISPOBILIDAD PARA SERVICIOS WEB Y MAIL

Share Embed


Descripción

CLUSTERING Y GRID COMPUTING EN SISTEMAS DE ALTA DISPOBILIDAD PARA SERVICIOS WEB Y MAIL Aguilera, Pablo. [email protected] Universidad de las Fuerzas Armadas “ESPE” Estevan Gómez [email protected] Universidad de las Fuerzas Armada “ESPE”

Resumen — En base a las tendencias mundiales, se debe conocer las ventajas y desventajas presentes en las tecnologías clustering y grid computing, para alcanzar una alta disponibilidad en los principales servicios empresariales, que permitan lograr los objetivos organizacionales tanto en la productividad, la integridad, disponibilidad y confiabilidad de la información. Para lograrlo se revisan los principales conceptos y características, buscando direccionar al lector el tipo de tecnología que se adapta a sus necesidades y así sacar provecho a los servicios web y mail de la empresa. Index Terms — Clustering: Es un conjunto de computadoras interconectadas que funcionan en conjunto usando el poder de cómputo de varios procesadores para resolver transacciones complejas. Grid computing: Es la compartición de potencia de procesadores, aprovechando los ciclos de procesamientos no utilizados de cada nodo de la Grid. Abstract — Based on global trends , one must know the advantages and disadvantages present in the clustering technologies and grid computing to achieve high availability in major business services, which will achieve the organizational objectives both productivity , integrity , availability and reliability of the information . To achieve the main concepts and characteristics are reviewed, addressing the reader looking for the kind of technology that adapts to your needs and take advantage of Web services and mail company. .

I. INTRODUCCIÓN Con el cambio de tecnología actual, que cada momento requiere el manejo de información de forma remota, pero manteniendo la confiabilidad y la integridad de la misma, se ve la necesidad de conocer sobre los servicios en cloud, balanceando la carga y desarrollando infraestructuras que permitan tener alta disponibilidad, alcanzando un grado muy alto de continuidad operacional y reduciendo al mínimo el tiempo en el cual el sistema no esté disponible.

Este trabajo se realizó para titulación en la Maestría de Gerencia en Sistemas de la Universidad de las Fuerzas Armadas - ESPE.

Se realiza esta investigación buscando conocer el estado del arte de clustering y grid computing, validando las ventajas y desventajas de cada tecnología, considerando los elementos que lo conforman, la clasificación y su arquitectura; analizando cada una de sus características permitiría al lector estimar con mayor fundamento el tipo de infraestructura que colaboraría al desarrollo empresarial. Existen muchas empresas dedicadas a proporcionar servicio en cloud pero en vista que es un servicio que poco a poco se está haciendo conocer, aún no es aceptado en su totalidad a nivel empresarial, ya que los servidores no están físicamente ubicados en sus propias instalaciones. Un aspecto fundamental que se debe considerar con mucha seriedad, es el tema de los contratos para saber lo que cada empresa ofrece y la responsabilidad que tienen en ambas partes (contratante – contratado). Adicionalmente se puede utilizar el mismo servicio de internet para evaluar las puntuaciones o calificaciones que se han otorgado a la empresa a evaluar. Si luego del análisis aún no se obtiene un consenso de los directivos de la empresa, es recomendable analizar la posibilidad de realizar una implementación interna, y para ello en el presente artículo se indica los conceptos principales y características a considerar. Debido a las múltiples transacciones que se requieren en los sistemas actuales, tenemos la necesidad de cada vez contar con equipos cada vez más potentes, por ello se puede encontrar las llamadas súper computadoras, que no son más que equipos que cuentan con súper procesadores que permiten tener un menor tiempo de respuesta incluso con cálculos muy demandantes. Una gran cantidad de empresas ya cuentan con sistemas transaccionales orientados a la web, y utilizan en gran magnitud los servicios mail precisamente para tener una comunicación casi en tiempo real, sin necesidad de tener la necesidad de pasar cada segundo del tiempo laboral en las oficinas. II. MATERIAL Y MÉTODOS 2.1 Marco Teórico Un cluster es un conjunto de computadoras, construidas mediante la utilización de componentes de hardware que se comportan como si fuera una sola computadora. [6] Día a día las tecnologías clúster siguen evolucionando

apoyando a las aplicaciones de súper cómputo, software de misiones críticas, servidores web, comercio electrónico, bases de datos de alto rendimiento, entre otros. En sus inicios clustering aparece como resultado de varias tendencias actuales, basándose en la disponibilidad de microprocesadores económicos de alto rendimiento, redes de alta velocidad y la creciente necesidad potenciar las aplicaciones, a partir de ahí incluso ya nace una nueva terminología denominada clúster HA. Un cluster HA (High Availability) es un sistema orientado a ofrecer y garantizar servicios de alta disponibilidad, entendiendo por ello que alcanza un grado alto de fiabilidad y la respectiva continuidad de las operaciones. El cluster HA debe ser capaz de detectar cualquier fallo de hardware y software, reiniciar la aplicación en otro nodo y mantener el servicio sin intervención de un operador, garantizando la integridad de los datos. Pero finalmente el clustering presenta una desventaja, ya que como veíamos en la descripción son un grupo de máquinas interconectadas pero adicionalmente estás están dentro de una red LAN, y al existir nuevos requerimientos y nuevas necesidades, aparece un nuevo término, Grid Computing. El concepto de grid computing hace referencia a tecnologías de computación distribuida, en la cual primeramente ya se orienta a redes WAN, permitiendo que los recursos de varios ordenadores resuelvan necesidades existentes, por medio de un intercambio colaborativo y sobre todo utilizando de forma óptima los tiempos inactivos de los procesadores. Por otro lado actualmente se intenta minimizar los gastos de actualización de hardware y software de los equipos informáticos, debido al mejoramiento continuo de la tecnología que a su vez requiere una mayor capacidad incluso de almacenamiento. Utilizado la tecnología de grid computing e integrándola al cloud se lograría una mejora sustancial en la capacidad de procesamiento y almacenamiento sin necesidad de máquinas locales, acceso seguro a la información desde cualquier lugar, innovación constante, entre otros.

A. ELEMENTOS QUE FORMAN PARTE DE UN CLUSTER Los elementos con los que cuenta un cluster son:        

Nodo activo (donde corren los servicios) Nodo pasivo (backup) Servidores reales Software de administración Protocolos de comunicación y servicios Conexiones de red Ambientes de programación paralela Middleware. [2]

Fig. 1. Elementos de un cluster

B. CLASIFICACIÓN DE SISTEMAS Su clasificación radica en las mejoras de prestaciones que se desea conseguir, y es así: Sistemas de alta disponibilidad (HAS – High Availability Systems), donde garantiza que el servicio siempre esté activo, por medio de la tolerancia a fallos. Sistemas de alto rendimiento (HPC – High Performance Computing), se busca alcanzar una potencia de cómputo mayor, es decir, ejecutar trabajos pesados en menor tiempo. Sistemas de alto aprovechamiento (HTS – High Troughput Systems), donde el número de tareas resueltas sea el máximo posible, maximizando el uso de recursos para servir a más clientes. [7] C. CLASIFICACIÓN DE LOS CLUSTER Se clasifican en base a sus características: Cluster de alto rendimiento (HPC – High Performance Cluster), son cluster en los cuales se ejecutan tareas que requieren una gran capacidad transaccional, alto requerimiento de memoria o ambas a la vez. Cluster de alta disponibilidad (HAC – High Availability Cluster), su objetivo es proveer disponibilidad y confiabilidad, La confiabilidad se provee mediante un software que detecta fallos y permite recuperarse frente a ellos, mientras que en hardware se evita tener un único punto de fallo. Cluster de alta eficiencia (HTC – High Throughput Cluster), el objetivo es ejecutar la mayor cantidad de tareas en el menor tiempo posible, el retardo entre los nodos del cluster no es considerado un gran problema. [5] Balanceo de carga, cluster que permite que un conjunto de servidores compartan la carga de trabajo y de tráfico a sus clientes. Las características de este cluster son: ampliar su capacidad fácilmente añadiendo más ordenadores y ante la caída de uno de los servidores, por más que el servicio se vea mermado, el sistema seguirá funcionando. [1] D. ARQUITECTURA DE LOS GRID Se describe la arquitectura Grid en términos de capas donde cada una proveerá funciones específicas. Las capas más altas de esta estructura se orientan más a la relación directa ocn el usuario, mientras las de nivel más bajo se aproximan al hardware (computadores, redes).

Fig. 2. Arquitectura de capas en Grid

Esta tecnología brinda a las empresas el beneficio de la velocidad, lo que supone una ventaja competitiva, con lo cual se provee una mejora en los tiempos para la producción de nuevos productos y servicios. El paralelismo puede ser considerado un problema en base a los equipos paralelos son muy costosos, pero se puede generar el mismo procedimiento utilizando un conjunto de máquinas heterogéneas de pequeño o mediano porte, cuya potencia sumada sea considerable, lo que permite tener sistemas de najo costo y alta potencia. E. CLASIFICACIÓN DE LOS GRID En base a sus características se puede clasificar a los grid dependiendo de su enfoque: INTRAGRID: Que está enfocado a una misma empresa, con recursos heterogéneos, utilizando redes LAN y por tanto contando con menores problemas de seguridad y por ende también menores problemas de confiabilidad. INTERGRID: Su enfoque es a múltiples empresas, requiere múltiples dominios administrativos, utiliza la interconexión WAN, desde este punto la seguridad es un asunto de mucha importancia, y comienzan a aparecer problemas de confiabilidad.

F. DIFERENCIAS Y SIMILITUDES ENTRE LAS DOS TECNOLOGÍAS Las dos tecnologías en análisis son aplicadas en sistemas distribuidos, la principal diferencia la podemos visualizar en la Fig. 3 donde se encuentra que los cluster están más enfocados a un control y administración centralizada, mientras que los grid prácticamente se adapta tanto en centralizado como a descentralizado, siendo su más importante aplicación de modo descentralizado. [11]

Fig. 3. Sistemas de Computación

A diferencia de los cluster como ya se había mencionado anteriormente, los nodos de la grid pueden estar en cualquier parte del mundo. En un cluster se busca el rendimiento de los nodos englobándolos en uno solo, en cambio en un grid el resultado obtenido engloba de las máquinas de una supercomputadora.

III. EVALUACIÓN, VALIDACIÓN Y VERIFICACIÓN DE RESULTADOS 3.1 Evaluación y Discusión de Resultados Al existir múltiples empresas que actualmente ofertan este tipo de servicios, se debe considerar ciertos parámetros que nos ayuden a elegir: Escalabilidad: Conocer el grado de escalabilidad que me permite, ya que la idea principal no es tener los supercomputadores de los cuales solo utilizaremos el 10%, al contrario es poder utilizar los equipos en base a nuestras necesidades, y de modificar las mismas la escalabilidad sea prácticamente transparente. Precios y Costos: Este punto está relacionado con la escalabilidad, ya que según vamos necesitando mayores recursos vamos solicitando y por ende incrementa el valor, a diferencia de tener contratado un servidor dedicado, al cual posiblemente nunca lo utilicemos en su totalidad. Administración de la infraestructura que te pertenece: existen empresas que incluso ofrecen un servicio de administración y por ende está incluido en el costo, mientras que otras no ofrecen este servicio, lo que implica que el contratante es el encargado las máquinas virtuales alojadas en la nube. Alta disponibilidad: Al no depender directamente del hardware, los fallos físicos se reducen ostensiblemente, y la empresa que ofrece el servicio debe indicar los planes contra desastres que tengan establecidos. Rendimiento: Este punto se lo debe evaluar en base al requerimiento del negocio, ya que una empresa que tenía su servidor dedicado y cambia de esquema si va a sentir una diferencia precisamente porque el hardware dedicado es 100% designado, mientras que en cloud se considera el tener una parte del pastel. Seguridad y privacidad: Como en puntos anteriores se indicaba existe mucha controversia al sacar las aplicaciones a la nube en lugar de mantenerlas en equipos físicos, por ello

se debe conocer las políticas y niveles de seguridad, ya que en muchos de los casos es casi imposible conocer físicamente las instalaciones que nos ofrecen el servicio y están al otro lado del mundo en algunos casos. A. CONFIGURACIONES EJEMPLO DE CLUSTER DE ALTA DISPONIBILIDAD Existen múltiples programas para poder realizar el cluster requerido, incluso depende del S.O. de los servidores que utilicemos. Como nuestro enfoque es hacia la alta disponibilidad, vamos a indicar los elementos utilizados en un proyecto de Debian GNU/Linux denominado UltraMonkey, es un proyecto que utiliza diferentes herramientas de Software Libre y busca conseguir el balanceo de carga y alta disponibilidad que es lo que buscamos en el cluster de estudio. La integración de las herramientas no permiten apuntalar el enfoque del cluster por ello podemos ver las características principales de cada una, iniciando con LVS (Linux Virtual Server), por medio de este programa podemos realizar un parche al kernel de Linux y lograr que sea nuestro balanceador de carga, ya que permite balancear muchos protocolos distintos, además que trabaja con las mayoría de protocolos como HTTP, HTTPS, Telnet, FTP, etc. HearBeat es una herramienta que se debe integrar con LVS para aumentar la disponibilidad, debido a que funciona enviando periódicamente un paquete, que si no llegara, indicaría que un servidor no está disponible, cuando un ordenador se lo considera “muerto” se hace una transición en el cluster; el problema de esta herramienta es puede provocar colisiones con los tráficos que vayan por la misma red. Ldirectord trabaja con las dos herramientas anteriores, y su función es censar por medio del envío de una cadena url conocida y comprobando que la respuesta contenga una cadena concreta y así verifica que los servidores principales estén en línea. MON (Service Monitoring Service) este software nos permite definir diferentes alarmas y acciones a tomar cuando un servicio deje de funcionar, son programas escritos en Perl que se puede configurar el monitoreo y la frecuencia y además las acciones específicas en base a las alertas. [12] B. CONFIGURACIONES EJEMPLO COMPUTING DE ALTA DISPONIBILIDAD

DE

GRID

Para el middleware de Grid, Globus Toolkit, se identificó como una de las herramientas más completas, su documentación tanto de implementación, como de configuración, administración y uso, se encuentra en diferentes idiomas y ambientes de desarrollo. Nos permite manejar la gestión de recursos, los servicios de información y monitorización, así como la gestión de traslado de datos. Además incluye un software relacionado con seguridad, información y manejo de recursos y manejo de datos. [13]

IV. TRABAJOS RELACIONADOS Al finalizar la lectura podemos realizar prácticas de laboratorio para validar los conceptos revisados, uno de los primeros trabajos propuestos es realizar un clustering debido a la facilidad y flexibilidad, utilizando la misma configuración de hardware y sistema operativo (cluster homogéneo), diferente rendimiento pero con arquitecturas y sistemas operativos similares (cluster semi-homogéneo), o tener diferente hardware y sistema operativo (cluster heterogéneo). Además es recomendable para facilidad de comunicación y acceso, sistemas operativos como GNU/Linux, Mac OS X o Windows NT/2000/2003 Server. Al sincronizar así los equipos se puede validar el tiempo de respuesta sobre todo en transacciones complejas, para ello incluso se debe realizar un pequeño programa en cualquier lenguaje que necesite un procesamiento especial. V. CONCLUSIONES Y TRABAJO FUTURO Este tipo de tecnologías proveen una alta disponibilidad en respuesta a solicitudes complejas, pero se debe identificar correctamente cual se debe utilizar e incluso si la infraestructura se la adquiere in-house o se la alquila. En las tecnologías grid se debe considerar el no aplicarlas en aplicaciones paralelas con muchos interprocesadores de comunicación, aplicaciones con muchas interdependencias entre trabajos y aplicaciones sin protocolos de red estándar. Un cluster implementado, representa varios beneficios entre otros encontramos la disponibilidad por la redundancia del hardware, el sistema operativo y las aplicaciones; escalabilidad mediante la incorporación de nuevos servidores o cluster en la red; alto rendimiento y alta productividad. Cabe recalcar que las tecnologías mencionadas también presentan ciertas desventajas que se han venido hablando durante el documento, por lo mismo la recomendación es la de siempre evaluar las necesidades empresariales, y las características de cada tecnología y de esta forma verificar el costo beneficio. Se puede mencionar que grid computing, es un paradigma de sistemas distribuidos, que nos permite combinar la potencia de muchos computadores y otros equipos para alcanzar una alta disponibilidad. Pero con ciertas complicaciones que provienen de la difícil sincronización de los distintos procesos de todos los equipos, controlando los recursos, asignando las distintas cargas de trabajo e incluyendo las políticas de seguridad.

AGRADECIMIENTO El más grato reconocimiento a las personas que día a día investigan y generan nuevos modelos tecnológicos para cubrir las necesidades que se presentan día a día, y principalmente en el caso de la seguridad informática. El poder aportar por medio de prácticas de seguridad, permite recordar el grado de importancia que tiene la información en cualquier empresa o institución. Un agradecimiento a nuestro apreciado maestro, que logró

inculcar modelos de estudio y un espíritu investigador que nos permita publicar documentos científicos, basados en la búsqueda de nuevas tecnologías, o en la repotenciación de las ya existentes. Actualmente el constante aumento de las exigencias para alcanzar una mayor eficiencia en cada uno de sus procesos, las empresas requieren los servicios de la plataforma de TI, exigiendo tiempos de respuesta muy cercanos al 100%, lo que implica la necesidad de soluciones de Alta Disponibilidad, que permitan garantizar un estado de funcionamiento constante. REFERENCIAS BIBLIOGRÁFICAS [1]

[2]

AGUILAR RESELLÓ V. J., Clústering de Alta Disponibilidad bajo GNU/Linux, Documento en línea disponible: http:// www.bisente.com/documentos/clústering/informe.pdf. Septiembre 2002. GALLARDO P. FLAVIO. M. Diseño de una solución para servidores de alta disponibilidad y balanceo de carga con Open Source, Documento en línea disponible:http://es.scribd. com/doc/57937293/33/Funcionamiento-de-un-clúster. Mayo 2011..

[3]

MORENO R. ALBERTO. Clúster Web de alta disponibilidad a través de una red de área extensa, Documento en línea disponible: http://oa.upm.es/4958/2/PFC_ALBERTO_MORENO_ RAMIREZ.pdf. Marzo 2010.

[4]

URREJOLA R. ANTONIO, ORTIZ FERNANDO.2009 Diseño de un clúster de balanceo de carga y alta disponibilidad para un servidor web en Linux utilizando ultra-Monkey; Documento en línea disponible:http://www.buenastareas.com/ ensayos/Balanceo-De-Carga/468560.html. 2009.

[5]

OÑATE A., VÍCTOR M. ORTEGA S., EDWARD J. PARRELLA R., JOSÉ M. Clúster de alta disponibilidad con balanceo de carga para servicios corporativos sobre Debian GNU/Linux; Documento en línea disponible: http://es.scribd.com/doc/25185182/ Clústers-de-alta-disponibilidad-con-balanceo-de-carga-pa paraservicios-corporativos-sobre-Debian-GNU-Linux-Casode-exito-EDELCA. 2010.

[6]

BUYYA, ROBERT. High Performance Clúster Computing: Architectures and Systems. Volumen 1. Prentice-Hall PRT. 1999.

[7]

Transparent Process Migration: Design Alternatives and the Sprite Implementation (1991) Fred Douglis, John Ousterhout. Software - Practice and Experience

[8]

BProc: Beowulf Distributed Process Space ; Documento en línea disponible: http://bproc.sourceforge.net

[9]

A Dynamic Load Balancing System for Parallel Cluster Computing (1996) B. J. Overeinder, P. M. A. Sloot, R. N. Heederik. Future Generation Computer Systems

[10] “THE DATA GRID ARCHITECTURE”, Work package:

WP12: Project Management. Partners: CERN, CS SI, Documento en línea disponible: https://edms.cern.ch/file/333671/3.0/DataGrid-12-D12.4333671-3-0.pdf [11] “DISEÑO DE SISTEMAS DISTRIBUIDOS”, Felix García

Caballeria, Master en Ciencia y Tecnología Informática, Documento en línea disponible: http://www.arcos.inf.uc3m.es/~dsd/lib/exe/fetch.php?media=clu ster-grid.pdf [12] “PASOS PARA CREAR UN CLUSTER”, Sergio González

González, Documento en línea disponible: http://www.sergio-gonzalez.com/doc/09-conceptos-declustering/html/index.html [13] “Welcome to the Globus Toolkit Homepage”, Globus, Globus

Alliance, and Globus Toolkit are trademarks held by the University of Chicago, Documento en línea disponible: http://toolkit.globus.org/toolkit/

BIOGRAFÍA

Pablo A. Aguilera V. Graduado del Colegio Técnico Salesiano Don Bosco, con la especialidad de Electrónica, posteriormente sus estudios superiores los realizó en la Escuela Politécnica del Ejercito ESPE, culminando exitosamente los estudios de Ingeniero en Sistemas; actualmente estudia la Maestría de Gerencia de Sistemas en la misma universidad. Desde el año 2006 se encuentra trabajando en la empresa ECUAQUIMICA C.A. y actualmente desempeña el cargo de Jefe Regional de Tecnología.

Estevan Gómez, se graduó de Ingeniero en

Sistemas en la Escuela Politécnica del Ejército trabaja como Docente a nivel de Pre-grado y Post grado. Phd Candidate por la Universidad Nacional de la Plata- Argentina

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.