The Path to Cloud Native Flashcards

1
Q

What is the microservices architecture?

A

The microservices architecture is an approach to software development where a large application is divided into smaller, independently deployable services, each responsible for a specific business function.

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

What is Kubernetes?

A

Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications.

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

What is Domain-Driven Design (DDD)?

A

Domain-Driven Design is an approach to software development that focuses on understanding and modeling the business domain, using concepts like bounded contexts and aggregates to manage complexity and align software with business needs.

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

What are Pods in Kubernetes?

A

Pods are the smallest deployable units in Kubernetes, consisting of one or more containers that share network and storage resources and are scheduled together on the same host.

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

What is a Kubernetes Service?

A

A Kubernetes Service provides a stable endpoint for accessing a set of Pods. It enables service discovery, load balancing, and communication between different parts of a distributed application.

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

What are Labels and Annotations in Kubernetes?

A

Labels and annotations are metadata attached to Kubernetes objects for identification and additional information. Labels are used for querying and managing resources, while annotations provide non-searchable metadata for tools and libraries.

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

What is a Namespace in Kubernetes?

A

A Namespace in Kubernetes provides scope and isolation for resources within a cluster, allowing for logical partitioning of resources for different environments, teams, or applications.

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

What is a container?

A

A container is a lightweight, portable, and isolated runtime environment that packages an application and its dependencies, allowing it to run consistently across different computing environments.

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

What is the difference between a container and a virtual machine (VM)?

A

Containers share the host operating system kernel with other containers, making them lightweight and faster to start compared to VMs, which each run their own operating system instance.

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

What is the purpose of Init containers in Kubernetes?

A

Init containers are used to perform setup tasks or initialization before the main application containers start running in a Pod. They ensure that preconditions are met before the application containers start.

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

What is the role of ResourceQuotas in Kubernetes?

A

ResourceQuotas in Kubernetes enforce limits on the compute resources (CPU, memory) and the number of objects (such as Pods, Services) that can be created within a namespace.

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

What is the Sidecar pattern in containerized applications?

A

The Sidecar pattern involves deploying a secondary container alongside the main application container within the same Pod. The sidecar container provides auxiliary functionality such as logging, monitoring, or proxying.

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

How does Kubernetes handle service discovery?

A

Kubernetes provides service discovery through DNS and environment variables. Each Service in Kubernetes is assigned a DNS name that can be used by other services to discover and communicate with it.

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

What is the purpose of a Kubernetes CronJob?

A

A Kubernetes CronJob is used to run Jobs on a recurring schedule, similar to cron jobs in traditional Unix systems. It enables periodic execution of tasks such as backups, data processing, or maintenance.

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

How does Kubernetes handle scaling of applications?

A

Kubernetes supports both horizontal and vertical scaling. Horizontal scaling involves adding or removing instances of Pods to meet demand, while vertical scaling adjusts the resources allocated to individual Pods.

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