Arquitecturas de microservicios para aplicaciones desplegadas en contenedores

Jiménez Aliaga, Carlos (2019). Arquitecturas de microservicios para aplicaciones desplegadas en contenedores. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Description

Title: Arquitecturas de microservicios para aplicaciones desplegadas en contenedores
Author/s:
  • Jiménez Aliaga, Carlos
Contributor/s:
  • Lías Quintero, Ana Isabel
Item Type: Final Project
Degree: Grado en Ingeniería del Software
Date: 2019
Subjects:
Freetext Keywords: DevOps; Cloud computing; Contenedor
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Matemática Aplicada a las Tecnologías de la Información y las Comunicaciones
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview
[img] Archive (ZIP) (Anexos) - Users in campus UPM only
Download (400kB)

Abstract

El estado actual de las redes de comunicaciones y la evolución de los dispositivos electrónicos, cada vez más potentes, ligeros y portátiles, ha cambiado la forma en la se consumen los servicios en línea. Los dispositivos están siempre conectados y los clientes necesitan acceder a los datos desde cualquier lugar y de forma instantánea. Esta necesidad implica una rápida adaptación de los servicios así como replicar los datos geográficamente para que puedan estar accesibles globalmente con una latencia mínima. La cuestión es, ¿cómo se consigue desarrollar servicios que cumplan las necesidades actuales de una forma eficiente a la vez que sean capaces de adaptarse rápidamente a nuevos cambios? El propósito de este proyecto de fin de grado es presentar cómo definir arquitecturas basadas en microservicios, haciendo uso de buenas prácticas, para aplicaciones desplegadas en contenedores. Para ello se hace uso de tecnologías de código abierto y multiplataforma, en concreto .NET Core para el desarrollo y Docker como motor de los contenedores. Elegir dónde y cómo desplegar las aplicaciones es un factor determinante. Se presenta el uso los orquestadores para la gestión de los contenedores (Kubernetes específicamente, que es también de código abierto) y de las plataformas Cloud donde el orquestador, las aplicaciones y servicios adicionales (como las bases de datos) son desplegados y accesibles a nivel global. En este proyecto se ha elegido la nube de Microsoft, Microsoft Azure, como proveedor Cloud. Con la arquitectura basada en microservicios desplegados en contenedores se consigue: alta disponibilidad, al tener varias instancias disponibles en distintas máquinas al mismo tiempo; escalabilidad, cada microservicio será capaz de escalar individualmente; y despliegue de nuevas versiones en un tiempo mínimo, gracias a la simbiosis de contenedores y orquestadores. Además, el escenario expuesto es igualmente aplicable a distintas tecnologías, tanto en lo relativo a plataformas como a los entornos. Abstract: The way online services are accessed and consumed has changed thanks to the current status of communication networks and the evolution of electronic devices. Devices are now more powerful, lighter and portable. Also, they are always connected, so we need to access to our data everywhere and instantly. Services need to adapt and transform quickly and be able to replicate the data around the globe, so users can access them in a global zero-latency manner. Therefore, how can we develop services that flow with the changes in an efficient way? The purpose of this project is to show the way of defining microservices architectures, applying good patterns and practices, for applications running on containers. This project proposes open source and multiplatform technologies such .NET Core for development and Docker as containers’ engine. Deciding where and how deploy the applications is an important factor. To help making those decisions, orchestrators are introduced in order to manage the containers (Kubernetes, which is also open source, is the chosen one) and cloud platforms where the orchestrator, the applications and additional services (such databases) are deployed and accessible worldwide. Microsoft Azure, Microsoft’s cloud platform, is the cloud chosen as cloud provider. With microservices based architectures deployed on containers you get high availability, having several instances available in different machines at the same time; scalability, each microservice can scale individually based on its own needs; and deployment of new versions in a record time, thanks of containers and orchestrators working together. However, the solution exposed is equally valid to different technologies and applicable to several cloud platforms and on-premise environments

More information

Item ID: 54274
DC Identifier: http://oa.upm.es/54274/
OAI Identifier: oai:oa.upm.es:54274
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 13 Mar 2019 07:52
Last Modified: 13 Mar 2019 07:52
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM