Infrastructure as code in modern business environment : Case Skanska - Ranne, Juuso (My University, 2023)
The rapid adoption of cloud transformation and the widespread use of agile software development frameworks have substantially increased the demand for accelerated software release cycles in contemporary business environments. Infrastructure as Code (IaC) has emerged as a crucial component of cloud deployment and architecture within these contexts, necessitating innovative approaches to delivering infrastructure services that fully support this paradigm shift. This comprehensive study aims to illuminate various aspects of cloud service provision, focusing on cloud platforms, DevOps, and microservices. In conventional environments, teams operate in isolated silos, often leading to extended periods - sometimes several months - before a new feature is integrated into the production environment. This delay can partly be attributed to manual infrastructure configuration through graphical user interfaces or reusable scripts. While these methods offer a degree of automation, they lack lifecycle management and version control capabilities, often resulting in configuration drift between environments. This drift complicates testing new features and exposes the production environment to potential vulnerabilities and downtime. Technologies and methodologies such as IaC and DevOps have emerged to address the disconnect between development and operations. IaC primarily focuses on technology, whereas DevOps fosters collaboration between development and operations teams, often incorporating technology stacks like Azure DevOps. This study delves into the theoretical underpinnings of IaC and conducts an in-depth analysis of Skanska Finland's cloud environment and architecture. The primary objective is to ascertain whether Skanska Finland's approach aligns with industry good practices and pinpoint potential improvement areas. Skanska Finland employs a single-cloud strategy for hosting their services, and this study is conducted from that vantage point. Before the study, it was noted that Skanska Finland already utilizes IaC to provision their infrastructure. Consequently, the study's primary focus is enhancing the current state and identifying potential issues with the existing approach. The researcher, an IT Architect at Skanska Group HQ, intimately understands the organization's environment. This study offers recommendations for improvements that can be applied across various organizations and implemented using the same principles. By examining Skanska Finland's cloud infrastructure and IaC practices, this study contributes valuable insights to the growing knowledge surrounding cloud services, DevOps, and microservices. Moreover, it underscores the importance of aligning organizational practices with industry good practices and the benefits of continuously seeking opportunities for improvement in an ever-evolving technological landscape.

Pilvipalveluiden nopea yleistyminen sekä ketterien sovelluskehitysmenetelmien laaja käyttö ovat lisänneet vaatimuksia ohjelmistojen julkaisusykleille nykyaikaisessa liiketoimintaympäristössä. Infrastruktuuri koodina (IaC) on muodostunut keskeiseksi osaksi pilvipalveluiden käyttöä ja arkkitehtuuria, edellyttäen innovatiivisten lähestymistapojen käyttöönottoa infrastruktuuripalveluiden toimittamiseen tukemalla tätä paradigmaa. Tämä tutkimus pyrkii avaamaan eri näkökohtia pilvipalveluiden tarjoamisessa, keskittyen pilvialustoihin, DevOpsiin ja mikropalveluihin. Perinteisessä mallissa tiimit toimivat usein eristetyissä siiloissa, mikä monesti johtaa pitkiin odotusaikoihin, joskus jopa useiden kuukausien odotukseen, ennen kuin uusi ominaisuus viedään tuotantoympäristöön. Tämä viive voidaan osittain selittää manuaalisella infrastruktuurin konfiguroinnilla graafistenkäyttöliittymien tai uudelleenkäytettävien skriptien avulla. Vaikka nämä menetelmät tarjoavatkin osittaista automaatiota, ne eivät tarjoa elinkaaren sekä versionhallintaan tarvittavia ominaisuuksia, joka usein johtaa eroavaisuuksiin kehitys-, testaus- ja tuotantoympäristöjen välillä. Tämä vaikeuttaa uusien ominaisuuksien testaamista ja altistaa tuotantoympäristön mahdollisille haavoittuvuuksille ja käyttökatkoille. Teknologiat ja menetelmät, kuten IaC ja DevOps, on suunniteltu käsittelemään kehityksen ja infra-toimituksen välistä tiedonkulkua. IaC keskittyy pääasiassa teknologiaan, kun taas DevOps edistää yhteistyötä kehitys- ja infratiimien välillä, usein sisältäen teknologisia ratkaisuita, kuten Azure DevOps. Tämä tutkimus perehtyy IaC:n teoreettisiin perusteisiin ja tekee syvällisen analyysin Skanska Suomen pilviympäristöstä ja arkkitehtuurista. Tärkein tavoite on selvittää, vastaako Skanska Suomen lähestymistapa alan hyviä käytäntöjä ja tunnistaa mahdolliset parannusalueet. Skanska Suomi käyttää yhden pilven strategiaa palvelujensa tuottamiseen ja tämä näkyy tutkimuksen sisällössä. Ennen tutkimuksen aloittamista oli selvää, että Skanska Suomi käyttää jo IaC:ta infrastruktuurin määrittämiseen. Näin ollen tutkimuksen pääpaino on nykyisen tilan parantamisessa ja olemassa olevan lähestymistavan mahdollisten ongelmien tunnistamisessa. Kirjoittaja työskentelee Skanska Group HQ:lla IT arkkitehtina ja hänellä on tuntemus ympäristöstä. Tämä tutkimus tarjoaa parannusehdotuksia, joita voidaan soveltaa eri organisaatioihin ja toteuttaa samojen periaatteiden mukaisesti. Tarkastelemalla Skanska Suomen pilvi-infrastruktuuria ja IaC-käytäntöjä tämä tutkimus pyrkii tuottamaan arvokasta tietoa pilvipalveluihin, DevOpsiin sekä mikropalveluihin liittyen. Lisäksi se korostaa organisaatiokäytäntöjen yhdenmukaistamisen merkitystä alan hyvien käytäntöjen kanssa ja kannustaa löytämään jatkuvasti keinoja palveluiden parantamiseen alati kehittyvässä maailmassa.
Keywords: Infrastructure as code, DevOps, Cloud, Microservices