DevOpsin toteuttaminen pilvipalveluna keino laadukkaaseen sovelluskehitykseen?

Ketterät sovelluskehitysmallit ovat yleistyneet merkittävästi ja suurelta osin korvanneet perinteisen vesiputousmallin. Ketterän sovelluskehityksen rinnalle syntynyt DevOps on toimintamalli, joka tukee ketterää sovelluskehitystä ja mahdollistaa nopeat ja jatkuvat julkaisut sekä automaation lukuisi...

Full description

Bibliographic Details
Main Author: Humalamäki, Lauri
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:fin
Published: 2023
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/89354
Description
Summary:Ketterät sovelluskehitysmallit ovat yleistyneet merkittävästi ja suurelta osin korvanneet perinteisen vesiputousmallin. Ketterän sovelluskehityksen rinnalle syntynyt DevOps on toimintamalli, joka tukee ketterää sovelluskehitystä ja mahdollistaa nopeat ja jatkuvat julkaisut sekä automaation lukuisissa eri sovelluskehityksen vaiheissa. Lisäksi pilvipalvelut ovat yleistyneet selvästi viime vuosina, ja monet organisaatiot päätyvät uusiin teknologioihin sekä käytänteisiin pärjätäkseen markkinoilla. Pro gradu -tutkielmassa tarkastellaan, miten toimintamalli DevOpsia voidaan toteuttaa PaaS-pilvipalveluna (Platform as a Service). Tutkielma antaa lukijalle kattavan kuvan DevOpsista ja sen tärkeimmistä työkaluista sekä käytänteistä. Lisäksi tutkielmassa esitellään yleisimmät pilvipalvelumallit ja niiden ominaisuudet. Tämä luo tarvittavaa pohjaa sille, miten DevOps voidaan yhdistää PaaS-pilvipalveluun. Tutkielmassa myös selvitetään, miten pilvipalvelupohjaiset DevOps-palvelut voivat edistää ohjelmistotuoteprojektin laatua. Laatu terminä on monimerkityksinen käsite, joten se määritellään tarkkaan ja tutkimuksen tueksi luodaan uusi viitekehys. Esimerkkinä PaaS-pohjaisesta pilvipalvelusta on Microsoft Azure DevOps. Tutkielmassa käydään Azure DevOps käydään läpi, jotta havaitaan, miten se toteuttaa DevOps-toimintamallin käytänteitä. Lisäksi Azure DevOpsia käytetään apuna tarkastelemaan, miten DevOps-pilvipalvelulla voidaan parantaa ohjelmistotuotteen laatua. On huomioitava, että Azure DevOps on tuore tuote, joten aiempi tutkimusaineisto siitä on vielä pirstaloitunutta. Tutkielma toteutettiin tapaustutkimuksena ja haastatteluosuus on suoritettu teemahaastattelun, jossa haastateltiin Azure DevOpsia käyttävää tiimiä. Agile software development methodologies have gained significant popularity and have largely replaced the traditional waterfall model. Alongside agile software development, the concept of DevOps has emerged as an operational model that supports agile practices and enables rapid and continuous releases, as well as automation across various stages of software develpopment. Additionally, cloud services have become more prevalent in recent years, and many organizations are adopting new technologies and practices to stay competitive in the market. This Master's thesis examines how the DevOps operational model can be implemented as a Platform as a Service (PaaS) cloud service. The thesis provides the reader a comprehensive overview of DevOps and its key tools and practices. Moreover, the thesis introduces common cloud service models and their characteristics. This lays the necessary groundwork for integrating DevOps into a PaaS cloud service. The thesis also explores how cloud-based DevOps services can enhance the quality of a software product project. Since quality is a multifaceted term, it is precisely defined, and a new framework is established to support the research. An example of a PaaS-based cloud service is Microsoft Azure DevOps. The thesis examines Azure DevOps to understand how it implements DevOps practices. Furthermore, Azure DevOps is utilized to explore how a DevOps cloud service can improve the quality of a software product. It is important to note that Azure DevOps is a relatively new product so previous research material on it is still fragmented. The thesis was conducted as a case study, and the interview segment was carried out through thematic interviews with a team utilizing Azure DevOps.