Design of a container-based microservices architecture for scalability and continuous integration in a solution crowdsourcing platform

Gamallo Gascón, Miguel (2019). Design of a container-based microservices architecture for scalability and continuous integration in a solution crowdsourcing platform. Thesis (Master thesis), E.T.S.I. Telecomunicación (UPM).

Description

Title: Design of a container-based microservices architecture for scalability and continuous integration in a solution crowdsourcing platform
Author/s:
  • Gamallo Gascón, Miguel
Contributor/s:
  • Andión Jiménez, Javier
  • Dueñas López, Juan Carlos
Item Type: Thesis (Master thesis)
Masters title: Ingeniería de Telecomunicación
Date: 20 June 2019
Subjects:
Freetext Keywords: Microservices, Software containers, Docker, XCoLab, Continuous integration, Continuous delivery, Collective intelligence
Faculty: E.T.S.I. Telecomunicación (UPM)
Department: Ingeniería Telemática y Electrónica
Creative Commons Licenses: Recognition - Non commercial - Share

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

The XCoLab is an open-source, domain-independent solution crowdsourcing web platform created by the Center for Collective Intelligence at the Massachusetts Institute of Technology. Its main application is the Climate CoLab, where it is used to search for solutions to climate change. The aim of this project is to evolve the platform from a single-server architecture to a container-based microservices architecture. This will allow any implementation of the XCoLab to benefit from the advantages of this architectural approach. First of all, microservices will be able to scale horizontally and individually with only a few configuration changes, by spawning new instances of the corresponding container. Aside from this, future software developments of the platform will be sped up through the enablement of a continuous integration development environment, avoiding any "it works on my machine" issues and reducing the time spent in regression tests. Finally, the implementation of new instances of the platform will be simplified and made independent from the infrastructure, making it easier for new users to test and deploy it. To comply with the defined goals, several steps must be taken. First of all, it is necessary to make a reasonable choice of technologies, by analyzing different alternatives. After that, each of the 13 services that make up the platform have to be decoupled from each other, containerized, and have their functionality tested. Then, continuous integration tools must be configured to automate building, testing and publishing steps for the container images. Finally, work has to be done to allow for the deployment of the full container set to be as simple as possible.

More information

Item ID: 56262
DC Identifier: http://oa.upm.es/56262/
OAI Identifier: oai:oa.upm.es:56262
Deposited by: Miguel Gamallo Gascón
Deposited on: 03 Sep 2019 07:37
Last Modified: 03 Sep 2019 07:40
  • 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