L 11 - FDN Flashcards

1
Q

Are traditional IT, IaaS, and Paas serverless?

A

No only FaaS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the unit of scale in traditional IT?

A

physical servers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the unit of scale in IaaS?

A

VMs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the unit of scale in PaaS?

A

Containers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the unit of scale in FaaS?

A

Functions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How long does the deployment of physical servers take?

A

hours/days

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How long does the deployment of VMs take?

A

minutes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a cloud native application?

A

Cloud-native applications are a collection of small, independent, and loosely coupled services. They are designed to deliver well-recognized business value, like the ability to rapidly incorporate user feedback for continuous improvement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Is a monolithic application cloud-native?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Are microservices or functions cloud native applications?

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Do you have an API gateway in monolithic applications?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the difference between a monolithic application and microservices?

A

In a monolithic application you have an application with has a user-interface and a backend in one “container”.
In Microservices you have a user-interface then API gateway to the different microservices that each have their own database.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the difference between FaaS-based apps and microservices?

A

In microservices you have several microservices after the API-gateway. In FaaS you can have more than one function for each service.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are 4 steps in FaaS?

A

You have events that
1. Trigger function invocation
2. Check if an instance is free (No –> cold start new instance (container in VM)
3. Execute Handler Method (function is run)
4. Response to events

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the Handler Method?

A

Internet:
In FaaS (Function as a Service), the handler method is the entry point of a serverless function. It is responsible for processing the input, performing the desired actions, and returning the output.

The handler method typically takes two arguments: an event object that contains the input data for the function and a context object that provides information about the runtime environment. The handler method should return a response object or raise an exception if an error occurs.

The signature of the handler method is specific to the FaaS platform being used and is defined in the function definition. For example, in AWS Lambda, the handler method signature is usually written as follows:

python
Copy code
def handler(event, context):
# Your function logic here
return {
“message”: “Hello World”
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the difference between a cold start and a warm start?

A

In a cold start the code has to be downloaded and then a new instance (e.g. container) is started. You bootstrap the runtime (load the dependencies etc.) and then you execute the function handler.

In a warm start the function handler method executes directly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the edge-cloud continuum?

A

You have the cloud layer, the edge layer (server closer to user), and end device layer

18
Q

Do you get less response time with an increase in memory?

A

Yes, the response time in seconds decreases if more MB of memory are allocated. You get more CPU for more memory. But the decrease is not linear and fades off with high levels of memory.

19
Q

What are 3 sources of heterogeneity in serverless deployment?

A
  • Hardware-config-based
  • location based
  • platform-based hetero FaaSD (openwhisk-self-hosted is fastest, IBM is slowest and Google and AWS cloud functions are mid-range)
20
Q

What are heterogeneous serverless clusters about?

A

You split of functions into different “buckets” to increase speed. Like you have AWS lambda function running with 256MB or some with 1024 MB in the HW-Config-base or you split them by location or by platform base.

21
Q

Why use heterogeneous sever clusters? 3 Advantages

A
  • use specialized architectures and hardware
  • overcome limitations of FaaS platform and cloudbursting
  • data-locality, data-privacy and not all cloud providers have data centers in all regions
22
Q

What is cloudbursting?

A

Cloud bursting is a technique for scaling computing resources on-demand by temporarily renting resources from a public cloud provider, such as Amazon Web Services or Microsoft Azure, when an application’s workload exceeds the capacity of the organization’s private cloud. This allows organizations to handle sudden spikes in traffic or processing demands without having to invest in and maintain a large amount of excess capacity.

23
Q

How to deliver function invocations? (How to send user invocations across heterogeneous compute clusters?)

A

use a Function Delivery Network

24
Q

What is Terraform?

A

Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. It can manage popular service providers as well as custom in-house solutions.

It uses a simple syntax written in the HashiCorp Configuration Language (HCL) to describe the desired state of the infrastructure and then automatically provisions and configures the infrastructure according to the specified configuration. Terraform is cloud-agnostic, which means it can be used to manage infrastructure across multiple cloud providers, including AWS, Azure, GCP, and more.

It is commonly used for automating the process of creating, updating, and maintaining infrastructure in a safe and predictable manner. It can be used to provision and manage resources such as virtual machines, DNS entries, databases, and more.

25
Q

What is Ansible?

A

Ansible is an open-source automation tool for configuring and managing systems, applications, and IT infrastructure. It uses simple, human-readable language to describe the desired state of a system, and then automatically enacts those changes.

Ansible uses a push-based model, where the control node (where Ansible is installed) pushes configurations out to the target nodes.

26
Q

Which tasks can Ansible automate?

A

Ansible can be used to automate a wide range of tasks, including:

Configuring and managing servers
Deploying and scaling applications
Managing users and permissions
Managing software packages and dependencies
Running ad-hoc commands and scripts
And more
It also have a large collection of pre-built modules, called Ansible modules, that can be used to perform specific tasks on different systems such as Linux, Windows and network devices.

27
Q

What is SSH?

A

SSH stands for Secure Shell. It is a protocol for securely connecting to and managing remote systems over an unsecured network. SSH provides a secure and encrypted connection for remote login, file transfer, and other network services.

28
Q

How to create multiple serverless clusters?

A
29
Q

Which two services are used to create multiple serverless clusters?

A

Terraform (Infrastructure as a code) and Ansible Management Node

30
Q

How to manage FDN clusters?

A

use virtual kubeletes

31
Q

What are virtual kubelets?

A

They provide the illusion to the master node that there is a node although there actually is none.

The virtual kubelet registers itself as a node and allows developers to deploy pods and containers with their own APIs. These the connect to different serverless clusters.

32
Q

How does function deployment work in FDN?

A

you write a JAML file which can be put on any platform by the FDN Management Cluster

33
Q

How to observe/monitor clusters?

A

FDN monitor sends data over virtual nodes to Grafana for visualization.

34
Q

What two options are there for the FDN-monitor?

A

K8s collector or AWS lambda collector.

35
Q

What are two methods to schedule functions?

A
  1. FDN Modeler
  2. Courier: Scheduling Functions
36
Q

What are the two main characteristics of the courier in scheduling functions?

A
  • Function Delivering Policies
  • Load Balancing Strategies
37
Q

What are Courier’s two levels?

A
  1. Subset of clusters (delivery)
  2. Load Balancing
38
Q

What are the two function delivering policies for the Courier?

A
  • function aware
  • data aware
39
Q

What are two load-balancing strategies?

A
  • latency-aware
  • capacity-aware
40
Q

What is data aware scheduling?

A

Data-aware scheduling is a technique used in distributed systems to schedule tasks based on the availability and location of data. The goal of data-aware scheduling is to minimize data movement and reduce the time and cost associated with data transfer over a network.

41
Q

What is a FedLess control plane?

A

A “fedless control plane” would be a control plane that eliminates the need for federation. In a federated system, multiple control planes are connected together, allowing a single control plane to manage multiple clusters or regions. A fedless control plane is a control plane that can manage multiple clusters or regions without being federated, it can be a centralized control plane that can manage multiple clusters or regions.

In the context of a Function as a Service (FaaS) and “Function Delivery Network (FDN)”, a fedless control plane would be a control plane that can handle the management of functions and resources across multiple clusters or regions without the need of federation.