Miguel Angel López Peña
Contexto: Internet of things (IoT) se define, de forma general, como una infraestructura mundial de interconexión de objetos y dispositivos a través de Internet. Los sistemas IoT actuales integran infraestructura hardware (dispositivos, redes de comunicación y nodos de computación), infraestructura software (plataforma de IoT), aplicaciones y usuarios; tienen fuertes requisitos de confiabilidad; son altamente distribuidos e integran enfoques de computación cloud, fog y edge; y son desarrollados en gran medida por software.
DevOps es un enfoque cultural para mejorar y acelerar la entrega continua y sistemática de software de calidad, basado en colaboración efectiva de los equipos de desarrollo y operaciones. El enfoque DevOps, define un conjunto de prácticas que se integran en los ciclos de vida de desarrollo de software pero que, al menos en IoT, no han sido formalizadas mediante técnicas, lenguajes y herramientas de especificación y diseño de procesos propios de la ingeniería del software.
Objetivo: El objetivo de esta tesis es la propuesta del enfoque “IoT DevOps” como particularización de DevOps para las necesidades específicas de IoT. Este objetivo se concreta en el desarrollo del principio DevOps de retroalimentación rápida y continua desde las operaciones hacia el desarrollo como proceso de ingeniería del software y sistemas y centrado en la confiabilidad como característica principal en IoT. Con ello se pretende acelerar los ciclos de retroalimentación desde los sistemas IoT en producción hacia las actividades de desarrollo en un ciclo continuo de mantenimiento y mejora.
Método: La metodología de referencia para para la consecución de los objetivos es Design Science, basada resultados y que ofrece pautas específicas para la evaluación y la iteración de proyectos de investigación en el ámbito de sistemas de información.
Resultados: El resultado principal es la especificación y modelado formal de la actividad de retroalimentación rápida y continua desde operaciones hacia desarrollo definida en DevOps y particularizada para IoT. Esta actividad se ha denominado “Retroalimentación Rápida y Continua del Estado de un Sistema IoT” (F&CF IoT Status) y se ha desarrollado utilizando el metamodelo de ingeniería de procesos de software y sistemas SPEM 2.0, creado por el consorcio Object Management Group (OMG). En el proceso de modelado se han estudiado las características de confiabilidad o trustworthiness de los sistemas IoT y las métricas que aseguran el cumplimiento de tales características. También se ha definido una técnica denominada Monitoring as Code (MaC) para la monitorización de sistemas IoT en producción. Asimismo, se han desarrollado y documentado dos casos de estudio en entornos reales que se han utilizado para probar, refinar y validar los resultados de esta tesis siguiendo la metodología Design Science. El desarrollo ha partido de un estudio detallado de los conceptos IoT y DevOps, y de una propuesta previa de modelo de referencia y vista funcional de arquitectura de sistema IoT conforme al estándar de referencia ISO/IEC 30141 para IoT.
Conclusiones: La formalización de la actividad “F&CF IoT Status” proporciona una especificación formal de la práctica DevOps de retroalimentación rápida y continua desde la operación hacia el desarrollo en procesos de mantenimiento y mejora continua de sistemas IoT centrados en el aseguramiento de características de confiabilidad. El modelo de definición en SPEM 2.0 ofrece características de reutilización y flexibilidad para ser implementada en diferentes escenarios. El modelo de instanciación y el uso de las técnicas MaC e IaC promueven buenas prácticas DevOps (como el desarrollo de componentes versionados, repetibles y desplegables de forma automática). Los casos de estudio desarrollados demuestran la facilidad para adaptar e instanciar la actividad “F&CF IoT Status” en entornos de IoT con necesidades diferentes. De la misma manera, los casos de estudio demuestran, en escenarios reales, las ventajas que aporta a los equipos DevOps recibir información continua y detallada del sistema en producción, como por ejemplo: la reacción rápida ante fallos y la integración-despliegue-puesta en producción de nuevas versiones de software que corrigen tales fallos.
© 2008-2024 Fundación Dialnet · Todos los derechos reservados