-
Notifications
You must be signed in to change notification settings - Fork 57
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
Docs: how to run services reliably and update service autorestart to service lifecycle. #541
base: master
Are you sure you want to change the base?
Docs: how to run services reliably and update service autorestart to service lifecycle. #541
Conversation
Thank you for doing this! Before I work on a more detailed review, I have a few ideas about the overall contents:
|
Refactored according to 1 and 2; for 3, I haven't done anything yet, mostly because those two parts are not long enough for a tutorial. Should we do that anyway? |
Per discussion elsewhere, we decided to remove the "Demo service" and "Putting it all together" sections. We will add a tutorial in the future using content from these sections. |
Looking at "How to run services reliably" with fresh eyes, I think we should go further in refactoring the doc to make the actionable info stand out. I recommend that we drop "Service reliability in the modern microservice world" as a separate section, keeping the info as context within the section that follows. The nature of this topic is going to require some explanatory content, but I think we can compress it down somewhat. I've taken what you wrote and put together this structure - what do you think?
|
I've finished adding comments on specific parts. There's a main refactoring suggestion here. |
I haven't done this refactor yet because it seems to be a very significant rework. I have given it some thought, and the current logic is: First, introduce a health check. Then, explain in what scenarios it's helpful, which leads to Pebble's health check feature, how to configure it, and why it can help improve reliability. In this way, we could paint a picture, which I think a how-to guide should do: what exact problems this document can help achieve. The suggested logic focuses more on Pebble and its features without laying too much background information first, which then is intertwined with the following paragraphs. This was less clear to me, so I hesitated about the refactoring. Maybe we should get more input from @benhoyt. Other suggestions are all adopted. |
It also sounds good to me if we wait to get Ben's input. If we end up not doing the refactoring, the part that I feel needs to be most emphasized somewhere is that "health checks" are a combination of:
I think this distinction is important context for the advice in the doc. |
According to our discussion (internal doc, sorry), this is the first piece of the next few how-to guides for Pebble.
In this PR:
See more details and outline in the above discussion doc.
Preview: https://canonical-pebble--541.com.readthedocs.build/en/541/how-to/run-services-reliably/