-
Notifications
You must be signed in to change notification settings - Fork 554
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 Sidecar Container #3192
Conversation
Signed-off-by: Fernando Harris Francisco <[email protected]>
✅ Deploy Preview for cncfglossary ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Hello everyone. Appreciate your feedback for new term sidecar-container.md. Cheers |
Hi @nate-double-u @iamNoah1 , |
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.
I am not an official English reviewer, but I left some comments to help move this PR forward :)
I am looking forward to seeing this PR merged and being useful to many people, thanks!
according to recommendations in the review Signed-off-by: Fernando Harris Francisco <[email protected]>
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.
This is not a complete review, but LGTM! Thanks!
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.
Hei @fharris and sorry for the super long delay. Thanks a lot for your contribution, I have some feedback for your PR.
content/en/sidecar-container.md
Outdated
--- | ||
|
||
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. |
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.
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. | |
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. |
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.
content/en/sidecar-container.md
Outdated
## Problem it addresses | ||
|
||
There are scenarios where it is convenient to group [containers](/container/) to deal with problems related to the need to support cross-platform requirements or shared functionality. | ||
Problems like logging, monitoring, tracing or [observability](/observability/) in general, and security, traffic management, networking and common configurations applicable to multiple applications. These shared functionalities can be implemented independently as services and run on separate containers. |
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.
Problems like logging, monitoring, tracing or [observability](/observability/) in general, and security, traffic management, networking and common configurations applicable to multiple applications. These shared functionalities can be implemented independently as services and run on separate containers. | |
Such scenarios include [observability](/observability/) topics like logging, monitoring, tracing, but also security, and networking. |
Let's talk more about what the issue is that sidecars are trying to solve. Something like when you have a lot of micorservices it is not so easy and probably also not efficient to handle logging for instance for all of the microservices. You cannot have one microservice collecting the stdout from every other microservices, can you? There are probably more of those examples.
I deleted the rest because it was not really adding value to the definition IMHO.
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.
content/en/sidecar-container.md
Outdated
## 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 heterogeneous approach consists of using a separated and isolated 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. |
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.
This heterogeneous approach consists of using a separated and isolated 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. | |
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. |
Rathing than just saying that it solves problems that are not unique, we should name those problems. Like a sidecar shares same network and storage with the main container. That is I guess the main advantage, isn't it?
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.
content/en/sidecar-container.md
Outdated
|
||
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 heterogeneous approach consists of using a separated and isolated 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. | ||
It enforces the principle of separation of concerns, centralised configuration, and best practices for governance. Besides its flexibility, it presents other advantages such as extending functionality without changing the main application's code, using different languages deployed on different runtimes, and sharing local resources between the core and the secondary applications. |
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.
This sentence is very long and describes a lot of things that are not unique to sidecars.
It enforces the principle of separation of concerns, centralised configuration, and best practices for governance. Besides its flexibility, it presents other advantages such as extending functionality without changing the main application's code, using different languages deployed on different runtimes, and sharing local resources between the core and the secondary applications. | |
It enforces the principle of separation of concerns 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.
content/en/sidecar-container.md
Outdated
This heterogeneous approach consists of using a separated and isolated 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. | ||
It enforces the principle of separation of concerns, centralised configuration, and best practices for governance. Besides its flexibility, it presents other advantages such as extending functionality without changing the main application's code, using different languages deployed on different runtimes, and sharing local resources between the core and the secondary applications. | ||
|
||
When applied to Kubernetes deployments, this approach creates a relationship of one pod to many containers, meaning that operational actions used in the pod, such as creation, scaling, and termination, will be equally applied to all containers inside. |
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.
This sentence is hard to grasp. And I think it is not entirely true.
According to the respective section in the kubernetes doc they can have an independent lifecycle: https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/#differences-from-application-containers
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.
Thank you @iamNoah1 . Was offline for a while. Will review it ASAP.
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.
Friendly ping @fharris |
Co-authored-by: Noah Ispas <[email protected]> Signed-off-by: Fernando Harris Francisco <[email protected]>
Trying to ammend the previous not well signed off commits. Accepting first set of recommendations/review. Signed-off-by: Fernando Harris Francisco <[email protected]>
Accepting all review recommendations for the section ## Problem it addresses Adding concrete examples for the problems Signed-off-by: Fernando Harris Francisco <[email protected]>
Accepting review recommendations for the section ##How it helps. Added a better explanation for the benefits Removed the "hard to grasp" paragraph. It was indeed hard to grasp and contained some incoherences in wording. Signed-off-by: Fernando Harris Francisco <[email protected]>
Thanks @iamNoah1 for the review and sorry the mess with the commits. I wasn't able to simple accept your changes in the conversation flow because there was no option to chose my configured sign-off email and was defaulting to a different one which is not expected to be used to sign-off. Hopefully what I added on the commits is in the right direction to solve the issues. If not I am happy to continue to amend and optimise according to your recommendations. Thanks a lot and thank you for being patient with me. |
Closing and replacing with PR 3353 @iamNoah1 @Okabe-Junya |
Describe your changes
Created sidecar-container.md . New Term.
Related issue number or link (ex:
resolves #issue-number
)resolves #2958
Checklist before opening this PR (put
x
in the checkboxes)git commit -s
) is to affirm that commits comply DCO. If you are working locally, you could add an alias to yourgitconfig
by runninggit config --global alias.ci "commit -s"
.