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.

2023S, VU, 4.0h, 6.0EC
TUWELLectureTube

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 

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 (twice per week) which includes the practical exercises

 

The sessions (with dates) are available at https://dev.azure.com/AOCC-Lectures/HandsOnCloudNative/_wiki/wikis/HandsOnCloudNative.wiki/1/Welcome-to-LVA-194131-HandsOn-CloudNative-

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Fri10:00 - 11:0024.02.2023 https://tuwien.zoom.us/j/96582074273?pwd=b0pOSTUyV0NZVHY0WWVSMFhvbysvUT09 (LIVE)Q&A Session explains how to participate in the qualifier CTF
Thu13:00 - 17:0009.03.2023Sem.R. DA grün 02 B - GEO StartUp_Game_Track
Tue13:00 - 17:0021.03.2023 - 23.05.2023Sem.R. DA grün 02 C - GEO From_Scratch_Track
Thu13:00 - 17:0023.03.2023 - 29.06.2023Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Tue13:00 - 17:0006.06.2023 - 27.06.2023EI 5 Hochenegg HS From_Scratch_Track
Fri09:00 - 11:0016.06.2023Vortragsraum Konstruktionslehre Examen Nachholtermin
Hands-On Cloud Native - Single appointments
DayDateTimeLocationDescription
Fri24.02.202310:00 - 11:00 https://tuwien.zoom.us/j/96582074273?pwd=b0pOSTUyV0NZVHY0WWVSMFhvbysvUT09Q&A Session explains how to participate in the qualifier CTF
Thu09.03.202313:00 - 17:00Sem.R. DA grün 02 B - GEO StartUp_Game_Track
Tue21.03.202313:00 - 17:00Sem.R. DA grün 02 C - GEO From_Scratch_Track
Thu23.03.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Tue28.03.202313:00 - 17:00Sem.R. DA grün 02 C - GEO From_Scratch_Track
Thu30.03.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Thu20.04.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Thu27.04.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Tue02.05.202313:00 - 17:00Sem.R. DA grün 02 C - GEO From_Scratch_Track
Thu04.05.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Tue09.05.202313:00 - 17:00Sem.R. DA grün 02 C - GEO From_Scratch_Track
Thu11.05.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Tue16.05.202313:00 - 17:00Sem.R. DA grün 02 C - GEO From_Scratch_Track
Tue23.05.202313:00 - 17:00Sem.R. DA grün 02 C - GEO From_Scratch_Track
Thu25.05.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Thu01.06.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Tue06.06.202313:00 - 17:00EI 5 Hochenegg HS From_Scratch_Track
Tue13.06.202313:00 - 17:00EI 5 Hochenegg HS From_Scratch_Track
Thu15.06.202313:00 - 17:00Sem.R. DA grün 02 C - GEO StartUp_Game_Track
Tue20.06.202313:00 - 17:00EI 5 Hochenegg HS From_Scratch_Track

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 - 23.05.2024writtenno application-CTF-2

Course registration

Begin End Deregistration end
10.01.2023 00:00 01.03.2023 23:59 03.03.2023 23:59

Registration modalities

An online challenge will be required for selection, Please join this slack to participate https://join.slack.com/t/aocc-public/shared_invite/zt-1oxbbm86t-RgvxyIi1lZAXRKJ6IJys~Q 

Curricula

Study CodeObligationSemesterPrecon.Info
066 645 Data Science 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