-
Notifications
You must be signed in to change notification settings - Fork 181
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
Add draft for service-vs-library pattern. #90
Add draft for service-vs-library pattern. #90
Conversation
service-vs-library.md
Outdated
support. This poses a challenge when working across team boundaries: Escalation | ||
chains may not be the same for errors happening in either team. Coupling | ||
source code and deployment leaves the teams with the question of who is | ||
responsible for on-call support in the event of errros. As a result teams are |
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.
typo: errros -> errors
This writeup is good, Isabel. |
Decouple configuration and deployment pipelines from actual business logic. | ||
Establish a second deployment of the service for the second team. | ||
|
||
Treat the common base as a library that is used by both teams with shared 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.
The Patlet talks about deploying the same service in independent environments
yet the solution talks about factoring out shared service code into a library, which becomes the focus of collaboration (not the service). I feel like these two sections of the document are incongruent with each other. Are the teams collaborating on the source code for a library or a service?
@NewMexicoKid Thanks for pointing out the typo. @rrrutledge You're right - these two are incongruent. I've changed the Patlet to be better in line with the proposed solution. Deploying the same service twice with zero modification would presume that deployments are standardised across teams. While this may be true in some cases, more likely than not independent teams will have different deployment environments. Thank you for pointing out that flaw. |
`erros` => `errors`
"interdependent" => "common". I think that "common" is a better word here since the idea is to have a single code base, rather than "interdependent" which signifies multiple code basis that are mutually dependent one on another.
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.
Seems pretty clear to me. Just one comment.
Also, I accidentally made a commit (cbb2bb2
) directly to this branch that I meant to make as a pull request suggestion to the branch. If you don't like it then feel free to revert.
chains may not be the same for errors happening in either team. Coupling | ||
source code and deployment leaves the teams with the question of who is | ||
responsible for on-call support in the event of errors. As a result teams are | ||
reluctant to join forces even if there is significant overlap in requirements. |
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.
Another way of getting around this problem is 30-day warranty. Could be good to mention that somewhere in this document.
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.
Thanks.
@rrrutledge I didn't even know that committing to a branch suggested as PR would be possible for the maintainers of the original repository. Learnt something new there. Also, thanks for the corrections you included in your commits. |
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.
Looks good to me.
@rrrutledge thanks for the approval. What does the remaining process for this pull request look like? |
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 think this is solid enough to move into the accepted patterns in the main branch. We can pursue a second review at need if people reading the pattern open a PR with suggested changes.
As requested in #89 this is a first draft of the service-vs-library pattern that I observed in DevOps teams.
Feedback, suggestions etc. welcome.