Teaching and Learning DevOps

Loading...
Thumbnail Image

Files

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.

Department

Major/Subject

Mcode

SCI3027

Language

en

Pages

31

Series

Abstract

Software engineering has experienced rapid change in the past decade with the widespread adoption of DevOps. The term DevOps has expanded to encompass a vast array of practices such as CI/CD, continuous monitoring, and configuration management. The precise bounds of the term remain unclear however. Without an understanding of what is included under the ever-expanding umbrella term, how are educational institutions to construct suitable curricula and teaching methodologies? This thesis aims to demystify the term DevOps and provide a snapshot of the current DevOps education landscape. DevOps education was explored not only in terms of content taught, but how it is taught. DevOps course curricula was compared to what practices are considered part of DevOps, creating an overview of what is generally taught and what is generally excluded. DevOps teaching methodologies were investigated from several different angles, such as teaching DevOps in other computer science courses as a secondary focus, teaching DevOps through practical project work, and imparting relevant soft skills to future DevOps practitioners. The study found that practices more likely to be considered part of DevOps were more likely to be included in DevOps education, both in academia and industry courses. These practices, which can be considered the core of DevOps, are (automated) testing, continuous delivery and deployment, continuous integration, configuration management, and continuous monitoring and feedback. Most surprising was the overwhelming prevalence of cloud computing, which was found to be controversial in terms of inclusion in DevOps practices, but which is taught prolifically. Security is an example of a topic that appears to be taught rarely in academic DevOps courses, but which features heavily in industry courses.

Ohjelmistokehitys on muuttunut merkittävästi viimeisen vuosikymmenen aikana DevOpsin laajamittaisen omaksumisen seurauksena. Termi DevOps on laajentunut sisältämään useita käytäntöjä kuten CI/CD, jatkuva monitorointi ja konfiguraationhallinta. Termin tarkat rajat ovat silti kuitenkin epäselvät. Ilman selkeätä ymmärrystä kasvavan termin alla olevista käytännöistä, miten oppilaitosten tulisi rakentaa sopivat opetussuunnitelmat ja -menetelmät? Tämän tutkimuksen tavoitteena on selvittää DevOps-termiä ja tarjota katsaus nykyiseen DevOps-koulutukseen. DevOpsin opetusta tutkittiin sekä kurssien sisällön, että opetusmenetelmien näkökulmista. DevOps-kurssien opetussuunnitelmia verrattiin siihen, mitä käytäntöjä pidetään osana DevOpsia, luoden yleiskatsauksen siitä, mitä tavallisesti opetetaan ja mitä ei. DevOpsin opetusmenetelmiä tutkittiin useista eri näkökulmista, kuten DevOpsin opettamista muilla tietojenkäsittelytieteen kursseilla toissijaisena painopisteenä, DevOpsin opettamista käytännön projektityön kautta sekä asiaankuuluvien pehmeiden taitojen välittämistä tuleville DevOps-ammattilaisille. Tutkimuksessa havaittiin, että käytännöt, jotka todennäköisemmin katsotaan osaksi DevOpsia, sisältyvät myös todennäköisemmin DevOps-koulutukseen sekä yliopistokursseilla, että teollisuuden kursseilla. Näitä käytäntöjä, joita voidaan pitää DevOpsin ydinalueina, ovat (automaattinen) testaus, CI/CD, konfiguraationhallinta sekä jatkuva monitorointi. Yllättävintä oli pilvipalveluiden ylivoimainen suosio, joka havaittiin kiistanalaiseksi DevOps-käytäntöjen sisällyttämisen kannalta, mutta jota opetetaan laajasti. Turvallisuus on esimerkki aiheesta, jota opetetaan harvoin akateemisilla DevOps-kursseilla, mutta joka korostuu vahvasti teollisuuden kursseilla.

Description

Supervisor

Forget, Maurice

Thesis advisor

Seppälä, Otto

Other note

Citation