Ohjelmistokehitystyökalujen modernisointi pilvipalvelupohjaiseksi - Vaara, Saku (My University, 2023)
Yritysten liiketoiminnan digitalisoituminen on ollut jatkuvasti kasvussa, minkä seurauksena verkkopalvelujen toimivuuden ja saatavuuden merkitys on kasvanut entisestään. Tästä johtuen sujuvan ohjelmistokehitysprosessin luominen ja ylläpitäminen on elintärkeää yrityksille. Perinteisesti pienten ja keskisuurten yritysten on ollut tehtävä suuria pääomasijoituksia etukäteen hankkiakseen IT-infrastruktuuria, ammattitaitoisia kehittäjiä ja järjestelmänvalvojia, mikä on johtanut korkeisiin omistuskustannuksiin. Pilvipalvelut pyrkivät ratkaisemaan ongelman tarjoamalla helposti käyttöönotettavan ja laajasti skaalautuvan virtuaalisten palveluiden verkoston. Tämän tutkielman tarkoituksena on selvittää, miten pilvipalveluiden hyödyntäminen vaikuttaa ohjelmistokehityksen tehokkuuteen ja laatuun. Samalla pyritään tutkimaan, miten pilvipalvelupohjaisen ratkaisun tarjoamat mahdollisuudet poikkeavat perinteisen hajautetun ohjelmistokehitysratkaisun mahdollisuuksista. Tämän lisäksi pyritään vastaamaan kysymykseen, onko yritysten järkevää investoida ohjelmistokehitystyökalujen ja käyttöönottoprosessin modernisointiin. Tässä tutkielmassa keskitytään pääasiassa Microsoft Azuren tarjoamiin palveluihin, mutta esitellään myös muita pilvipalveluntarjoajia. Tapaustutkimuksessa vertaillaan Microsoft Azuren tarjoaman pilvipalvelupohjaisen ratkaisun ja perinteisemmän hajautetun ohjelmistokehitysratkaisun tuomia mahdollisuuksia DevOps-prosessin eri vaiheissa. Tutkimukseen sisältyy myös haastattelu, jonka tarkoituksena on saada tarkempi kuva modernisoinnin tavoitteista ja saavutettavista eduista siirryttäessä hajautetusta ohjelmistokehitysratkaisusta pilvipohjaiseen ratkaisuun. Tämän lisäksi tutkitaan ketterien ohjelmistokehitysmenetelmien ja mikropalveluarkkitehtuurin hyödyntämisen vaikutuksia ohjelmistokehitysprosessiin.

The digitalization of companies’ business has been constantly growing, as a result of which the importance of the functionality and availability of online services has grown even more. Because of this, creating and maintaining a smooth software de- velopment process is vital for companies. Traditionally, SMBs have had to make large upfront capital investments to acquire IT infrastructure, skilled developers and system administrators, leading to high cost of ownership. Cloud services aim to solve the problem by providing an easily deployed and widely scalable network of virtual services. The purpose of the research is to find out how the utilization of cloud services affects the efficiency and quality of software development. At the same time, the aim is to investigate how the possibilities offered by a cloud service-based solution differ from the possibilities of a traditional distributed software development solution. In addition to this, the aim is to answer the question whether it is profitable for com- panies to invest in the modernization of software development tools and deployment process. This thesis mainly focuses on the services provided by Microsoft Azure, but also introduces other cloud service providers. The case study compares the opportuni- ties brought by the cloud service-based solution offered by Microsoft Azure and a more traditional distributed software development solution at different stages of the DevOps process. The research also includes an interview, the purpose of which is to get a more accurate picture of the goals of modernization and the benefits to be achieved when moving from a distributed software development solution to a cloud- based solution. In addition to this, the effects of using agile software development methods and microservice architecture on the software development process are in- vestigated.
Keywords: DevOps, pilvipalvelut, ohjelmistokehitys, modernisointi, Azure