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
- 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
This lecture isCollaborative: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.
ECTS Breakdown23h Lecture attendance69h Exercises in groups (in Classroom, directly coupled to the Lecture)46h literature and independent work8h 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)
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)
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
- 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.