IMT2681
Cloud Technologies
Last taught 2020
Autumn
Gjøvik
English
About this course
Content
The field of cloud computing and cloud technologies is dynamic. It changes rapidly. 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 market adjustments. The current coverage includes, but is not limited to:
-Networking Principles, Networking Stacks (e.g. OSI)
-Socket-based Network Programming
-Virtualization and Container Technologies
-Basic Use of Unix/Linux Systems (e.g. Shell, SSH)
-Cloud and Networking Architectures
-Cloud Infrastructure
-Cloud Storage (including types of storage and scalability concerns)
-Security
-Software as a Service (SaaS)
-Platform as a Service (PaaS), e.g. Google App Engine
-Infrastructure as a Service (IaaS), e.g. OpenStack, Amazon AWS
-Economic and Legal Aspects (e.g. Business models, Pricing models, Service-Level Agreements, Privacy)
Optional topics:
-Overview of Big Data: what it is, platforms, technologies
-Cloud-based web APIs
-Cloud Processing Reliability, Responsiveness, Scaling
Learning outcomes
At the end of the course students shall possess specialized knowledge and skills:
Knowledge
-Understand fundamentals of networking
-Understand of data centers operations, requirements and challenges
-Internalised principles of SaaS, PaaS, IaaS
-Understand the social and legal impacts of cloud computing
-Familiar with current cloud solutions offered by relevant vendors (e.g. Amazon, Google, Microsoft)
-Understand principles of REST
-Familiar with a range of cloud computing APIs
-Be able to describe principles of virtualisation and containerisation
Skills
-Be able to discuss cloud technologies and concepts related to SaaS, IaaS, PaaS
-Be able to do socket-based network programming
-Be able to design RESTful service API
-Be able to evaluate cloud-based solutions for a specified application problem
-Be able to plan and evaluate security of a software solution
-Be able to program against existing third-party APIs
-Be able to deploy basic developed cloud services using industry tools and best practices (e.g. docker)
General competence
-Have improved programming abilities
-Be able to discuss solutions with network and data center operators
-Be able to contribute to network security discussion
Teaching methods
-Blended learning (Lecture, Web-based learning)
-Assignments
-Project work
Various cloud-related topics are presented and discussed in this course, based on the evolution of the contemporary developments in cloud technologies. In recent years, students have used Amazon AWS, Heroku, and Google App Engine as modern examples of cloud technologies.