General information

Course type AMUPIE
Module title Cloud computing fundamentals
Language English
Module lecturer dr Tomasz Kowalski
Lecturer's email
Lecturer position assistant professor
Faculty Faculty of Mathematics and Computer Science
Semester 2024/2025 (summer)
Duration 60
USOS code 0000


The bulk of this course will be allocated to stages 3-6 of the syllabus. It is estimated that each will take three weeks to complete at 4 course hours per week.

The timeline will be adapted to suit participants' interests and abilities, with a minimum of one week for each of stages 7 and 8.


Module aim (aims)

Suppose you had an innovative idea for a digital product or service. Using just your own laptop, you have managed to build a proof of concept solution. And now you might be wondering - how to turn this demo into a full-scale product?
You may have heard about the public cloud and its associated benefits e.g.  scalability, reliability, cost optimization, resource pooling, easy setup and maintenance. But what does this actually mean and how will it affect your solution?

This course is designed to give you an overview of cloud technology, starting with the basics and moving on to more advanced concepts, enabling you to design and build products and services using cloud resources.
We shall strive to be vendor-independent and examine the services offered by all major cloud providers.
The ultimate goal of this course is to provide you with a comprehensive understanding of the essential elements, principles and technologies that underpin cloud architecture.

Pre-requisites in terms of knowledge, skills and social competences (where relevant)

This course has been designed with computer science students in mind. Some programming and computer networking skills are required.

You should be reasonably familiar with how web applications work. The cloud is clearly more about the back end, so understanding how web applications are built in this regard would help you better understand where and how you could benefit from integrating cloud services.

Being a Linux user would be helpful. If you are not, you may not be able to use some of the more advanced features of the cloud. You do not have to be a Linux enthusiast, but at the very least you should not be helpless when interacting with a text terminal.

Finally - there is always a free tier, but to set up an account with a public provider you will need a credit card, so make sure you get one. :)


1. Fundamentals of the cloud

Technical requirements. Some history. Models (IaaS, PaaS, SaaS). Cloud architecture.

2. Providers and components

Choosing a service provider - a key decision. Unique needs of startups. Things to consider. Pitfalls and how to avoid them.

3. Compute services

Options and pricing. VMs, containers, serverless. Load balancing. Auto-scaling.

4. Storage services

Options and pricing. Block, filesystem and object storage. Ways to access storage.

5. Networking services

Options and pricing. Private networks, routing considerations, CDNs.

6. Database services

Options and pricing. Managed relational and nosql DBMS. Caching and warehousing.

7. Data analytics services

Options and pricing. Components for big data pipelines.

8. Machine learning services

Options and pricing. Components for ML pipelines.

Reading list

There is a lot of material out there to help you master the cloud. If you know what you are looking for then use your favourite search engine by entering the name of the provider and the issue you are interested in. You will find a substantial number of tutorials (including videos) and extracts from the vendors' technical documentation.

The largest cloud providers offer excellent reference material, but it can be tough reading for beginners.

There are quite a few textbooks available. Please go to your favourite publisher's website and look for anything with "cloud" in the title. There are some that look at the cloud from a programmer's perspective, some that focus more on operations, and there are even certification guides. Pick the one that resonates most with you.

If you are looking for a textbook that is most compatible with this course, please consider "The Self-Taught Cloud Computing Engineer"  by Dr. Logan Song. It is a recent one, published September 2023 by Packt, ISBN: 9781805123705.