SciELO - Scientific Electronic Library Online

 
 issue7Cloud Computing ¿Esta Bolivia en la Nube?Cloud Computingy VMware author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Article

Indicators

    Related links

    • Have no cited articlesCited by SciELO
    • Have no similar articlesSimilars in SciELO

    Bookmark

    Revista de Información, Tecnología y Sociedad

    Print version ISSN 1997-4044

    RITS  no.7 La Paz Nov. 2012

     

    Artículo

     

    Software Arquitectura de Alta Disponibilidad en la Nube

     

     

    Magaly Norah Salazar Martínez
    Universidad Mayor de San Andrés
    Facultad de Ciencias Puras y Naturales
    Carrera de Informática
    Simulación de Sistemas
    maguita01@hotmail.es

     

     


    RESUMEN

    El término Cloud Computing llega a tornarse amplio en las tecnologías actuales aplicadas en nuestro medio. Veremos algunos cambios de paradigma en la concepción de la tolerancia a fallos presentados en máquinas para arquitecturas basadas en la nube, nos referiremos a la entrega de computación, almacenamiento, plataformas de aplicaciones y software como un conjunto de servicios para dar soporte a aplicaciones empresariales de una organización, esto para garantizar el más alto nivel de disponibilidad y tolerancia a fallos en la nube.

    Palabras Clave

    Software, Arquitectura, Tolerancia a Fallos, Cloud Computing, Servicio.


     

     

    3.  INTRODUCCIÓN

    El hecho de diseñar aplicaciones empresariales para la solución de tolerancia a fallos resulta muy familiar, ya que existen mejores prácticas que aseguran una mejor disponibilidad, sin embargo arquitecturas diseñadas en la nube tienden a fallar de una manera muy distinta a los que están basados en arquitecturas de máquina. Acontecimientos recientes sugieren que existen aplicaciones en la nube que no son soportadas por arquitecturas de máquinas y que cuando se producen fallos inevitables estas aplicaciones no llegan a sobrevivir a interrupciones de esta infraestructura.

     

    4.  MARCO TEÓRICO

    La entrega de Tecnologías de Información (TI)14 como un servicio tiene varias ventajas conocidas, con un potencial muy alto para una verdadera revolución en las distintas corporaciones.

    En lugar de exigir a los departamentos de TI la asignación y gestionamiento de máquinas físicas o virtuales para soportar aplicaciones de negocios, la Computación en la Nube permite que se entregue a través de un conjunto abstracto de servicios, posibilitado para el uso compartido de los recursos y economías de escala.

    Esto cuenta con varias ventajas claves las cuales son: usuario de autoservicio, tiempo rápido al mercado, mantenimiento reducido en el área operativa y administrativa, enfoque en el desarrollo de la innovación a través de software, reducción de la inversión de capital en hardware y software.

    Se cuentan con varios niveles de abstracción de la infraestructura de aplicaciones [1], que van desde computación y almacenamiento abstracto hasta llegar a abstraer todas las capas de aplicaciones (Ej."Figura 1"). Los tres niveles de abstracción más comunes son:

    2.1. Infraestructura como servicio (IaaS)

    La Infraestructura como servicio (IAAS) es un modelo de distribución de infraestructura de computación como un servicio.

    Esto quiere decir que se entregará a manera de servicio el hardware de redes, computación, y además otros que tengan que ver con el área. Las empresas, organización y otros ven la posibilidad de adquirir servidores, buscar un espacio en un centro de datos o equipamiento de redes, y los clientes compran todos estos recursos a un proveedor cuyos servicios son externos. Un buen ejemplo de IAAS son: el Amazone Web Services, Cloud Builder, mainframes.

    2.2. Plataforma como servicio (PaaS)

    En la Plataforma como Servicio (PaaS) los componentes de la plataforma de aplicaciones, (bases de datos, infraestructura de mensajería, se entregan como un servicio). Así como con esta plataforma se pueden resolver más servicios, también se puede ver que tienen más limitaciones en el ámbito de ejecución (sistemas a utilizar, modelos de base de datos, lenguajes, etc.). Algunos de los ejemplos de PaaS que su puede mencionar son: Google App Engine,Oracle Exalogic, Oracle Exadata, and Oracle SuperCluster, Windows Azure.

    2.3. Software como servicio (SaaS)

    Modelo de distribución de software donde una empresa sirve el mantenimiento, soporte y operación que usará el cliente durante el tiempo que haya contratado el servicio. Las aplicaciones internas de negocio, tales como el correo electrónico, CRM, HCM, y aplicaciones de oficina ERP, se entregan como un servicio. Ejemplos de empresas SaaS incluyen Oracle Fusion HCM Cloud Service, Oracle Fusion CRM Cloud Service, Oracle RightNow CX Cloud Service, y Oracle Taleo Cloud Service.


    Figura 1. Niveles de Abstracción de Modelos de Servicios Cloud Computing

     

    5. TIPOS DE NUBE

    Se puede mencionar distintos tipos de nubes las cuales se diferencian por el proveedor de la infraestructura en la nube y laubicación física, estas atienden a las necesidades de las empresas, al modelo de servicio ofrecido y de qué manera se despliegan. [2] Los tres modelos de nube más comunes de implementación son: las nubes públicas (Public Cloud), Nubes privadas (Private Cloud), Nubes hibridas (Hybrid Cloud). [3]

    3.1. Nubes Públicas (Public cloud)

    Con esta infraestructura los recursos públicos se ponen a disposición del público por el proveedor. Por lo general, los proveedores aprovechan su infraestructura existente para proporcionar recursos de la nube a escala para apoyar el público en general.

    3.2.Nubes Privadas (Private Cloud)

    Son recursos particulares de la Computación en la Nube que sólo están disponibles para un grupo limitado de consumidores, por lo general de una organización. La infraestructura de nube se está ejecutando en el centro físico de la organización de datos, o en una co-ubicación. Las nubes privadas son una buena opción para las compañías que necesitan alta protección de datos y ediciones a nivel de servicio. En general, una nube privada es una plataforma para la obtención solamente de hardware, es decir, máquinas, almacenamiento e infraestructura de red (IaaS), pero también se puede tener una nube privada que permita desplegar aplicaciones (PaaS) e incluso aplicaciones (SaaS).

    3.3.Nubes Hibridas (Hybrid Cloud)

    Una nube híbrida es una mezcla de recursos públicos y privados. Por ejemplo, una organización puede utilizar su nube privada para las operaciones diarias, y luego escalar a una nube pública para las necesidades de recursos por los usuarios.

     

    6. CONSIDERACIONES EN EL DISEÑO NUBE

    Existen consideraciones que se den tomar en cuenta con respecto al diseño ya que las mismas pueden afectar la tolerancia a fallos y la alta disponibilidad en la computación en la nube.

    4.1.Varias zonas

    Las zonas son los grupos de recursos de Computación en la Nube que físicamente se encuentran aislados unos de otros. Esto causará la redundancia en las instalaciones de Computación en la Nube para que las aplicaciones puedan ser expandidas. Una manera accesible de poder diseñar para la tolerancia a fallos en la nube es manipular las múltiples zonas para las aplicaciones. Si un servicio se distribuye entre varias zonas, los consumidores de este servicio podrán tenerlo al alcance, facilitando así su disponibilidad.

    4.2. Replicación de datos Global Existen ocasiones en las cuales se necesita realizar llamadas de base de datos a una zona geográficamente distante, en ocasiones resulta ser muy lento y costoso. Un enfoque que resolvería este problema sería replicar los datos entre zonas.

    Para abordar esta cuestión, se puede contar con algunos productos como ser el Oracle Coherence el cual usa una técnica conocida como Sharding2. Ya que con esta técnica un conjunto de datos se va particionando en trozos pequeños y se van distribuyendo a través de un grupo de tal manera que dicho conjunto de datos se puede llegar a reconstruir incluso si hay un fallo de sus partes individuales. Esto da a entender que sólo trozos muy pequeños de datos se replican a través de zonas en cualquier momento, mientras que los conjuntos de datos completos están siempre disponibles en la zona local y de esa manera tener accesos a estos conjuntos de datos.

    4.3. Cliente de almacenamiento en caché y el acceso sin conexión

    Podemos mencionar una de las características que son parte de las modernas aplicaciones basadas en la nube, esta es el número de canales de usuarios finales que tienen que ser compatibles. Por ejemplo, muchas aplicaciones de negocios ahora son compatibles con navegadores web, dispositivos móvilesal mismo tiempo. Muchos de estos dispositivos de usuario final, se encuentran con una conexión de red de bajo ancho de banda. Esto significa que el diseño de la aplicación algunas veces se encuentra limitado o lento a recursos de la nube. Un forma de darle solución a estas limitaciones es utilizar un peer-to-peer3, de esa manera el cliente puede tener acceso a los datos de la aplicación a través de una caché local, y la caché se puede actualizar cuando el cliente está conectado o tiene una conexión de ancho de banda más alto.

     

    5.  CONCLUSIONES

    Dentro del estudio de la tolerancia a fallos y alta disponibilidad se pudo ver que las consideraciones a tomar en cuenta son atributos necesarios para todo tipo de aplicaciones en una empresa, ya que si no se tiene conocimiento sobre el tema y en algún determinado momento algún fallo se presenta, el tiempo de inactividad que puede provocar el sistema puede significar una pérdida de ingresos y la confianza de las partes interesadas, como ser los usuarios, etc.

     

    NOTAS

    1 Un servicio de TI es un conjunto de actividades que busca responder las necesidades de un cliente por medio de un cambio de condición de bienes informáticos.

    2Sharding es una técnica que consiste en particionar los datos de la base de datos horizontalmente agrupándolos de algún modo que tenga sentido y que permita un direccionamiento más rápido.

    3Peer-to-peer es una red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre sí. Es decir, actúan simultáneamente como clientes y servidores respecto a los demás nodos de la red.

     

    6.   REFERENCIAS

    [1] http://www.srh-hochschule-berlin.de/fileadmin/srh/berlin/pdfs/Publikationen/Cloud-Computing-Governance_2011.pdf (Cloud Computing Governance Aspects).        [ Links ]

    [2] http://www.societic.com/2010/06/cloud-computing-tipos-de-nubes-de-aplicaciones/ (Tipos De Nube)        [ Links ]

    [3] http://thecloudtutorial.com/cloudtypes.html (Types Of Cloud Computing).        [ Links ]