From f9fd5121a2e1b0a2f4dcd5267415c7f00529e15a Mon Sep 17 00:00:00 2001 From: Fernando Harris Date: Thu, 14 Nov 2024 10:40:05 +0100 Subject: [PATCH 1/5] Created new term "Sidecar Container" Signed-off-by: Fernando Harris --- content/en/sidecar-container.md | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 content/en/sidecar-container.md diff --git a/content/en/sidecar-container.md b/content/en/sidecar-container.md new file mode 100644 index 000000000..3a847afde --- /dev/null +++ b/content/en/sidecar-container.md @@ -0,0 +1,38 @@ +--- +title: Sidecar Container +status: Feedback Appreciated +category: concept +--- + +The Sidecar Container is an implementation of the sidecar pattern. +An application deployed on a second container will run side by side +and share its lifecycle with a primary application running on a main container. + +## Problem it addresses + +There are scenarios where it is convenient to group [containers](/container/) +to deal with cross-platform requirements or shared functionality. +Such scenarios include [observability](/observability/) topics +like logging, monitoring, tracing, but also security, and networking. +For example, when multiple microservices have their sidecar containers +acting as loging agents to collect and forward logs to a log server, +or collecting metrics to forward to a monitoring system. + +## How it helps + +The term "sidecar" comes from the representation of a classic motorcycle +with its attached sidecar. +In this metaphor, the bike represents the main container +and the sidecar the secondary container. +This approach consists of using a separated process +running on a secondary container to address problems +that aren't unique to a single application +but rather to the entire platform where the application is running. +The Sidecar Container will share the same resources, +- storage, networking - as the main container. +While doing this, it frees the main container to be focused on functional tasks +or exposing business capabilities. +As a secondary container, the "sidecar" takes care of platform related tasks +such as logging, monitoring or security. +It enforces the principle of separation of concerns +and provides extending functionality without changing the main application's code. \ No newline at end of file From ffef7c72507450f3b4a01ec4e4e643ee15fba00b Mon Sep 17 00:00:00 2001 From: Fernando Harris Date: Thu, 14 Nov 2024 10:45:42 +0100 Subject: [PATCH 2/5] Created new term Sidecar Container Signed-off-by: Fernando Harris --- content/en/sidecar-container.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/sidecar-container.md b/content/en/sidecar-container.md index 3a847afde..79dafc0b2 100644 --- a/content/en/sidecar-container.md +++ b/content/en/sidecar-container.md @@ -15,7 +15,7 @@ to deal with cross-platform requirements or shared functionality. Such scenarios include [observability](/observability/) topics like logging, monitoring, tracing, but also security, and networking. For example, when multiple microservices have their sidecar containers -acting as loging agents to collect and forward logs to a log server, +acting as logging agents to collect and forward logs to a log server, or collecting metrics to forward to a monitoring system. ## How it helps From 69bf8d057746428acb4e200d1b56085cdbcce047 Mon Sep 17 00:00:00 2001 From: Fernando Harris Date: Tue, 19 Nov 2024 14:44:02 +0100 Subject: [PATCH 3/5] removing list "hyphen" from line 32. Signed-off-by: Fernando Harris --- content/en/sidecar-container.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/sidecar-container.md b/content/en/sidecar-container.md index 79dafc0b2..121b193a4 100644 --- a/content/en/sidecar-container.md +++ b/content/en/sidecar-container.md @@ -28,8 +28,8 @@ This approach consists of using a separated process running on a secondary container to address problems that aren't unique to a single application but rather to the entire platform where the application is running. -The Sidecar Container will share the same resources, -- storage, networking - as the main container. +The Sidecar Container will share the same resources, +including storage and networking, as the main container. While doing this, it frees the main container to be focused on functional tasks or exposing business capabilities. As a secondary container, the "sidecar" takes care of platform related tasks From 4f114afacab655075981c5001db2a13a1cf16bbb Mon Sep 17 00:00:00 2001 From: Fernando Harris Date: Mon, 25 Nov 2024 11:20:41 +0100 Subject: [PATCH 4/5] changes according to @iamHoah1 recommendations. Signed-off-by: Fernando Harris --- content/en/sidecar-container.md | 37 +++++++++++++++------------------ 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/content/en/sidecar-container.md b/content/en/sidecar-container.md index 121b193a4..ca95bb25c 100644 --- a/content/en/sidecar-container.md +++ b/content/en/sidecar-container.md @@ -10,29 +10,26 @@ and share its lifecycle with a primary application running on a main container. ## Problem it addresses -There are scenarios where it is convenient to group [containers](/container/) -to deal with cross-platform requirements or shared functionality. -Such scenarios include [observability](/observability/) topics -like logging, monitoring, tracing, but also security, and networking. -For example, when multiple microservices have their sidecar containers -acting as logging agents to collect and forward logs to a log server, -or collecting metrics to forward to a monitoring system. +There are cross-platform situations where it is convenient to group [containers](/container/) +and their lifecycle to deal with scenarios +like logging, monitoring, tracing, but also security, and networking. +Before this approach, logging would typically be implemented in the application code inside the container. This can lead to different ways to implement the logic, +depending on the developer or application, +normally resulting in more complex systems to maintain and govern. +For example, updating the logging logic might impact the application in runtime, +hence increasing operational risk. ## How it helps -The term "sidecar" comes from the representation of a classic motorcycle -with its attached sidecar. -In this metaphor, the bike represents the main container -and the sidecar the secondary container. -This approach consists of using a separated process -running on a secondary container to address problems -that aren't unique to a single application -but rather to the entire platform where the application is running. -The Sidecar Container will share the same resources, +It enforces the principle of separation of concerns +and provides extending functionality without changing the main application's code, +by using a separated process running on a secondary container. + +The sidecar container will share the same resources, including storage and networking, as the main container. While doing this, it frees the main container to be focused on functional tasks or exposing business capabilities. -As a secondary container, the "sidecar" takes care of platform related tasks -such as logging, monitoring or security. -It enforces the principle of separation of concerns -and provides extending functionality without changing the main application's code. \ No newline at end of file + +For example, when multiple microservices have their sidecar containers +acting as logging agents reading from the same directory, +the main application is writing its logs to. \ No newline at end of file From 92cdf7023b5e440bcc783117ad319e4b393ddf23 Mon Sep 17 00:00:00 2001 From: Fernando Harris Date: Mon, 25 Nov 2024 11:25:59 +0100 Subject: [PATCH 5/5] shorter paragraph line 16 Signed-off-by: Fernando Harris --- content/en/sidecar-container.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/en/sidecar-container.md b/content/en/sidecar-container.md index ca95bb25c..8f7ec9b12 100644 --- a/content/en/sidecar-container.md +++ b/content/en/sidecar-container.md @@ -13,7 +13,9 @@ and share its lifecycle with a primary application running on a main container. There are cross-platform situations where it is convenient to group [containers](/container/) and their lifecycle to deal with scenarios like logging, monitoring, tracing, but also security, and networking. -Before this approach, logging would typically be implemented in the application code inside the container. This can lead to different ways to implement the logic, +Before this approach, logging would typically be implemented in the application code +inside the container. +This can lead to different ways to implement the logic, depending on the developer or application, normally resulting in more complex systems to maintain and govern. For example, updating the logging logic might impact the application in runtime,