UE Cloud Computing, from infrastructure to applications

Degrees incorporating this pedagocial element :

Description

This course provides an overview of cloud computing principles, building blocks and applications.

Over the past 15 years, the emergence of cloud computing infrastructures has fundamentally impacted the way to design and deploy software, in most application domains. At the core of IT infrastructures, cloud computing is today the main platform for implementing and deploying robust, scalable, potentially geo-distributed, elastic applications. Together with DevOps methods, it allows IT companies to rapidly deliver reliable software.

The course studies :

  • The low-level mechanisms enabling the cost-efficiency, performance, scalability and resilience of cloud infrastructures,
  • The software design principles involved in the construction of (distributed) cloud applications,
  • The cloud services facilitating the implementation of cloud-native applications.

Through lectures, practical sessions, and the study of recent research publications (from academia and industry), students will learn about the core principles and usage of:

  • Virtualization technologies (hypervisors, kernels, and containers) enabling flexible, efficient, safe and secure hosting of code and data on a shared hardware and software infrastructure;
  • The fundamental aspects of cloud infrastructures, services, and design patterns for the construction of efficient, scalable and resilient distributed applications;
  • Microservice architectures, allowing organizations to design, develop and manage complex software services in an extremely modular way.

Target audience:

  • Students interested in working as Cloud architect, DevOps engineer, Software engineer.
  • Students interested in a career in R&D in the fields of operating systems, distributed systems, parallel systems, embedded/edge systems.
  • Students interested in software engineering, software design patterns and DevOps practices.
  • Students specializing in other domains of computer science who are interested in leveraging and optimizing cloud resources for specific purposes (e.g., data science & machine learning, testing, high-performance computing, large-scale data management, etc.).

Recommended prerequisite

Basic knowledge of operating systems concepts (M1 level), networking (TCP/IP, sockets) and distributed applications (e.g., client-server protocols such as HTTP)