Participants of the courses "ULS" are simulating an architecture group dealing with a large scale application for some corporation. The atmosphere is more like a workshop than a seminar. The very heterogeneous skills and knowledge in a master course makes it quite hard to define hard topics. For this reason the course will start with participants taking a look at existing large scale sites. They present those sites using EXISTING papers, blogs etc. (explaining things This usually results in a large number of technologies mentioned but new to most participants. In the next step we define large architectural areas and students take over responsibility for them and start diving into papers and blogs (see below). A strategy group e.g. deals with different approaches and their price/performance/learning curve etc. A serverless group might create ideas for using this technology compared to e.g. a microservice approach. Step by step the understanding of ULS components will improve and the groups will notice dependencies between the architectural parts.
As we discuss large scale components we will invariable discover some core distributed technologies which we do not yet understand. Things like Paxos and Raft, special distributed transactional modes and more. We will pick some for a deeper inspection and a group will try to give an intro. There are also some special topics included in the course like System Design Interviews. Once we have a basic understanding of ULS, we will do a workshop where participants will have to fill in a SDI on some topic. In the following session we will discuss the results.
The discussion topics in the ULS course will be largely decided by the participants, work can be done in groups. The following list gives some ideas for topics.
Participants are required to read papers and articles around their topic.
If you don't like to read, don't take this course!!! There is a google drive folder where we will collect presentations and other resources.
What can you do if you detect some larger gaps in your distributed systems skills? The following literture might come in helpful in this case:
Optional topcis for the course: (feel free to offer your own ideas). How about serverless at the edge (cloudflare?), model-driven programming for the cloud? Web Assembly for ULS?
The strateg group deals with the overall architecture, prices, disasters etc.
https://medium.com/@sbrisalsEpisode #20: The Serverless Journey of LEGO.com with Sheen Brisals
It looks like both topics are rather hard to have at the same time...
Here we are interested in how AI can be scaled and how AI might support ULS sites internally, e.g by driving intelligent caches. But customer facing AI is OK as well.
Workshop with inovex?