95655 - Platforms and Cloud Computing Development Workshop Classes

Academic Year 2022/2023

  • Moduli: Giovanni Delnevo (Modulo 1) Manuel Iaderosa (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Systems Technologies (cod. 5816)

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 assessment is based on two separate tests: the presentation of the project by the team and an oral exam carried out individually.

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 Manuel Iaderosa

SDGs

Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.