Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "IaC"

Sort by: Order: Results:

  • Koskelin, Jukka (2023)
    Infrastructure as Code (IaC) is one of the key components for shortening the software development cycle and enabling DevOps culture in software development teams. While the concept was introduced to the wider audience in the mid-2000s, alongside DevOps, the adoption of Public Cloud and declarative domain-specific IaC -languages has made it an integral part of software development. In this thesis, we describe the IaC as a concept and examine its history, tools, and the state of the current research. We examine Infrastructure Systems and Infrastructure Stacks as concepts for describing IaC, and different patterns for re-usable modules. We then introduce Microsoft Azure as a Public Cloud Provider, its Platform-as-a-Service (PaaS) -resources, and infrastructure deployment mechanics, focusing on Azure Resource Manager templates and Bicep domain-specific language. As a case example, we go through a real-life project for creating re-usable Azure Bicep modules, examine how its architecture evolved during the project and architectural decisions made in different parts of the project. We introduce Common Azure Resource Module Library as a reference architecture for modular Azure Bicep code, present an architecture based on a façade module pattern and perform an Architectural Trade-off Analysis (ATAM) to find tradeoffs, architecture sensitivity points and risks.