Cloud Platforms and Infrastructure as Code (6 CFU)

Università degli Studi di Napoli Federico II

Corso di Laurea Magistrale in Ingegneria Informatica

Prof. Roberto Canonico

Course syllabus

A.A. 2025-26

Students are invited to:
  1. enroll into the course here
  2. join the course team on Microsoft Teams by using the code that is accessible here
    (access restricted to enrolled students)

LIST OF LECTURES

Lesson no. Date Topics
1 04/03/2026 Course introduction.
Datacenter architecture and organization. Rack layout.
Air conditioning and cooling plant. UPS and emergency generators.
Energy efficiency of a datacenter. Power Usage Effectiveness.
Datacenter Tiers (UpTime Institute classification).
Modular datacenters.
Small-scale sample datacenter layouts.
Ethernet technology evolution.
Transmission media used in datacenter networking: copper cables (UTP and STP/FTP), optical fibers (MMF and SMF), Twinax.
10 Gigabit Ethernet implementations and media. IEEE 802.3ae, IEEE 802.3ak, IEEE 802.3an.
Transceivers. GBIC, SFP, SFP+, QSFP/QSFP+.
2 06/03/2026 Switching theory fundamentals. Head-of-Line blocking.
Clos networks. Clos theorem.
Datacenter networking infrastructure.
Datacenter networks: access layer. ToR and EoR organizations. Datacenter networks: aggregation layer.
Oversubscription ratio. Bandwidth aggregation techniques.
IEEE 802.3ad Link Aggregation. IEEE 802.1ax Link Aggregation Protocol LACP.
3 11/03/2026 Datacenter network infrastructure evolution.
Leaf-spine topology.
Some examples of leaf and spine commercial switches and large scale datacenter networks.
Datacenter networks and alternate paths exploitation: multipathing.
Multipathing at Layer 2 in a leaf-spine topology: TRILL, SPB, VLT.
Multipathing at Layer 3. Equal cost multi-path (ECMP).
Improving ECMP load balancing with Flowlets.
Multitenancy in datacenter networking.
Virtual networking techniques in a datacenter. Multi-layer switches and Virtual Switch Interfaces.
IEEE 802.1ad (Q-in-Q).
Tunneling protocols and overlays. VXLAN. GRE and NVGRE. MPLS in datacenters.
4 13/03/2026 Storage technologies for datacenters: DAS, NAS and SAN. SSD disks for datacenter servers.
SCSI. Fibre Channel. Network convergence. Fiber Channel over Ethernet (FCoE).
iSCSI. Implementation of iSCSI in Linux: target and initiator.
Virtualization technologies. The virtualization concept.
Different approaches to IT resource virtualization. Type-1 and Type-2 hypervisors.
Different kinds of hypervisors and virtualization platforms. VMware ESXi. KVM. Proxmox.
virsh and Virtual Machine Manager.
LAB-01: Creation of VMs with virt-manager and KVM. Use of cloud-init.
5 18/03/2026 Container-based virtualization. Docker. Docker Engine and CLI.
States of a Docker container.
Docker images and layers. Docker Registries.
Persistent data management strategies for Docker images. Volumes.
Docker build and Dockerfile. Dockerfile syntax.
Creation of Dockerfile for a containerized Python application.
Docker networking. Use of Linux Bridge in Docker. User-created networks. Bridge networks and port mapping.
Docker Compose. Networking in Docker Compose.
  20/03/2026 Lezione annullata per concomitanza con seduta di laurea di Ingegneria Informatica.
6 25/03/2026 Virtual switches in type-1 and type-2 hypervisors.
Software switches. Linux Bridge. brctl command.
Open vSwitch: features and architecture. ovs-vsctl command.
Software routers. Quagga and FRR.
ContainerLab.
LAB-02: Docker Compose demo: deployment of a web app based on 3 containers.
7 27/03/2026 YAML.
LAB-03: ContainerLab demo with FRR and OSPF.
LAB-04: Emulation of a Leaf-Spine datacenter topology with OSPF in ContainerLab.
General ideas of Cloud Computing. Cloud service models: IaaS, PaaS, SaaS.
Cloud deployment models (public, private, hybrid, community).
Elastic computing. Horizontal vs vertical scalability in the cloud.
Cloud standards. Cloud migration.
8 01/04/2026 LAB-05: Emulation of a Leaf-Spine datacenter topology with BGP, EVPN and VxLAN in ContainerLab.
Introduction to REST APIs.
Introdution to Cloud Computing and its advantages.
Cloud elasticity: vertical vs horizontal scaling.
IaaS services vs. managed PaaS services.
Legacy systems migration to cloud platforms.
7-R: seven strategies for cloud migration. Rehosting, Relocating, Refactoring.
9 08/04/2026 Introduction to Amazon AWS Cloud services.
AWS regions and availability zones.
AWS shared responsibility model.
An introduction to AWS EC2. EC2 instance lifecycle.
AWS Virtual Private Cloud. VPC Subnets. Subnet types.
EC2 instances: network addresses and names.
Amazon Elastic Load Balancing (ELB). Types of ELBs. ELB target group.
10 10/04/2026 IAM users and groups. Console authentication with MFA. Access keys.
Amazon aws CLI tool.
AWS Simple Storage Service S3. S3 buckets and objects.
Accessing an S3 bucket from a Python script with the Boto3 library.
Use of S3 objects to serialize and de-serialize Python objects.
LAB-07: Practical demo of Amazon AWS EC2 and S3.
11 15/04/2026 Seminar: "Networking for Distributed AI".
Mario Baldi, NVIDIA Distinguished Architect.
Distributed AI workloads are unique in the way they make use of the network. As a consequence, traditional networking solutions are not ideal for interconnecting the massive number of processors deployed in clusters for AI training and inference. Given that the network plays a key role in Distributed AI's performance and power consumption, academia and industry have devoted an enormous amount of effort to develop specialized solutions. After analyzing the unique networking requirements of distributed AI workloads, this talk describes the network architectures commonly used to achieve the extreme scale of AI clusters and the standard protocol stacks developed for this specific context, covering both scale-in and scale-out domains.
12 17/04/2026 AWS: Elastic Load Balancer.
LAB 08: AWS ELB and dynamic Auto Scaling of EC2 instances.
Introduction to AWS Lambda. Lambda function lifecycle.
An AWS Lambda function in Python: coding and testing.
13 22/04/2026 Kubernetes. Components of a Kubernetes cluster.
General Kubernetes entities: pods, services, ingress, config map, secret, persistent volume, deployment, replica set, stateful set.
Intro to Kubernetes design patterns.
Minikube. The kubectl CLI tool.
Creation of pods, service, replica set and deployment with kubectl.
LAB-06: Kubernetes demo: deployment of multi-pod applications in a Minikube cluster (part I).
14 24/04/2026 AWS Lambda functions and API gateway. Attach a Lambda function to an HTTP API through an API gateway.
Create a REST API with AWS API Gateway. API Gateway configuration.
AWS Serverless Application Model (AWS SAM). AWS SAM Template.
AWS SAM Command Line Interface (SAM CLI).
Development workflow for a SAM application.
15 29/04/2026 Introduction to OpenStack: fundamentals services. Architectural design of OpenStack services. OpenStack deployments.
OpenStack networking in a Compute Node.
16 06/05/2026 Cloud Automation. Terraform.
LAB: Use of Terraform with Docker and AWS providers.
17 08/05/2026 TCP performance problems in datacenter networks. TCP Incast.
Datacenter-specific TCP variants: DCTCP.
Service and infrastucture networking solutions in public cloud infrastructures. Physical underlay and logical overlay.
Networking aspects in AWS VPCs. EC2 instance communications within a VPC subnet.
Evolution of the Dropbox infrastructure.
18 13/05/2026 Kubernetes networking. Pod and Service networking. Container Network Interfaces (CNIs).
ISTIO Service Mesh. Some preliminary remarks on Kubernetes in multi-cluster environments and the LIQO solution.
19 15/05/2026 Network Automation and Network Programmability.
Lifecycle of a network device.
Solutions for day-0, day-1, day-2 and day-n network automation.
NetDevOps pipeline and Continuos Integration/Continuos Development (CI/CD) for network as code.
YANG data models. Encoding of YANG data models: XML vs JSON.
NETCONF and RESTCONF protocols.
Use of the netmiko and ncclient Python libraries for remote device configuration.
20 20/05/2026 Seminar. Cristian Perissinotto (CISCO).
21 22/05/2026 Guided tour of the SCoPE datacenter at Monte S. Angelo campus.
22 27/05/2026 Seminar. Antimo Musone e Piergiorgio Adamo (Ernst & Young)..
23 29/05/2026  
24 03/06/2026 Seminar. Simone Morandini (Milan Internet eXchange, MIX)..

Lecture notes

Lecture notes will be made available at my official web page in the "Course Materials" section (link)

Suggested textbooks

  • Cloud Native Data Center Networking: Architecture, Protocols, and Tools (1st Edition).
    Dinesh G. Dutt.
    O'Reilly Media, 2019
    ISBN: 978-1492045601
  • Network Programmability and Automation, 2nd ed..
    Matt Oswalt, Christian Adell, Scott S. Lowe, Jason Edelman.
    O'Reilly Media, 2023
    ISBN: 978-1098110833
  • Cloud Networking: Understanding Cloud-based Data Center Networks.
    Gary Lee.
    Morgan Kaufmann Pub, 2014
    ISBN: 978-0128007280

Supplementary readings

  • Learning OpenStack Networking (Neutron): Architect and Build a Network Infrastructure for Your Cloud Using Openstack Neutron Networking.
    James Denton.
    Packt Publishing, 2014
    ISBN: 978-1783983308
  • Cloud computing per applicazioni web.
    J. Barr.
    Apogeo, 2010
    ISBN: 978-8850329083

Standards documents

Commercial Building Telecommunications Cabling Standard - Part 1: General Requirements
Commercial Building Telecommunications Cabling Standard - Part 2: Balanced Twisted-Pair Cabling Components
Commercial Building Telecommunications Cabling Standard - Part 3: Optical Fiber Cabling Components
Telecommunications Infrastructure Standard for Data Centers
(SP 800-145) Peter Mell (NIST), Tim Grance (NIST) - September 2011
Virtual eXtensible Local Area Network (VXLAN):
A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks

Further references

Useful references for running Open vSwitch containers in GNS3

Papers

Web sites of interest

News

Photo galleries

Videos of interest for this course


Exam schedule a.a. 2025-2026


Sample projects developed in past years


Previous editions of this course


roberto.canonico at unina.it

Last update: May 13, 2026