Skip to content

A-Z

API#

Application Program Interfaces are methods for programs to exchange data without the involvement of humans. APIs often involve a schematic description of how the data looks like and where it needs to be sent. Today many APIs are based on HTTP.

Container#

Containers are discussed in lecture 4 and provide a way to package an application with its runtime requirement in a self-contained manner. Containers also provide limited security isolation.

Container Orchestrator#

A container orchestrator is responsible for managing containers across multiple virtual or physical servers. When a server fails or a container crashes the orchestrator is responsible for scheduling the container on a different server. Some orchestrators also manage integration with the cloud. Orchestrators are discussed in lecture 4

CDN#

A content delivery network replicates content across the globe to bring the content closer to the end user. CDNs are discussed in lecture 3.

DBaaS#

Databases as a Service are discussed in lecture 3 providing managed databases to a cloud customer without needing to manage a server, or the database system.

Docker#

Docker is one of the earliest modern containerization systems. Docker was largely responsible for promoting the immutable infrastructure concept in containers.

Docker also contains the Docker Swarm orchestrator, a very simple system to manage containers across multiple machines.

Docker is discussed in lecture 4 and exercise 3.

FaaS#

Functions as a Service are a concept discussed in lecture 3 that allow a developer to run program code without needing to manage a server or a runtime environment.

Grafana#

Grafana is an open source graphing dashboard. It is discussed in exercise 5.

HTTP#

The Hypertext Transfer Protocol is the protocol that powers the world wide web allowing for the easy up- and download of data. With HTTP each file (resource) has a unique URL on a server and can be linked.

IaaS#

Infrastructure as a Service is discussed in lecture 2 and provides virtual machines and related services to cloud customers.

IOMMU#

The IOMMU is the memory management unit that virtualizes the Direct Memory Access (DMA) requests from I/O components and separates them from each other to prevent attacks over Thunderbolt/USB.

Istio#

Istio is a service mesh used in conjunction with Kubernetes to facilitate microservices. Istio is discussed in lecture 5

Kubernetes#

Kubernetes is an advanced, and thus complex container orchestrator. It not only manages containers, it also contains a large number of cloud integrations for storage, networking, load balancers, autoscaling, and more. Kubernetes is discussed in lecture 4

Load balancer#

Load balancers provide either network or application level traffic distribution across multiple servers. They are discussed in lecture 2 and lecture 3

Microservices#

Microservices are a concept discussed in lecture 5 for creating multiple small applications working together across the network.

MMU#

The Memory Management Unit is the component of the CPU that translates virtual memory addresses to real addresses. It is used to separate applications from each other.

PaaS#

Platform as a Service is a collection of services discussed in lecture 3 that give a developer the ability to deploy an application without needing to manage IaaS servers.

Prometheus#

Prometheus is an open source, cloud native metrics collection system (time series database). It is discussed in lecture 5 and exercise 4.

Rack#

A closet with standardized mounts for servers.

Router#

A network device that forwards layer 3 (IP) packets between separate networks.

Switch#

A network device that forwards Ethernet frames (packets) between devices. It does not perform layer 3 (IP) routing.