Campuzano y Arrieta / J. Comput. Electron. Sci.: Theory Appl., vol. 3 no. 2, pp. 33-40, Julio - Diciembre, 2022
Universidad del Sinú. Cartagena (Colombia)
estebancampuzano@unisinu.edu.co
Universidad del Sinú. Cartagena (Colombia)
investigacionsistemas@unisinucartagena.edu.co
.
Para citar:
E. Campuzano y E. Arrieta, “Implementación de una Arquitectura Tecnológica Basada en Computación en la Nube para el Desarrollo de la Aplicación Web “Gestor Urbano” para Apoyar la Oficina Legal de la Universidad del Sinú”, J. Comput. Electron. Sci.: Theory Appl., vol. 3, no. 2, pp. 33–40, 2022. https://doi.org/10.17981/cesta.03.02.2022.05
.
Resumen
Introducción— Esta investigación resalta la importancia de Cloud Computing (computación en la Nube) como una de las tecnologías más importantes de la industria 4.0, y un elemento clave para lograr la transformación digital promovida por el gobierno colombiano, ya que permite soportar y desplegar a las otras tecnologías y aplicaciones que gestionan la información de las operaciones de una organización y que están disponibles desde cualquier dispositivo electrónico con conexión a internet.
Objetivos— En correspondencia, es el interés de este proyecto de investigación realizar un estudio de los fundamentos teóricos básicos de esta tecnología, los servicios, los modelos que ofrecen la computación en la Nube y los servicios que ofrece la computación en la nube.
Metodología— Para el desarrollo de la investigación, inicialmente se indagó sobre los fundamentos teóricos, características, servicios, ventajas y desventajas, proveedores de servicios, lo cual permitió identificar las diferentes alternativas de implementación y configuración de la aplicación web "Gestor Urbano" desarrollada para el Consultorio Jurídico de la escuela de Derecho de la Universidad del Sinú (Cartagena, Colombia).
Resultados— La metodología planteada permitió cumplir con el propósito de la investigación que es la implementación de una arquitectura tecnológica basada en la nube para la aplicación web “Gestor Urbano” como soporte al consultorio jurídico del Programa de Derecho de la Universidad del Sinú.
Conclusiones— Se construyó un modelo con la arquitectura computacional requerida para el despliegue de la aplicación, identificando sus componentes, tecnologías y dispositivos por los cuales se puede acceder a la aplicación.
Palabras clave— Aplicación web; arquitectura en la nube; computación en la nube; implementación de software; Tecnologías de la Información y las Comunicaciones
Abstract
Introduction— This research highlights the importance of Cloud Computing (cloud computing) as one of the most important technologies in industry 4.0, and a key element to achieve the digital transformation promoted by the Colombian government, since it allows supporting and deploying the other technologies and applications that manage the information of an organization’s operations and that are available from any electronic device with an Internet connection.
Objectives— Correspondingly, it is the interest of this research project to carry out a study of the basic theoretical foundations of this technology, the services, the models offered by Cloud Computing and the services offered by Cloud Computing.
Methodology— For the development of the results Initially, the theoretical foundations, characteristics, services, advantages and disadvantages, service providers were investigated, which allowed identifying the different implementation and configuration alternatives of the “Urban Manager” web application developed for the Legal Office of the School of Law of the Universidad del Sinú (Cartagena, Colombia).
Results— The proposed methodology allowed to fulfill the purpose of the research, which is the implementation of a technological architecture based on the cloud for the web application “Gestor Urbano” as support for the legal office of the Law Program of the Universidad del Sinú.
Conclusions— a model was built with the computational architecture required for the deployment of the application, identifying its components, technologies, and devices through which the application can be accessed.
Keywords— Web application; cloud architecture; cloud computing; software implementation; Information and Communication Technologies
I. Introducción
El desarrollo de las Tecnologías de la Información y las Comunicaciones-TIC son los protagonistas para la competitividad económica e industrial a nivel local, regional e internacional. Las empresas con capacidades obsoletas posiblemente quedarán excluidas de los mercados mundiales. Una de las tecnologías de gran importancia en la actualidad y con un potencial de crecimiento muy significativo y además considerada como una base para el desarrollo de otras líneas y tecnologías es la Computación en la Nube, la cual puede describirse como la práctica de utilizar una red de servidores remotos alojados en Internet para almacenar, administrar y procesar datos. Con el uso de esta tecnología es posible evitar el uso de servicios de infraestructura local y todos los riesgos que implica. La Computación en la Nube puede mejorar la productividad empresarial, ofreciendo sus mejores servicios para garantizar características de calidad como la confiablidad, disponibilidad y seguridad de la información y de las aplicaciones que la soportan. Algunos trabajos realizados por universidades como la Universidad de Cali [4] y la Universidad Católica de Colombia [5] presentan implementaciones exitosas de arquitecturas como microservicios en la nube.
En virtud de lo anterior, se propone una investigación, la cual permita realizar un estudio de las tecnologías y los servicios que ofrece la Computación en la Nube. Inicialmente se indaga sobre los fundamentos teóricos, características, servicios, ventajas y desventajas, identificando las diferentes alternativas de implementación de la aplicación web “Gestor Urbano” desarrollada para el Consultorio Jurídico de la escuela de Derecho de la Universidad del Sinú (Cartagena, Colombia) el cual es el caso de estudio. También se presenta el diseño de la arquitectura que el sistema requiere y se presentarán los casos de prueba para validar el despliegue y puesta en marcha de la aplicación.
Con la aplicación de la metodología en fases se logra identificar los aspectos mas importantes y decisivos a la hora de definir la nube y los tipos de servicios a implementar cuando se desea desplegar una aplicación en la nube.
II. Metodología de Desarrollo
Este es una investigación de tipo aplicado con un enfoque cuantitativo que permitirá determinar la plataforma en la Nube adecuada para un problema específico. Para esta investigación se usa una metodología estructurada y secuencial divididas en las siguientes fases:
A continuación, en la Tabla 1 se presenta un cuadro metodológico en el cual se articulan los objetivos de la investigación con las fases de la metodología y las actividades que permitan dar cumplimiento a los mismos.
Fases |
Objetivos |
Actividades |
Análisis preliminar |
Realizar un estudio comparativo con respecto a las características, ventajas y desventajas de las plataformas Cloud existentes y recomendar la que más se ajuste a las necesidades del software. |
Realizar una investigación sobre Cloud Computing y los servicios que prestan al usuario. |
Diseño de la arquitectura tecnológica |
Realizar un diagnóstico de la arquitectura computacional de la Universidad del Sinú-Seccional Cartagena dispuesta para el despliegue y consumo de la aplicación. Modelar la arquitectura computacional seleccionada acorde a las necesidades del software del Consultorio Jurídico. |
Seleccionar el servicio en el cual se va a desplegar el software. Realizar las configuraciones al momento del despliegue. Definir los recursos que puede proporcionar la universidad el Sinú (Reunión con el jefe de sistemas). |
Implementación de la aplicación |
Implementar el software “Gestor Urbano” en la arquitectura propuesta. |
Subir los archivos a la plataforma cloud seleccionada. Configurar base de datos. Despliegue de la aplicación. Realizar las pruebas de funcionamiento del software ya debidamente desplegado en el servicio de la nube seleccionado. |
III. Marco Teórico
Computación en la Nube: La Computación en la Nube se define como la evolución de un conjunto de tecnologías que afectan al enfoque de las organizaciones y empresas en la construcción de sus infraestructuras de TI [1]. Al igual que ha sucedido con la evolución de la Web, con la Web 2.0 y la Web Semántica, la computación es una evolución de las tecnologías existentes. Se han unido tecnologías potentes e innovadoras, para construir este nuevo modelo y arquitectura de la Web. Luego entonces, la nube puede ser infraestructura o software, es decir, puede ser una aplicación a la que se accede a través del escritorio y se ejecuta inmediatamente tras su descarga, o bien un servidor al que se invoca cuando se necesita. En la práctica, la informática en la nube proporciona un servicio de software o hardware.
Por otra parte, uno de los organismos más reconocidos es el National Institute of Standards and Technology (NIST) y su Information Technology Laboratory, que definen la Computación en la Nube (cloud computing) como:
“Un modelo que permite el acceso bajo demanda a través de la Red a un conjunto compartido de recursos de computación configurables (redes, servidores, almacenamiento, aplicaciones y servicios) que se pueden aprovisionar rápidamente con el mínimo esfuerzo de gestión o interacción del proveedor del servicio” [2].
Otros trabajos como lo describen los autores de la Universidad del País Vasco en España [3] definen que la tecnología Cloud es la gestión y suministro de aplicaciones, información y datos como un servicio. Estos servicios son suministrados a través de internet. Los recursos TI son proporcionados en la red para ser compartidos por múltiples usuarios y a través de diferentes dispositivos permitiéndoles trabajar a la vez sobre el mismo tema. Por lo tanto, la tecnología Cloud proporciona el acceso a los servicios TI sin importar cuáles son los sistemas físicos o su localización. El único requisito es tener un acceso a internet. Esto permite a las compañías no tener que almacenar la información en sus propios dispositivos. Es más, dicha información puede ser encontrada en los sistemas suministrados por la nube. Desaparece la necesidad de instalar programas y aplicaciones informáticas en los sistemas de la organización. Éstos podrán ejecutarse y funcionar en la nube. Como resultado, se produce un gran ahorro energético y también de costes, ya que no existen requisitos asociados a la capacidad de procesamiento y almacenamiento.
IV. Resultados
Como el propósito de esta investigación es determinar las tecnologías y servicios adecuados que se requieren para la migración de una aplicación web en un ambiente Cloud, ya que esta puede ser una tarea compleja sobre todo para las personas que no tienen experiencia en este tipo de tecnologías. Por lo cual la metodología implementada plantea como primer paso la realización de una descripción comparativa entre los principales proveedores de plataforma Cloud Computing, obteniendo como resultado una matriz consolidada con unos parámetros de verificación entre cada uno de los proveedores (Tabla 2).
Parámetros |
Amazon Web Service (AWS) |
Microsoft Azure |
Google App Engine |
Servicios |
Proporciona PaaS e IaaS |
Proporciona IaaS, PaaS y SaaS |
Proporciona PaaS y SaaS |
Computación |
Amazon ofrece un entorno de máquinas virtuales que son preconfiguradas o que pueden ser creadas y redimensionadas según las necesidades, así los usuarios y las empresas pueden expandirse tanto como deseen sus máquinas. |
Permite crear máquinas virtuales ya sean en Windows O Linux con la infraestructura que se necesite para ejecutar aplicaciones, Además, incluye una solución de identidad por lo que se obtiene protección administrada compatible con Active Directory que ayuda a proteger el acceso a las aplicaciones. |
Cuenta con un conjunto de productos que permite a los clientes poder desarrollar y ejecutar aplicaciones y sitios web. Permite al usuario almacenar y analizar datos sobre la infraestructura de Google. |
Almacenamiento |
AWS cuenta con Elastic Block Store (EBS) que es un servicio de almacenamiento de bloque de alto para usar en varias instancias de Amazon Elastic Compute Cloud (EC2) que es la nube de Amazon. En EBS se puede implementar aplicaciones empresariales, en contenedores El servicio de almacenamiento simple de Amazon (Amazon S3) almacena objetos de hasta 5 GB y volúmenes que van desde 1GB a 1TB. |
Proporciona almacenamiento para almacenar grandes cantidades de datos no estructurados. Cuenta con Blob Storage que proporciona almacenamiento para crear aplicaciones móviles y nativas de nube Hay dos tipos de Blob Storage: 1. block blobs que consiste en bloques de hasta 4MB y son más eficientes cuando se carga grandes blobs 2. page blobs que son ideales para almacenar estructuras de datos dispersas y basados en índices como SO y discos de datos para máquinas virtuales y bases de datos. |
Tiene un disco de 10GB de tamaño por defecto que se ejecuta en la máquina virtual. Los desarrolladores pueden almacenar objetos y archivos hasta el tamaño de TBs, además son capaces de controlar a los datos. No importa cuantos usuarios estén activos o la cantidad de datos, GAE puede escalar con flexibilidad. |
Lenguaje soportado |
Se puede utilizar cualquier lenguaje de programación. |
Soporta VB.NET, C#, PHP, JavaScript, Python, .NET y Node.js. |
Node.js, Java, Ruby, C#, Go, Python o PHP, o bien en tu propio entorno de ejecución de lenguajes. |
Seguridad |
Cuenta con gestión de identidad y acceso: Multi-Factor Authentication (MFA) es una práctica que agrega una capa adicional de protección además de su nombre de usuario y contraseña. AWS Key Management Service (KMS) facilita la creación y administración de claves criptográficas y el control de su uso en servicios AWS y las aplicaciones. Cuenta con AWS CloudHSM es un módulo de seguridad de hardware (HSM) basado en la nube que le permite generar y utilizar fácilmente sus propias claves de cifrado en la nube de AWS. |
Cuenta con Azure Active Directory que brinda un servicio de administración de identidades, El control de acceso basado en roles de Azure (Azure RBAC) ayuda a administrar quienes tienen acceso a los recursos de Azure, qué pueden hacer con esos recursos y a qué áreas tienen acceso. Cuenta con Autenticación de múltiples factores. Cuenta con un centro de seguridad. BYOK pueden optar por configurar su inquilino con su propia clave, en lugar de una clave predeterminada generada por Microsoft. |
Google App Engine es un sistema seguro. Los problemas de seguridad de las aplicaciones web están son analizadas y detectadas de forma automática con un sistema implementado en el llamado Security Scanner. Este identifica de inmediato las amenazas y evita los falsos positivos. |
Mecanismos de pago |
Pago por uso. |
Pago por uso de la plataforma Cobro por minutos. |
Solo pagas por los recursos que usas por fuera de las cuotas gratuitas. Una vez que superas las cuotas gratuitas, los costos se escalan con la cantidad de tráfico que recibe la aplicación. |
Con el análisis comparativo de la Tabla 2 se identifica que para la aplicación “Gestor Urbano” el tipo de servicio que se requiere es un modelo de servicio (PaaS), y el proveedor que cubre las necesidades de publicación de aplicaciones en lenguaje PHP, aplicaciones móviles, servicio de almacenamiento y bajo costo es, Microsoft Azure y se usan los servicios de almacenamiento de base de datos y App Service, dando respuesta de esta manera a los requerimientos técnicos documentados que la aplicación “Gestor Urbano” demandaba para su despliegue.
Otros productos importantes de esta investigación, es la documentación de la configuración de los servicios en la plataforma Microsoft Azure, la cual fue seleccionada acorde a unos criterios establecidos y se escogió como la mejor opción por su costo, soporte y fácil configuración. Este contenido servirá de guía para futuros trabajos en este tema de investigación. En la Fig. 1 se muestra un esquema que contiene la arquitectura que se utiliza para el software “Gestor urbano” en la Nube, la cual está integrada por los siguientes componentes: Microsoft Azure, Internet, la red del consultorio jurídico y los dispositivos que permitirán el acceso de la ciudadanía.
A. Microsoft Azure
Esta plataforma Cloud permitió seleccionar tres servicios requeridos para el despliegue del software: un servidor, un motor de base de datos en MySQL y el servicio de App Service que se describen a continuación.
Entre los recursos instalados en el servidor se encuentran:
El primer paso consistió en la configuración general de la base de datos. A continuación, se describe un diagrama con la configuración realizada (Fig. 5):
El segundo lugar se configura el acceso de la red y seguridad del servidor de Base de datos de la siguiente forma
El tercer paso del proceso consistió en la transferencia de la base de datos, para la cual, se utilizó una aplicación llamada MySQL Workbench que permite realizar la conexión con el servicio de base de datos de la Nube Azure que se implementó anteriormente, para así transferirle los datos a este servicio y pueda complementar la información de la aplicación “Gestor Urbano”. Al establecer la conexión con el servidor MySQL se procede al siguiente paso que es el de transferir la base de datos.
El tercer paso es la creación e implementación del servicio App Service para lo cual se siguieron los pasos se realizaron las siguientes configuraciones:
El cuarto paso es trasferencia del código fuente de la aplicación “Gestor Urbano”, en la cual, se realizó una conexión FTPS suministrando en la herramienta FileZilla. Para ello fue necesario la conexión con la base de datos, y luego, seleccionar los archivos que se van a transferir al servicio App Service para el debido funcionamiento de la aplicación. Al finalizar la carga de todos los archivos se ejecuta este servicio en la plataforma de Microsoft Azure. Al realizar todos estos pasos anteriormente ya se puede iniciar cada uno de los servicios en la nube de Azure para la respectiva ejecución de la aplicación en la nube.
Para iniciar la aplicación “Gestor Urbano” ya debidamente implementada en el servicio de la nube seleccionada se ingresa al portal de Azure donde se encuentran los servicios que se adquirieron, como son ñ base de datos Mysql y el App service. Finalmente la aplicación se despliega satisfactoriamente, cumpliendo a cabalidad las pruebas en una plataforma en la nube como se presenta en la Fig. 6.
La metodología planteada permitió cumplir con el propósito de la investigación que es la implementación de una arquitectura tecnológica basada en la nube para la aplicación web “Gestor Urbano” como soporte al consultorio jurídico del Programa de Derecho de la Universidad del Sinú.
V. Conclusiones
En conclusión, la metodología abordada permitió cumplir con el propósito de la investigación, la cual consistió en implementar una arquitectura atecnológica basada en Cloud Computing que permita desplegar la aplicación web “Gestor Urbano”. En primer lugar, se prestó especial atención en la revisión de la literatura de los últimos cinco años relacionada con la Computación en la Nube, permitiendo obtener la información actualizada y de fuentes fiables de las características, ventajas y desventajas de las plataformas Cloud existentes, lo que posibilitó escoger la plataforma que más se ajustaba a las necesidades de la aplicación “Gestor Urbano”. A continuación, se construyó un modelo con la arquitectura computacional requerida para el despliegue de la aplicación, identificando sus componentes, tecnologías y dispositivos por los cuales se puede acceder a la aplicación. Y finalmente, se realiza una clara descripción de cómo se configuraron los servicios y las pruebas funcionales para comprobar la implementación de la aplicación “Gestor Urbano” en la plataforma seleccionada.
Financiamiento
El trabajo es financiado por la Universidad del Sinú y con recursos propios de los investigadores, con una duración de 1 año. Año de inicio: 2021, año de finalización: 2021.
Agradecimientos
Especiales agradecimientos a la Universidad del Sinú por aportar la formación necesaria y las herramientas para la realización de esta investigación.
Referencias
[1] L. J. Aguilar, “La Computación en Nube (Cloud Computing): El nuevo paradigma tecnológico para empresas y organizaciones en la Sociedad del Conocimiento”, ICADE, vol. 76, pp. 95–111, Sep. 2009. Disponible en https://revistas.comillas.edu/index.php/revistaicade/article/view/289
[2] H. R. Chicaiza, “Estudio comparativo de plataformas de servicios de intermediación en la nube” Tesis maestría, UDLA, UIO, EC, 2015. Disponible en http://dspace.udla.edu.ec/handle/33000/3381
[3] J. Zabalza-Vivanco, R. Rio-Belver, E. Cilleruelo-Carrasco, G. Garechana-Anacabe y J. Gavilanes-Trapote, “Beneficios del Cloud Computing para la Pequeña y Mediana Empresa”, DYNA, vol. 88, no. 3, pp. 280–284, 2013. Available: https://www.revistadyna.com/busqueda/beneficios-del-cloud-computing-para-pequena-y-mediana-empresa
[4] F. H. Vera-Rivera, “Método de automatización del despliegue continuo en la nube para la implementación de microservicios”, presentado al 21 CIBSE, Uniandes, BO, CO, 23-27 abril 2018, pp. 597–604. Disponible en https://cibse.github.io/conference/
[5] P. A. Díaz-Delgado & A. Rodríguez-Cortés, “Caracterización de los esquemas, estándares y tecnologías para la implementación y seguridad de la Facturación Electrónica en transacciones en tiempo real en la nube”, Especialización, Ucatolica, BO, CO, Jun. 2020. Disponible en https://hdl.handle.net/10983/24909
Esteban Campuzano Ospino es licenciado en Ingeniería de Sistemas por la Universidad del Sinú (Colombia). https://orcid.org/0000-0003-2265-9562
Eugenia Arrieta Rodríguez es Master en Ingeniería por la Universidad Tecnológica de Bolívar (Colombia). https://orcid.org/0000-0001-8151-2654