It might be just as important to define what we will NOT do. One thing that I will not go through is how to modify the internals of an application, and we will not touch the architecture of our applications. We are going to assume that applications are as they are. However, this is not because we shouldn’t be modifying the internals of our apps. We definitely should be adapting the code and the architecture of applications based on the results of our experiments.
Nevertheless, that’s not the subject of this course, simply because I would need to guess which programming language you are using and provide examples in Go, Java, NodeJS, Python, etc. All in all, we will not be modifying applications.
Also, we will never permanently change a definition of anything. Whatever we do, we will try (when possible) to undo the effects of our experiments. If we damage a network, we will have to undo the changes that caused the damage. Nevertheless, we might not always be successful in that. Sometimes, we might not be able to roll back the results of our experiments. We’ll do our best, but we are yet to see whether we’ll succeed.
Next, we’ll explore how this course is organized.