5 research outputs found

    Arquitectura basada en Microservicios y DevOps para una ingeniería de software continua

    Get PDF
    Microservices are conceived as an architectural style focused on developing applications through a set of services, independent, scalable, collaborative, evolutionary, capable of adapting to complex ecosystems. On the other hand, DevOps is a paradigm that uses a set of principles focused on the continuous delivery and integration of software, this implies a new culture to develop and deploy software in highly collaborative and agile contexts aimed at reducing the gap between development and operations. It is in this context that the present work proposes an Architecture based on Microservices and DevOps for continuous software engineering and applies the proposal through a case study with the participation of development teams formed by the students of the Workshop courses of Software and Systems Construction of the academic semesters: 2018-1, 2018-2, 2019-1, 2019-2 and led by the authors of this research; As a result of value there is a software product consisting of a set of Apps implemented with leading stack technologies under a disruptive approach.Los microservicios se conciben como un estilo arquitectónico enfocado a desarrollar aplicaciones mediante un conjunto de servicios, independientes, escalables, colaborativos, evolutivos, capaces de autoadaptarse a ecosistemas complejos. Por otro lado, DevOps es un paradigma que utiliza un conjunto de principios enfocado en la entrega e integración continua de software, esto implica una nueva cultura para desarrollar y desplegar software en contextos altamente colaborativos y agiles orientados a reducir la brecha que existe entre el desarrollo y las operaciones. Es en este contexto que el presente trabajo propone una Arquitectura basada en Microservicios y DevOps para una ingeniería de software continua y aplica la propuesta mediante un caso de estudio con la participación de equipos de desarrollo conformados por los estudiantes de los cursos de Taller de Construccion de Software y de Sistemas de los semestre académicos: 2018-1, 2018-2, 2019-1, 2019-2 y liderados por los autores de la presente investigación; como resultado de valor se tiene un producto de software constituido por un conjunto de Apps implementado con tecnologías stack lideres bajo un enfoque disruptivo

    Desarrollo de aplicaciones E-health basadas en micro-servicios en una arquitectura de Cloud

    Get PDF
    En este trabajo se describe una propuesta orientada a los emergentes servicios de eHealth, para ofrecer una mejor prestación en la atención asistencial y hospitalaria. El enfoque propuesto se apoya en el desarrollo de microservicios consistentes en proporcionar una aplicación que contiene a su vez una serie de pequeños y adaptables servicios que se ejecutan de forma autónoma, comunicándose de forma interactiva y continúa. Así, se pretende fortalecer los sistemas de salud tradicionales en los que todavía se carece del Registro Médico Electrónico (RME) y los sistemas de información disponibles presentan una escasa disponibilidad en el acceso y en el procesamiento de sus datos, lo que limita la toma de decisiones clínico-médicas. Se presentan dos sistemas de información desarrollados con este enfoque, con arquitecturas de software que presentan capas estables y modificables, adaptadas a las necesidades de cualquier organización, escalables y replicadas en varios contenedores la infrautilización de recursos informáticos.European Commissio

    Unsupervised learning approach for web application auto-decomposition into microservices

    No full text
    Nowadays, large monolithic web applications are manually decomposed into microservices for many reasons including adopting a modern architecture to ease maintenance and increase reusability. However, the existing approaches to refactor a monolithic application do not inherently consider the application scalability and performance. We devise a novel method to automatically decompose a monolithic application into microservices to improve the application scalability and performance. Our proposed decomposition method is based on a black-box approach that uses the application access logs and an unsupervised machine-learning method to auto-decompose the application into microservices mapped to URL partitions having similar performance and resource requirements. In particular, we propose a complete automated system to decompose an application into microservices, deploy the microservices using appropriate resources, and auto-scale the microservices to maintain the desired response time. We evaluate the proposed system using real web applications on a public cloud infrastructure. The experimental evaluation shows an improved performance of the auto-created microservices compared with the monolithic version of the application and the manually created microservices.This work was made possible by NPRP grant # 7-481-1-088 from the [Qatar National Research Fund] a member of Qatar Foundation).Scopu

    Modelo inteligente de especificación de la granularidad de aplicaciones basadas en microservicios.

    Get PDF
    Los microservicios son un enfoque arquitectónico y organizativo del desarrollo de software en el que las aplicaciones están compuestas por pequeños servicios independientes que se comunican a través de una interfaz de programación de aplicaciones (API) bien definida, muchas empresas utilizan los microservicios para estructurar sus sistemas, también la arquitectura de microservicios ha sido utilizada en otras áreas como la internet de las cosas (IoT), computación en el borde (edge computing), computación en la nube, desarrollo de vehículos autónomos, telecomunicaciones, sistemas de E-Salud, E-Learning, entre otros. Un gran desafío al diseñar este tipo de aplicaciones es encontrar una partición o granularidad adecuada de los microservicios, proceso que a la fecha se realiza y diseña de forma intuitiva, según la experiencia del arquitecto o del equipo de desarrollo. La definición del tamaño o granularidad de los microservicios es un tema de investigación abierto y de interés, no se han estandarizado patrones, métodos o modelos que permitan definir qué tan pequeño debe ser un microservicio. Las estrategias más utilizadas para estimar la granularidad de los microservicios son: el aprendizaje automático, la similitud semántica, la programación genética y la ingeniería de dominio. En este trabajo de investigación doctoral se propone un modelo inteligente para especificar y evaluar la granularidad de los microservicios que hacen parte de una aplicación; teniendo en cuenta algunas características como la complejidad cognitiva, el tiempo de desarrollo, el acoplamiento, la cohesión y su comunicación. En el capitulo uno se presentan el marco teórico, se plantea el problema de investigación resuelto, junto con las preguntas de investigación que ayudan a resolverlo, también se presentan los objetivos y la metodologia de investigación, por medio de la cual se propone una nueva práctica, un modelo inteligente de especificación de la granularidad de los microservicios llamada ¿Microsevices Backlog¿, también se presentan las fases y métodos de investigación que permitieron resolver las preguntas de investigación planteadas. El captiulo dos presenta el esatado del arte y los trabajos relacionados con el presente trabajo de investigación doctoral; también se identifican las métricas que se han utilizado para definir y evaluar la granularidad de los microservicios. En el capitulo 3 se caracteriza el proceso de desarrollo de aplicaciones basadas en microservicios, explicando su uso en un caso de estudio llamado ¿Sinplafut¿. En el capitulo 4 se plantea la descripción del ¿Microservice Backlog¿, se presenta la definición de cada uno de sus componentes, entre los cuales se encuentran: el componente parametrizador, el componente agrupador (un algoritmo genético y un algoritmo de agrupamiento semántico basado en aprendizaje automático no supervisado), el componente evaluador de métricas y el componente comparador de descomposiciones y de microservicios candidatos, también se presenta la formulación matemática de la granularidad de aplicaciones basadas en microservicios. El capitulo 5 presenta la evaluación de la práctica propuesta, se realizó de forma iterativa usando cuatro casos de estudio, dos ejemplos planteados en el estado del arte (Cargo Tracking and JPet-Store) y dos proyectos reales (Foristom Conferences y Sinplafut), se utilizó el Microservices Backlog para obtener y evaluar los microservicios candidatos de las cuatro aplicaciones. Se realizó un analisis comparativo contra métodos propuestos en el estado del arte y con el diseño basado en el dominio (DDD), el cual es le método más utilizado para definir los microservicios que van a ser parte de una aplicación. El Microservices Backlog obtuvo un bajo acoplamiento, alta cohesión, baja complejidad y reduce la comunicación entre los microservicios, esto comparado con las propuestas del estado del arte y con DDD. Finalmente en el capitulo 6 se presentan las conclusiones, contribuciones, limitaciones y productos obtenidos como resultado de esta tesisDoctoradoDOCTOR(A) EN INGENIERÍ

    Adoption of Cloud Computing Services in an Illinois-Based Insurance Company

    Get PDF
    The decision to adopt cloud computing services should involve business units of an insurance company as well as information technology (IT) because cloud computing services are viewed as both a technology offering and business alternative. The purpose of this qualitative exploratory case study was to explore the strategies used by IT architects of an Illinois-based insurance company when adopting cloud computing services. The theory supporting this study was the technology acceptance model. The study\u27s population consisted of IT architects from an Illinois-based insurance company that have used strategies to adopt cloud computing services. This study\u27s data collection included semistructured interviews and review of organizational documents. Member checking with each participant increased the validity of this study\u27s findings. Four major themes emerged from this study: strategies to adopt cloud computing services, strategies to adopt cloud services models, strategies to adopt cloud computing models, and concerns affecting the strategies to adopt cloud computing services. The study findings may assist IT architects in developing effective strategies to adopt cloud computing services for their respective business unit. This study might serve as a foundation for positive social change by decreasing customer concerns regarding critical information being compromised when adopting cloud computing services
    corecore