Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EN] add Runtime #2033

Merged
merged 58 commits into from
Aug 15, 2023
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
85b63b0
[EN] New Term- Runtime
akshatcoder-hash May 12, 2023
38f16b4
Update content/en/runtime.md
akshatcoder-hash May 26, 2023
92549ac
Update content/en/runtime.md
akshatcoder-hash May 26, 2023
649a456
Update content/en/runtime.md
akshatcoder-hash May 26, 2023
479bb7b
Update content/en/runtime.md
akshatcoder-hash May 26, 2023
81480b4
Update content/en/runtime.md
CathPag Jun 13, 2023
9774cfe
Update content/en/runtime.md
CathPag Jun 13, 2023
b080aaf
Update content/en/runtime.md
CathPag Jun 13, 2023
7a31169
Update content/en/runtime.md
akshatcoder-hash Jun 18, 2023
4a927fc
Update content/en/runtime.md
akshatcoder-hash Jun 18, 2023
b3dbdb2
Update content/en/runtime.md
iamNoah1 Jul 18, 2023
e1074b9
Update content/en/runtime.md
castrojo Jul 19, 2023
95e6a53
Update content/en/runtime.md
castrojo Jul 19, 2023
ec6ce41
Update content/en/runtime.md
castrojo Jul 19, 2023
6336832
Update content/en/runtime.md
castrojo Jul 19, 2023
22cd1cd
fix: cut out examples
castrojo Jul 19, 2023
7f1dd8c
fix: add section on the problem it addresses
castrojo Jul 19, 2023
90d236e
Update runtime.md
iamNoah1 Jul 19, 2023
242fd38
Update content/en/runtime.md
iamNoah1 Jul 19, 2023
95668fb
Update content/en/runtime.md
iamNoah1 Jul 19, 2023
99fea94
Update runtime.md
castrojo Jul 19, 2023
7e58016
Update content/en/runtime.md
castrojo Jul 19, 2023
17bb0d9
Update content/en/runtime.md
castrojo Jul 19, 2023
e46b2d1
Update content/en/runtime.md
castrojo Jul 19, 2023
062d91a
Update content/en/runtime.md
castrojo Jul 19, 2023
ce634c4
Update content/en/runtime.md
castrojo Jul 19, 2023
6506d02
Update content/en/runtime.md
castrojo Jul 19, 2023
c2a4b1e
Update content/en/runtime.md
castrojo Jul 19, 2023
c5757f9
Update content/en/runtime.md
castrojo Jul 19, 2023
9aed3ac
Update content/en/runtime.md
castrojo Jul 19, 2023
d11f3c5
Update content/en/runtime.md
castrojo Jul 19, 2023
7cca008
add cgroups, namespaces, and orchestrator to wordlist
castrojo Jul 19, 2023
bd2f597
Update content/en/runtime.md
nate-double-u Jul 20, 2023
5f94f10
Update content/en/runtime.md
nate-double-u Jul 20, 2023
4943cc7
Update content/en/runtime.md
nate-double-u Jul 20, 2023
21f99f0
Update content/en/runtime.md
CathPag Jul 21, 2023
f4448da
Update content/en/runtime.md
akshatcoder-hash Jul 23, 2023
4fcd07f
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
4cd32d9
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
3b2b3c1
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
7e998af
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
60764f1
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
c7828d2
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
7e5d3a0
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
d47f4da
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
4d87935
Update content/en/runtime.md
akshatcoder-hash Jul 24, 2023
b407324
Update content/en/runtime.md
iamNoah1 Aug 11, 2023
9e75b37
Update content/en/runtime.md
iamNoah1 Aug 11, 2023
6da0d13
Update content/en/runtime.md
iamNoah1 Aug 11, 2023
d4a3f65
Update content/en/runtime.md
CathPag Aug 11, 2023
c954075
Update content/en/runtime.md
CathPag Aug 11, 2023
2f012cd
Update content/en/runtime.md
CathPag Aug 11, 2023
f974499
Update content/en/runtime.md
CathPag Aug 11, 2023
ff5567d
Update content/en/runtime.md
CathPag Aug 11, 2023
23d5de4
Update content/en/runtime.md
CathPag Aug 11, 2023
2eac82c
Update runtime.md
CathPag Aug 11, 2023
391a477
Update content/en/runtime.md
iamNoah1 Aug 12, 2023
b7b55fc
Update content/en/runtime.md
CathPag Aug 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions content/en/runtime.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: Runtime
status: Feedback Appreciated
iamNoah1 marked this conversation as resolved.
Show resolved Hide resolved
category: concept
tags: ["application", "", ""]
---
CathPag marked this conversation as resolved.
Show resolved Hide resolved

## What it is

A runtime, in general, executes a piece of software.
It is an [abstraction](/abstraction/) of the underlying operating system that translates the program's commands into respective actions for the operating system.

In the context of [cloud native](/cloud-native-apps/), _runtime_ generally refers to container runtime.
A container runtime specifically implements the [Open Container Initiative](https://opencontainers.org/) specification to ensure consistent handling around the ecosystem.
CathPag marked this conversation as resolved.
Show resolved Hide resolved
This includes container image specifications, how the runtime can retrieve images,
CathPag marked this conversation as resolved.
Show resolved Hide resolved
and how these images are unpacked, layered, mounted, and executed.
CathPag marked this conversation as resolved.
Show resolved Hide resolved
These runtimes utilize kernel features such as namespaces and cgroups to provide isolation and resource management for the containers.
iamNoah1 marked this conversation as resolved.
Show resolved Hide resolved

## Problem it addresses

CathPag marked this conversation as resolved.
Show resolved Hide resolved

Without a container runtime, the user would have to manually handle the container lifecycle, interface directly with cgroups and namespaces in the kernel, and handle hardware resources.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused. If a runtime is an abstraction, wouldn't the problem be that the app would have to interface directly with the OS, and we'd need to ensure interoperability for all possible apps with all possible OSs, and that would be a headache? As far as I understood, abstractions are not to automate things but to enable interoperability. To be clear, I never really new what a runtime is, so this is only based on my understanding of abstraction.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, container lifecycle, cgroups, namespaces, these are all very technical concepts we are throwing in here. Can we express that in more general terms without listing these?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll simplify it.
A runtime is indeed an abstraction. It helps the application interact with the underlying OS without needing to know the complexities and mechanics and making the applications easier to run on different systems without much modifications.

Before runtimes, the applications had to deal with the complexities of each OS and that made it a headache. Runtimes provide a common interface to just write code once and run it on various platforms.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@akshatcoder-hash did you already add the simplification?! Instead of throwing in cgroups and namespaces and kernel, we could just say operating system.

iamNoah1 marked this conversation as resolved.
Show resolved Hide resolved
The container runtime acts as an abstraction layer for these features.
iamNoah1 marked this conversation as resolved.
Show resolved Hide resolved

## How it helps
Container runtimes are a necessary component of container orchestrators such as Kubernetes.
They handle the container lifecycle, meaning X, Y, and Z.
iamNoah1 marked this conversation as resolved.
Show resolved Hide resolved
CathPag marked this conversation as resolved.
Show resolved Hide resolved
Runtimes also manage hardware resources and automate [??], taking care of all these operating system-level actions.
CathPag marked this conversation as resolved.
Show resolved Hide resolved
thus, they are responsible for launching, managing, and terminating containers.
CathPag marked this conversation as resolved.
Show resolved Hide resolved
Over time different container runtime products evolved, leading to the OCI Specification,
which became the standard for container runtimes.

Introducing this standard allows end users to combine any OCI-compliant runtime with any OCI-compliant container orchestrator (like Kubernetes).

## Related terms

- [Cloud Native](https://glossary.cncf.io/cloud-native-apps/)
- [Containerization](https://glossary.cncf.io/containerization/)
- [Container Orchestration](https://glossary.cncf.io/container-orchestration/)
- [Microservices Architecture](https://glossary.cncf.io/microservices-architecture/)
5 changes: 5 additions & 0 deletions wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ cd
cdn
changelog
chatbot
cgroup
cgroups
cio
cka
ckad
Expand Down Expand Up @@ -131,12 +133,15 @@ mkdn
mtls
multitenancy
multitenant
namespace
namespaces
navbar
observability
oci
oliveira
opencontainers
orchestrator
orchestrators
overdemand
overprivileged
paas
Expand Down