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 Sidecar Container #3192

Closed
wants to merge 8 commits into from
Closed

Conversation

fharris
Copy link

@fharris fharris commented Jun 10, 2024

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)

  • This PR does not contain plagiarism
    • don’t copy other people’s work unless you are quoting and contributing it to them.
  • I have signed off on all commits
    • signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

Signed-off-by: Fernando Harris Francisco <[email protected]>
@github-actions github-actions bot added the lang/en for English label Jun 10, 2024
Copy link

netlify bot commented Jun 10, 2024

Deploy Preview for cncfglossary ready!

Name Link
🔨 Latest commit 9d6fb85
🔍 Latest deploy log https://app.netlify.com/sites/cncfglossary/deploys/6735bf06eda86300088d4bf8
😎 Deploy Preview https://deploy-preview-3192--cncfglossary.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@fharris
Copy link
Author

fharris commented Jun 10, 2024

Hello everyone. Appreciate your feedback for new term sidecar-container.md. Cheers

@fharris fharris marked this pull request as ready for review June 10, 2024 08:49
@fharris fharris mentioned this pull request Jun 10, 2024
2 tasks
@seokho-son
Copy link
Collaborator

Hi @nate-double-u @iamNoah1 ,
Are you available to initiate the review process ? :)

Copy link
Collaborator

@Okabe-Junya Okabe-Junya left a 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!

content/en/sidecar-container.md Show resolved Hide resolved
content/en/sidecar-container.md Outdated Show resolved Hide resolved
content/en/sidecar-container.md Outdated Show resolved Hide resolved
according to recommendations in the review

Signed-off-by: Fernando Harris Francisco <[email protected]>
Copy link
Collaborator

@Okabe-Junya Okabe-Junya left a 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!

@nate-double-u nate-double-u changed the title Create sidecar-container.md [EN] add Sidecar Container Jul 9, 2024
@iamNoah1 iamNoah1 self-assigned this Aug 9, 2024
Copy link
Collaborator

@iamNoah1 iamNoah1 left a 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.

---

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.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
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.

Copy link
Author

Choose a reason for hiding this comment

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

Thanks @iamNoah1. I've accepted your changes in commit 38f12ef . I've first made a mistake by committing without the sign-off. Hopefully its resolved.

## 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.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
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.

Copy link
Author

Choose a reason for hiding this comment

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

@iamNoah1 accepted your review and recommendations. Added a couple of examples for the problems. All in commit 5e5ef2e .

## 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.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
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?

Copy link
Author

Choose a reason for hiding this comment

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

@iamNoah1 accepted your review and recommendations in commit 5173e2a

content/en/sidecar-container.md Outdated Show resolved Hide resolved

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.
Copy link
Collaborator

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.

Suggested change
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.

Copy link
Author

Choose a reason for hiding this comment

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

@iamNoah1 accepted your review and recommendations in commit 5173e2a

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.
Copy link
Collaborator

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

Copy link
Author

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.

Copy link
Author

Choose a reason for hiding this comment

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

@iamNoah1 accepted your review and recommendations in commit 5173e2a

@iamNoah1
Copy link
Collaborator

Friendly ping @fharris

fharris and others added 5 commits September 2, 2024 14:08
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]>
@fharris
Copy link
Author

fharris commented Sep 3, 2024

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.

@fharris fharris requested a review from iamNoah1 September 5, 2024 08:43
@fharris fharris closed this Nov 14, 2024
@fharris
Copy link
Author

fharris commented Nov 14, 2024

Closing and replacing with PR 3353 @iamNoah1 @Okabe-Junya

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang/en for English
Projects
Development

Successfully merging this pull request may close these issues.

[New term] Sidecar container
4 participants