-
Notifications
You must be signed in to change notification settings - Fork 546
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
Created new term "Sidecar Container" #3353
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -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. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
Such scenarios include [observability](/observability/) topics | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
like logging, monitoring, tracing, but also security, and networking. | ||||||
For example, when multiple microservices have their sidecar containers | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here we talk already about the solution. This would be where you should show how collecting logs would look without the sidecar container. |
||||||
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 | ||||||
|
||||||
The term "sidecar" comes from the representation of a classic motorcycle | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
with its attached sidecar. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
In this metaphor, the bike represents the main container | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
and the sidecar the secondary container. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
This approach consists of using a separated process | ||||||
running on a secondary container to address problems | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
that aren't unique to a single application | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
but rather to the entire platform where the application is running. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
We already kinda said that the problems are not unique to an application, but rather cross-platform relevant |
||||||
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 | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This sentence is a bit vague. I would rather be happy to see a more specific example. For instance something like this: This makes it easy for a logging sidecar to collect logs from the main application without needing to change anything in the main application. The sidecar could read the same directory, the main application writes its logs to. |
||||||
or exposing business capabilities. | ||||||
As a secondary container, the "sidecar" takes care of platform related tasks | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
redundant |
||||||
such as logging, monitoring or security. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
It enforces the principle of separation of concerns | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. if you accept my suggested change some comments above this sentence could become redundant. |
||||||
and provides extending functionality without changing the main application's code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.