- Docente: Davide Luppoli
- Credits: 6
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Cesena
- Corso: First cycle degree programme (L) in Computer Systems Technologies (cod. 6007)
-
from Feb 20, 2025 to Jun 05, 2025
Learning outcomes
At the end of the course, the student deeply knows the development strategies for cloud systems and frameworks provided by the main cloud providers, and in particular: the languages and methods for creating and managing virtual infrastructures by means of code (IaC) and for dynamically balancing the load; the main languages and frameworks for creating web-based applications in the cloud; the main development processes for running projects in the cloud and the tools available; the main tools for creating directory services and communication security mechanisms in systems and applications deployed in the cloud; the main tools for monitoring, billing and auditing of cloud applications and systems. The student also knows the main certifications of the main cloud providers and can design or help design a small to medium sized cloud-deployed computer system.
Course contents
Introduction to the theoretical concepts underlying cloud computing, including paradigms (scalability, elasticity, ...) and service models (IaaS, PaaS, SaaS, ...).
Presentation of cloud deployment models (public, private and hybrid), of the main cloud providers (AWS, Azure, GCP) and of the basic architectures.
Insight into the following topics:
- IaaS and virtualization: history, use cases, advantages/disadvantages, examples on GCP.
- Scalable architectures: vertical and horizontal autoscaling, load balancing, stateful vs stateless applications.
- Data architectures: relational and non-relational databases, cache servers and object storage models.
- Container: introduction to the concept and differences from virtualization, Docker.
- Microservices architectures: differences and advantages compared to monolithic architectures, RESTful APIs, examples and case studies.
- PaaS: serverless models, main features, GCP case studies.
- Monitoring and logging: brief theoretical notes on metrics, SLI/SLO/SLA, type of log, active monitoring.
- DevOps: meaning and responsibility, Continuous Integration and Continuous Delivery.
- Infrastracture as Code: definition, paradigm, declarative languages and frameworks.
- Cloud Security: shared responsibility model, platform security, examples of security tools
Readings/Bibliography
The slides and additional material will be made available on Virtuale.
Teaching methods
Lectures and laboratory exercises.
Assessment methods
The exam is divided into two parts: a written test and an oral test. Optionally, the written test can be replaced by the presentation of a group project.
Teaching tools
Slides available on Virtuale, credits for using Google Cloud Platform and the CloudSkillBoost platform.
Office hours
See the website of Davide Luppoli