B3101 - Platforms and Cloud Computing Development Workshop Classes - Cesena Campus

Academic Year 2023/2024

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

The slides and additional material will be made available on Virtuale.


Office hours

See the website of Giovanni Delnevo

See the website of Davide Luppoli