Desarrollo y Despliegue de Sistemas IoT Edge usando Kubernetes y aplicando principios GitOps

López Cruz, Álvaro (2023). Desarrollo y Despliegue de Sistemas IoT Edge usando Kubernetes y aplicando principios GitOps. Thesis (Master thesis), E.T.S.I. de Sistemas Informáticos (UPM).

Description

Title: Desarrollo y Despliegue de Sistemas IoT Edge usando Kubernetes y aplicando principios GitOps
Author/s:
  • López Cruz, Álvaro
Contributor/s:
  • Díaz Fernández, Jessica
Item Type: Thesis (Master thesis)
Masters title: Software de Sistemas Distribuidos y Empotrados
Date: January 2023
Subjects:
Freetext Keywords: Sistemas IoT Edge; GitOps; Kubernetes; Docker
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of TESIS_MASTER_ALVARO_LOPEZ_CRUZ.pdf] PDF - Users in campus UPM only - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB)

Abstract

En la actualidad, cada vez existen más dispositivos y sistemas que permiten automatizar procesos y hacer las vidas de las personas más sencillas en muchos aspectos. Además, se desarrollan tecnologías que permiten que sea posible crear sistemas en los que estos dispositivos son capaces de comunicarse unos con otros a grandes velocidades y muy eficientemente. Este tipo de sistemas son los descritos por el internet de las cosas.

Para sacar el máximo partido de estos cientos de miles de dispositivos y sensores procesando y compartiendo datos, surgen modelos como la computación en el borde, que propone acercar el procesamiento de los datos lo más cerca posible de la fuente de los datos con el objetivo de reducir la latencia. Para conseguir gestionar de una manera eficiente, fácil y automatizada este tipo de sistemas se utilizan tecnologías como Docker y Kubernetes, que permiten orquestar aplicaciones contenerizadas sobre miles de dispositivos interconectados.

Este Trabajo Fin de Máster (TFM) aborda la aplicación de nuevas tecnologías y enfoques para sistemas IoT Edge con el objetivo de promover una entrega de valor rápida y confiable a clientes y usuarios finales. Para eso se propone el estudio y aplicación de principios GitOps que promueven, precisamente, la automatización de procesos de despliegue de software en entornos productivos (o previos a la producción) así como la gestión, configuración y operación de dichos entornos e infraestructura. Durante el desarrollo de esta tesis, se estudian las opciones actuales para conseguir automatizar al máximo los procesos operacionales y minimizar los errores humanos, de forma que los desarrolladores puedan abstraerse de la gestión de la infraestructura, despliegue de aplicaciones, y nuevas versiones.

Para conseguirlo se define un flujo de trabajo basado en los principios GitOps con el que se pretende automatizar la gestión de la infraestructura y el despliegue de aplicaciones en un sistema IoT Edge; este flujo se ejecutaría automáticamente cada vez que se produzcan cambios en el código o en la infraestructura. Además se desarrolla un sistema de monitorización que obtiene métricas de cada uno de los dispositivos del sistema IoT Edge y muestra dichas métricas en gráfica en tiempo cuasi-real, aumentando la visibilidad sobre el funcionamiento del sistema y la eficiencia en la identificación de errores mediante alertas automáticas.

Adicionalmente, para estudiar la viabilidad y la eficiencia de la aplicación de los principios GitOps sobre sistemas IoT Edge, se monitorizan métricas DORA (DevOps Research and Assessments) que permiten conocer aquellas partes del flujo GitOps que no están funcionando bien o que tienen margen de mejora. Además permite estudiar el ciclo de vida del desarrollo y despliegue, qué partes reciben más carga de trabajo y de qué miembros del equipo a lo largo del tiempo.

Los resultados obtenidos en este Trabajo de Fin de Máster permiten optimizar flujos de trabajo basados en los principios de GitOps para conseguir la máxima eficiencia en el desarrollo de sistemas IoT Edge, consiguiendo que los desarrolladores puedan utilizar su tiempo en la creación de valor de negocio.

Abstract:

Nowadays, there are more and more devices and systems that make it possible to automate processes and make people’s lives easier in many ways. In addition, technologies are being developed that make it possible to create systems in which these devices are able to communicate with each other at high speeds and very efficiently. These types of systems are described by the Internet of Things.

To get the most out of these hundreds of thousands of devices and sensors processing and sharing data, models such as edge computing are emerging, which proposes to bring data processing as close as possible to the source of the data in order to reduce latency. To achieve an efficient, easy and automated management of this type of systems, technologies such as Docker and Kubernetes are used to orchestrate containerized applications on thousands of interconnected devices.

This Master Thesis (TFM) addresses the application of new technologies and approaches for IoT Edge systems in order to promote a fast and reliable delivery of value to customers and end users. For that purpose, the study and application of GitOps principles that promote, precisely, the automation of software deployment processes in productive (or pre-production) environments as well as the management, configuration and operation of such environments and infrastructure is proposed. During the development of this thesis, we study the current options to achieve maximum automation of operational processes and minimize human errors, so that developers can abstract from the management of infrastructure, application deployment, and new versions.

To achieve this, a workflow based on GitOps principles is defined to automate the infrastructure management and application deployment in an IoT Edge system; this workflow would be executed automatically every time there are changes in the code or in the infrastructure. In addition, a monitoring system is developed that obtains metrics from each of the devices in the IoT Edge system and displays these metrics in near real-time graphs, increasing visibility into system performance and efficiency in identifying errors through automatic alerts.

Additionally, to study the viability and efficiency of the application of GitOps principles on IoT Edge systems, DORA (DevOps Research and Assessments) metrics are monitored, allowing to know those parts of the GitOps flow that are not working well or that have room for improvement. It also allows studying the development and deployment lifecycle, which parts receive more workload and from which team members, as well as analyzing the evolution of this behavior over time.

The results obtained in this Master’s Thesis allow optimizing workflows based on GitOps principles to achieve maximum efficiency in the development of IoT Edge systems, allowing developers to use their time to create business value.

More information

Item ID: 73071
DC Identifier: https://oa.upm.es/73071/
OAI Identifier: oai:oa.upm.es:73071
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 18 Mar 2023 15:56
Last Modified: 18 Mar 2023 15:56
  • 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