PROG2005

Cloud Technologies

Spring

Gjøvik

English

Overview

4 candidates

Average grade

C

3.00

0.64

Pass rate

100%

8 points

Grade distribution
Average over time
Pass rate over time

About this course

Content

The field of cloud computing and cloud technologies is dynamic and highly interdisciplinary, capturing aspects of programming, operations, economics, management as well as being constrained by social and legal considerations. This course aims at developing a comprehensive picture of the decision factors and aspects relevant to cloud technology, ensuring that students are able to situate ongoing innovations in this area. There are some fundamental concepts that stay relatively unchanged, and there is an innovation in tools and technologies that often change. Due to those characteristics, the course lectures are subject to change, based on contemporary shifts in technological and market developments. The typical coverage includes, but is not limited to:

- Architectural Types and Principles (IaaS, PaaS, SaaS)

- Cloud Technologies (Processing, Storage, Network, Virtualisation)

- API Standards (e.g., REST) and Standardisation Bodies (i.e., IETF)

- Cloud Vendors and Economics of Cloud Services (Business models, Pricing models, Service-level agreements)

- Cloud Operations Basics

- Development and Deployment of Cloud Services and Applications under consideration of performance factors, economic factors, environmental and legal factors

Learning outcomes

At the end of the course students shall possess specialized knowledge and skills:

Knowledge

  • Understand fundamentals of networking relevant to cloud technologies
  • Understand cloud operations, requirements and challenges
  • Differentiate SaaS, PaaS, and IaaS with respect to functionality and design choice
  • Understand motivations underlying the use of cloud technology (e.g., economic aspects)
  • Understand the social and legal, ethical and sustainability implications of cloud computing and cloud service design
  • Be familiar with a typical service portfolio offered by public cloud providers (e.g., AWS, GCP, Azure)
  • Be familiar with relevant API standards (e.g., REST) and the concept of standardisation bodies
  • Be familiar with relevant data transmission formats (e.g., JSON)

Skills

  • Be able to discuss cloud technologies and concepts related to SaaS, PaaS, IaaS
  • Be able to design RESTful service APIs under consideration of user experience, as well as security and sustainability factors
  • Be able to conceptualise cloud-based solutions for a given problem and/or domain
  • Be able to evaluate cloud vendors under consideration of economic, legal and security considerations
  • Be able to program against third-party APIs
  • Be able to deploy and operate developed cloud services

General competence

  • Have improved programming abilities
  • Perform, discuss and reflect on constructive code reviews
  • Be able to discuss solutions with network and cloud computing administrators, as well as general audience
  • Be reflective about factors that influence decision-making on software design and deployment (i.e., when and when not to use cloud solutions)
  • Be able to reflect on social, ethical, economic, legal and security concerns as well as environmental impact more broadly

Teaching methods

  • Lectures
  • Web-based learning (e.g., videos)
  • Assignments