DevOps practices in development and maintenance of educational systems

Abstract

DevOps on kasvattanut suosiotaan viimeisen viiden vuoden aikana varsin tasaisesti Google Trends -palvelun perusteella. Myös tieteellinen kiinnostus termiä kohtaan on kasvanut: esimerkiksi IEEE:n Xplore-hakupalvelussa suoritettujen hakujen perusteella IEEE on julkaissut yli tuplaten DevOpsiin liittyviä artikkeleita vuonna 2017 verrattuna vuoteen 2015. DevOpsin käsite on kuitenkin vielä monitulkintainen. DevOpsia on myös opetettu. Esimerkiksi Japanin Saga Cityn yliopisto on hyödyntänyt siihen liittyviä työkaluja opetuksessaan, ja Moroccon Cadi Ayyad University on järjestänyt aiheesta kurssin. Myös Tampereen teknillisessä yliopistossa ja nykyisessä Tampereen yliopistossa opetetaan ilmiöön liittyviä käytäntöjä. On kuitenkin epäselvää, tehdäänkö niin kuin opetetaan eli hyödynnetäänkö itsekin DevOpsiin liittyviä käytäntöjä. Tämän diplomityön tutkimustavoitteena onkin selvittää, hyödynnetäänkö opetusjärjestelmien kehittämisessä ja ylläpidossa näitä käytäntöjä, ja miten niiden hyödyntämistä voisi kehittää. Koska DevOpsiin liittyy käytäntöjä, joita on mahdollista suorittaa erilaisilla työkaluilla, on tarpeen selvittää sellaiset työkalut, joita yliopistolla on jo tarjota käytettäväksi. Koska ohjelmistojen suoritusympäristöjen esittäminen ohjelmakoodina liittyy DevOpsiin, on myös saatavilla olevien suoritusympäristöjen selvittäminen oleellista. Tällä tavalla voidaan saada tietoa, onko yliopistossa edellytykset DevOpsin hyödyntämiselle. Opetusjärjestelmien DevOps-käytäntöjen hyödyntämistä on selvitetty niihin perustuvalla tapaustutkimuksella. Työkalut ja suoritusympäristöt on selvitetty sähköpostiviestein ja yliopiston intrasivustoa tutkimalla. Tutkimuksen tulokset osoittavat, että yliopistolla on tarjota työkaluja DevOps-käytäntöjen hyödyntämiseen. Suoritusympäristöjen dokumentaation osalta on kuitenkin kehitettävää. Opetusjärjestelmistä Repolainen noudattaa parhaiten DevOpsiin liittyviä käytäntöjä, mutta kaikissa tutkituissa opetusjärjestelmissä on parannettavaa sovelluksen monitoroinnin, suunnittelun ja IT-infrastruktuurin ohjelmakoodina esittämisen suhteen. Repolaisen osalta toimenpiteet työssä esitettäviin kehitysideoihin perustuen on aloitettu, mutta Tietotekniikan yksikölle suositellaan myös muiden ideoiden kokeilemista soveltuvuusselvityksien muodossa. Myös ideoiden jatkokehitys ryhmissä ja aivoriihien järjestäminen voivat olla hyödyllisiä.DevOps has gained popularity during the last five years based on Google Trends. Interest in the science community has also increased. For example searches performed at the IEEE Xplore Digital Library indicate that the IEEE published double the amount of research papers on DevOps in 2017 compared to 2015. However the term DevOps is still ambiguous. DevOps has also been teached. For example Saga University in Japan has utilized an education system which took advantage on tools related to DevOps and Cadi Ayyad University in Morocco has organized a course about DevOps. Tampere University of Technology which is nowadays Tampere University has also teached DevOps practices. It is though unclear whether we follow the guidelines we teach in other words, whether we utilize DevOps practices ourselves. The aim of this research is therefore to find out do the development and maintenance processes of IT systems used in teaching utilize DevOps practices and could that utilizing be developed in some way. Because certain practices are related to DevOps and they can be implemented with various technologies it is worthwhile to discover if the university offers some of these technologies. Since infrastructure as code is a part of DevOps figuring out the available software execution environments is also essential. By investigating these aspects it is possible to discover whether the university provides prerequisites for utilizing DevOps practices. Study on the utilization of DevOps practices in the development and maintenance of educational systems is performed by a case study. Technologies and execution environments available are discovered by email messages and searching them from the intranet website of the university. The results of the study indicate that the university does offer tools to utilize DevOps practices but the documentation on execution environments is lacking. Of the educational systems Repolainen is best at utilizing DevOps practices but all educational systems studied in this thesis have rough edges on continuous monitoring and planning and sharing the IT infrastructure as code. Actions based on the development ideas presented in this thesis considering Repolainen have been started but proof of concept implementations based on the other ideas as well are recommended for the Computing unit. Getting together to develop the ideas further and arranging brainstorms could also be beneficial

    Similar works