Infrastructure as Code
BASIC DATA
course listing
A - main register
course code
ICA0024
course title in Estonian
Infrastruktuur kui kood
course title in English
Infrastructure as Code
course volume CP
-
ECTS credits
6.00
to be declared
yes
fully online course
not
assessment form
Pass/fail assessment
teaching semester
autumn
language of instruction
Estonian
English
Study programmes that contain the course
code of the study programme version
course compulsory
IAAB17/26
no
Structural units teaching the course
IC - IT College
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Õppeaine eesmärk on anda süsteemne ülevaade ja praktilised oskused infrastruktuuri koodina (Infrastructure as Code - IaC) põhimõtetest ja tehnoloogiatest. Aine keskendub DevOps-kultuuri toetavatele automatiseerimise praktikatele, mis on vajalikud kaasaegsete tarkvarasüsteemide efektiivseks ja usaldusväärseks haldamiseks. Kursuse lõpuks oskab üliõpilane disainida, rakendada ja testida modulaarseid IaC lahendusi ning integreerida neid CI/CD konveieritesse, kasutades GitOps põhimõtteid.
course aims in English
The aim of the course is to provide a systematic overview and practical skills of Infrastructure as Code (IaC) principles and technologies. The course focuses on automation practices that support the DevOps culture, which are necessary for the efficient and reliable management of modern software systems. By the end of the course, the student will be able to design, implement and test modular IaC solutions and integrate them into CI/CD pipelines using GitOps principles.
learning outcomes in the course in Est.
Õppeaine läbinud üliõpilane:
- selgitab IaC põhikontseptsioone (sh idempotentsus, deklaratiivne vs. imperatiivne lähenemine, muutumatu taristu) ja nende rolli DevOps praktikates;
- ehitab ja haldab tarkvara tõmmiseid (images), kasutades selleks levinud tööriistu, nagu Docker ja Packer;
- haldab serverite ja muude ressursside olekut, kasutades konfiguratsioonihalduse (Ansible) ja provisioneerimise (Terraform) tööriistu;
- disainib, versioonib ja testib korduvkasutatavaid, modulaarseid IaC komponente;
- rakendab CI/CD konveieri, mis automatiseerib taristu muudatuste testimise ja paigaldamise, järgides GitOps põhimõtteid;
- analüüsib ja rakendab meeskonnatööks sobivaid IaC töövoogusid ning harustrateegiaid.
learning outcomes in the course in Eng.
After completing this course the student:
- explains the basic concepts of IaC (including idempotency, declarative vs. imperative approach, immutable infrastructure) and their role in DevOps practices;
- builds and manages software images using common tools such as Docker and Packer;
- manages the state of servers and other resources using configuration management (Ansible) and provisioning (Terraform) tools;
- designs, versions, and tests reusable, modular IaC components;
- implements a CI/CD pipeline that automates the testing and installation of infrastructure changes, following the principles of GitOps;
- analyses and implements IaC workflows and branch strategies suitable for teamwork.
brief description of the course in Estonian
Õppeaine annab põhjaliku ülevaate infrastruktuuri koodina (IaC) elutsüklist ja seda toetavatest tehnoloogiatest. Tutvustatakse IaC tuumpõhimõtteid. Käsitletakse tõmmiste (images) ehitamist (Packer, Docker) ning serverite ja ressursside olekuhaldust (Ansible, Terraform). Süvenetakse IaC lahenduste modulaarsusesse, testimisse ja kvaliteedihaldusesse. Käsitlemist leiavad CI/CD konveierid, GitOps'i põhimõtted ja meeskonnatöö voogude haldamine IaC kontekstis. Kursuse käigus lahendatakse praktilisi ülesandeid iseseisvate laboritööde vormis.
brief description of the course in English
The course provides a comprehensive overview of the infrastructure as code (IaC) life cycle and the technologies that support it. The core principles of IaC are introduced. The construction of images (Packer, Docker) and the state management of servers and resources (Ansible, Terraform) are discussed. The modularity, testing, and quality management of IaC solutions will be delved into. CI/CD pipelines, GitOps principles, and managing teamwork flows in the context of IaC will be discussed. During the course, practical tasks are solved in the form of independent laboratory work.
type of assessment in Estonian
-
type of assessment in English
-
independent study in Estonian
-
independent study in English
-
study literature
- Yevgeniy Brikman, Fundamentals of DevOps and Software Delivery, 2025
- Rosemary Wang, Infrastructure as Code, Patterns and Practices with Terraform, 2022
- Kief Morris, Infrastructure as Code: Designing, Deploying, and Managing Dynamic Systems, 2025
- Yevgeniy Brikman, Terraform: Up & Running, 2022
- Lorin Hochstein, Ansible: Up & Running, 2017
- Jeff Geerling, Ansible for DevOps: Server and Configuration Management for Humans, 2020
- Matt Morgan, Hands-On AWS CDK for Developers, 2025
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
lectures
2.0
lectures
-
practices
2.0
practices
-
exercises
0.0
exercises
-
lecturer in charge
Andrejs Adamovičs, külalisõppejõud (IC - IT kolledž)
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus
Course-teacher pairs of the corresponding version are missing!
Course description in Estonian
Course description in English