194.131 Hands-On Cloud Native
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2024S, VU, 4.0h, 6.0EC
LectureTube

Properties

  • Semester hours: 4.0
  • Credits: 6.0
  • Type: VU Lecture and Exercise
  • LectureTube course
  • Format: Presence

Learning outcomes

After successful completion of the course, students are able to

- argue for or against cloud migration proposals and understand the emergence of "cloud-native” and what this means
- understand the DevSecOps paradigm and where it comes from
- demonstrate practical expertise to work with CI/CD pipelines and explain what best practices are
- use Infrastructure as Code in a safe way
- understand how linux containers (Docker) work and be able to build them and judge their quality 
- understand the principles of container orchestration (kubernetes) and work with it 
- understand the principles of cloud architecture patterns, micro services and distributed systems 
- understand the importance of observability
- argue why 'shift-left' can ultimately lower the total cost of ownership 


NOTE: For general questions on the ADMISSION TEST (self-service online), please see https://lab.dev.austrianopencloudcommunity.org/codelabs/admission/index.html?index=..%2F..aocc#0

Subject of course

- Introduction to Cloud Native Patterns and Architecture, understand why loose coupling, abstractions and service interfaces (APIs) are prevalent
- Understand shared ownership models of cloud and their implications for users
- Hands On work with representative cloud native applications: design, development, deployment, testing, operations, security
- Introduction to the DevSecOps paradigm and GitOps
- Hands On work with Infrastructure as Code
- Hands On work with Continuous Integration and Continuous Deployment
- Gain understanding of abstractions: Containers and Container Orchestration (Linux Only)
- Kubernetes Deep Dive: understand the most famous of all cloud components from admin and user perspective and work with it
- The dangers of cloud: understand the basics of cost, security and governance of highly dynamic, co-owned, non-local environments
- The importance of testing and automation: Best practices and common pitfalls

 

 

Teaching methods

  • Presentations and technical Demos (in presence if possible)
  • Flipped Classroom
  • practical exercises in small groups
  • Cloud resources and live deployments will be made available to students during dedicated hours (no need to purchase public cloud accounts)

This lecture is

Collaborative:
The students will be forming groups and found a “startup” that offers a (small) cloud native service, they will need to develop and maintain this service together. Part of passing the exam is that the “life” service fulfills minimal best practice standards.

Relevant:
The course will discuss current best practice recommendations (e.g. from the CNCF but also other whitepapers) and use reference implementations to study aspects thereof.

Engaging:
The frontal theory sections will be short, supplemented with demonstrations and main objective of the course is the creative and collaborative implementation of the “Hands-On Challenge”

Challenging:
The course will cover the full life-cycle of a cloud native, open source service including Operations and Security. The breadth of the stack and the abundance of tooling is chosen to be similar to working in a real life startup.

Fun:
During the 4 hours, all practice requirements of each session will be covered. A community spirit is desired in which students help each other, also across their groups while lectures support.
The exam is a (series of) CTF-like challenges designed for minimal time-pressure and to be achievable if all units were attended with active participation as well as a critical discussion of each “startup” lessons learnt.

Note: the homework will usually consist of students watching tutorials or reading up on relevant materials *before* the lecture.

In many ways, this lecture should prepare the student for working with a real life problem in the cloud. The students will be using platforms and services of the AustrianOpenCloudComunity Infrastructure wherever possible, comparisons to the leading cloud providers will be made whenever relevant. 

Mode of examination

Immanent

Additional information

ECTS Breakdown

23h Lecture attendance
69h Exercises in groups (in Classroom, directly coupled to the Lecture)
46h literature and independent work
8h attendance for performance review (oral, written)

 

NB: Each session is a 4 hr block (once per week) and the teamwork track is a self-organized 4 hr per week effort, where the lecturer supports

 

The sessions (with dates) are available at with topics will be made available soon (2024 version)

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Fri10:00 - 11:0023.02.2024 https://tuwien.zoom.us/j/64572140168?pwd=UmRwNGFuY1U4cjB5ZHNHNlBhblBCdz09Q&A Session explains how to participate in the qualifier CTF
13:00 - 18:0026.02.2024 - 28.02.2024 Will be discussed in Q&A Session on Friday 23 and Email (LIVE)Admissiontest
Tue13:00 - 17:0005.03.2024 - 12.03.2024EI 5 Hochenegg HS StartUp_Game_Track
Tue13:00 - 17:0009.04.2024EI 9 Hlawka HS - ETIT StartUp_Game_Track
Thu13:00 - 17:0011.04.2024EI 9 Hlawka HS - ETIT Exam 1
Tue13:00 - 17:0016.04.2024 - 25.06.2024HS 7 Schütte-Lihotzky - ARCH StartUp_Game_Track
Tue13:00 - 17:0007.05.2024Hörsaal 15 StartUp_Game_Track
Tue14:00 - 17:0007.05.2024EI 5 Hochenegg HS Guest Lecture 1
Thu13:00 - 17:0023.05.2024HS 7 Schütte-Lihotzky - ARCH Exam 2
Tue13:00 - 17:0004.06.2024EI 5 Hochenegg HS StartUp_Game_Track
Tue12:00 - 16:0011.06.2024FH Hörsaal 1 - MWB GuestLecture 2
Fri14:00 - 17:0021.06.2024HS 7 Schütte-Lihotzky - ARCH Practise Final Presentation
Thu13:00 - 18:0027.06.2024HS 7 Schütte-Lihotzky - ARCH Final Presentation with Audience (recorded)
Hands-On Cloud Native - Single appointments
DayDateTimeLocationDescription
Fri23.02.202410:00 - 11:00 https://tuwien.zoom.us/j/64572140168?pwd=UmRwNGFuY1U4cjB5ZHNHNlBhblBCdz09Q&A Session explains how to participate in the qualifier CTF
Mon26.02.202413:00 - 18:00 Will be discussed in Q&A Session on Friday 23 and EmailAdmissiontest
Tue27.02.202413:00 - 18:00 Will be discussed in Q&A Session on Friday 23 and EmailAdmissiontest
Wed28.02.202413:00 - 18:00 Will be discussed in Q&A Session on Friday 23 and EmailAdmissiontest
Tue05.03.202413:00 - 17:00EI 5 Hochenegg HS StartUp_Game_Track
Tue12.03.202413:00 - 17:00EI 5 Hochenegg HS StartUp_Game_Track
Tue09.04.202413:00 - 17:00EI 9 Hlawka HS - ETIT StartUp_Game_Track
Thu11.04.202413:00 - 17:00EI 9 Hlawka HS - ETIT Exam 1
Tue16.04.202413:00 - 17:00HS 7 Schütte-Lihotzky - ARCH StartUp_Game_Track
Tue23.04.202413:00 - 17:00HS 7 Schütte-Lihotzky - ARCH StartUp_Game_Track
Tue30.04.202413:00 - 17:00HS 7 Schütte-Lihotzky - ARCH StartUp_Game_Track
Tue07.05.202413:00 - 17:00Hörsaal 15 StartUp_Game_Track
Tue07.05.202414:00 - 17:00EI 5 Hochenegg HS Guest Lecture 1
Tue14.05.202413:00 - 17:00HS 7 Schütte-Lihotzky - ARCH StartUp_Game_Track
Thu23.05.202413:00 - 17:00HS 7 Schütte-Lihotzky - ARCH Exam 2
Tue28.05.202413:00 - 17:00HS 7 Schütte-Lihotzky - ARCH StartUp_Game_Track
Tue04.06.202413:00 - 17:00EI 5 Hochenegg HS StartUp_Game_Track
Tue11.06.202412:00 - 16:00FH Hörsaal 1 - MWB GuestLecture 2
Tue18.06.202413:00 - 17:00HS 7 Schütte-Lihotzky - ARCH StartUp_Game_Track
Fri21.06.202414:00 - 17:00HS 7 Schütte-Lihotzky - ARCH Practise Final Presentation

Examination modalities

Immanent / exercise submission and exam:

- Successful completion of the exercises  on the live systems during the dedicated hours and submissions to git-repositories (including passing pipeline tests) (80% of presence required, not graded)
- Project work in groups on a “mini-open source project" incl a git-repository (documentation, tests, automation), incl a presentation to the class   (project required to work live, presence required, not graded)
- Capture the Flag Challenges, which tests logical understanding (not only security topics) (minimal grade required, graded)

Exams

DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Thu - 11.04.2024writtenno application-CTF-1
Thu - 23.05.2024writtenno application-CTF-2

Course registration

Begin End Deregistration end
11.12.2023 00:00 01.03.2024 11:15 01.03.2024 23:59

Registration modalities

An online challenge will be required for selection, it will be held in the last week of February and it is used to ascertain that the students have the necessary background skills to succeed in the course. It is advisable to brush up basics of git, basics of linux admin , basics of networking and basics of docker 

Curricula

Study CodeObligationSemesterPrecon.Info
066 645 Data Science Mandatory elective
066 937 Software Engineering & Internet Computing Mandatory elective

Literature

No lecture notes are available.

Previous knowledge

- Linux administration and basic knowledge of how Operating Systems work
- Basic understanding of filesystems
- bash or equivalent scripting languages
- git 
- Network protocols especially TCP/IP
- package managers 
- knowledge of at least one programming language is highly beneficial 

Note: it is highly recommended to play with Docker before taking this class and build familiarity with the Docker CLI  

 

Requirements:
- Students must bring a Linux or Mac Laptop with at least 8 Gb of Ram (16 Gb is much better). Windows will NOT be supported
- Students must bring a Smartphone for MFA    

 
Qualifying Exam:
There will be a entrance test to ensure maximal success during the rather intense hands-on sessions by asserting student have the prerequisite skills and knowledge.

Miscellaneous

Language

English