At the beginning of this year I gave a lecture and workshop at the Inverted CERN School of Computing 2023. The CSC programme covers various aspects of scientific computing for high-energy physics and other data-intensive sciences.
Naturally, my contribution was on the topic of cloud computing. During the lecture I covered the history and rise of cloud computing as well as some theoretical concepts. In the hands-on workshop participants were able to apply cloud native development practices and become familiar with Kubernetes.
These days, the “cloud” is the default environment for deploying new applications. Frequently cited benefits are lower cost, greater elasticity and less maintenance overhead. However, for many people “using the cloud” means following obscure deployment steps that might seem like black magic.
This course aims to make newcomers familiar with cloud-native technology (building container images, deploying applications on Kubernetes etc.) as well as explain the fundamental concepts of the tech (microservices, separation of concerns and least privileges, fault tolerance). In particular, the following topics of application development will be covered:
- building: writing applications in a cloud-native way (e.g. to work in an immutable environment) and creating container images according to best-practices;
- deploying: using infrastructure-as-code to describe the application deployment (e.g. Helm charts) and using advanced features such as rolling updates and auto-scaling;
- monitoring: after multiple containers have been deployed, it is important to keep track of their status and the interaction between the services.
The video recording and slides of the lecture are available:
(direct link to video)
(direct link to slides PDF)
The workshop materials are also available. While they contain some references to CERN infrastructure, these are just details that can easily be adjusted to other cloud environments.
(direct link to workshop PDF)
Please feel free to reach out if you’d like to see this content be presented at a different venue (conference, community meeting, company gathering).