Improving Software Deployment for Mobile Machinery: A Case Study and Proof of Concept Implementation
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2024-01-22
Department
Major/Subject
Software and Service Engineering
Mcode
SCI3043
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
85 + 13
Series
Abstract
To support agile and DevOps practices, continuous integration, delivery, and deployment have emerged as methods to provide a fast feedback loop, improved software quality, and rapid delivery of value to stakeholders. The rise of IoT and increasing reliance on software in industrial contexts has evoked the need to adopt continuous practices in these domains to accelerate R&D and maintain a competitive edge. A gap in research was identified, concerning the adoption of continuous deployment practices in the context of mobile machinery. This study assesses the current state of software deployment in industrial domains, using design science research for information systems. A small-scale interview-based case study was conducted to assess the current state of software deployment in industrial domains. The findings indicate that deployment and configuration activities currently require a lot of manual work, which is costly and time-consuming. Adopting continuous practices and automation was seen as an opportunity to improve the situation. The interview findings indicate that while continuous integration has been widely adopted, deployment activities are still done manually in many cases. The identified barriers include organizational inertia, physical challenges in the operating environment, safety issues, and concerns about suspending production during deployment. A proof-of-concept design and implementation is presented, demonstrating a deployment solution for a ROS2-based application for use in simulation and autonomous mobile machinery. The solution aims to automate the deployment process of the distributed software architecture, following best practices and addressing relevant issues in the industry. After evaluation, the solution was deemed a promising design with automation significantly reducing deployment time and manual work.Jatkuva integrointi, -julkaisu ja toimitus ovat nousseet tärkeiksi ketterän sovelluskehityksen ja DevOps-toimintamallin tukijoiksi. Nämä metodit pyrkivät tarjoamaan jatkuvaa palautetta, parantamaan sovellusten laatua, ja nopeuttamaan arvon toimitusta sidosryhmille. Asioiden internet ja yhä kasvava ohjelmistojen hyödyntäminen teollisuudessa on synnyttänyt myös tässä kontekstissa tarpeen DevOps-toimintamallien omaksumiselle, jotta kilpailukyky voi säilyä ja tuotekehitys tehostua. Nykytutkimukseen perustuen on todettu tarve sovellusten jatkuvien julkaisu- ja toimitusmetodien nykytilanteesta liikkuvien työkoneiden yhteydessä. Tämä tutkimus käsittelee sovelluksen käyttöönoton nykytilannetta teollisuuden ohjelmistokehityksen kontekstissa. Tutkimusmenetelmänä on IT-alan suunnittelun tutkimus. Työhön sisältyy suppea haastattelututkimus, jossa kartoitetaan sovelluksen käyttöönoton nykytilannetta teollisuudessa. Tulokset osoittavat, että käyttöönottoaktiviteetit vaativat nykyisellään paljon käsityötä, mikä lisää ajallisia ja rahallisia kustannuksia. Jatkuvien menetelmien omaksuminen nähtiin mahdollisuutena tämän tilanteen parantamiselle. Haastatteluista kävi ilmi, että jatkuva integrointi on jo laajasti käytössä, mutta käyttöönottotoimet tehdään usein vielä käsin. Jatkuvan toimituksen esteiksi mainittiin haluttomuus muutokseen, fyysiset haasteet ajoympäristössä, tuotannon keskeyttäminen ja turvallisuuskysymykset. Konseptitoteutus havainnollistaa jatkuvien käyttöönottomenetelmien toteutusta ROS2-ohjelmistoympäristöön perustuvalle liikkuvien työkoneiden hallintasovellukselle. Toteutus pyrkii automatisoimaan hajautetun sovellusarkkitehtuurin käyttöönottoprosessia hyödyntäen suositeltuja menetelmiä. Toteutuksen arvioitiin vähentävän merkittävästi käyttöönottoaikaa ja käyttöönoton työläyttä.Description
Supervisor
Lassenius, CasperThesis advisor
Hannelius, TomKeywords
software deployment, continuous delivery, continuous deployment, DevOps, ROS2, containerization