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

Document "Production ready by default" design principle #4793

Merged
merged 5 commits into from Jun 14, 2017

Conversation

andreasohlund
Copy link
Member

@andreasohlund andreasohlund commented Jun 7, 2017

This will be announced once merged as a reminder to downstream component maintainers

@andreasohlund andreasohlund self-assigned this Jun 7, 2017
@andreasohlund
Copy link
Member Author

@yvesgoeleven proposed that we should RFC this since downstream should buy into this idea as well

@timbussmann
Copy link
Contributor

@yvesgoeleven proposed that we should RFC this since downstream should buy into this idea as well

I think we discussed this on the call and decided to not do an RFC for it?

  • this principle was already stated in the visions repo and therefore, that guidance already existed and therefore already includes downstreams as well?
  • it seems to be a quite obvious choice and I wonder whether this is a controversial topic which requires an RFC?

@yvesgoeleven do you have any concerns regarding that guideline or something which you feel should be discussed?

@andreasohlund
Copy link
Member Author

To be fair the issue in the Vision repo was never properly announced so perhaps we can just announce this once the PR is merged?

@yvesgoeleven
Copy link
Contributor

@timbussmann no concern, I just want it to be properly communicated to transport & persistence implementers that they should no longer optimize for the F5 experience, but be production ready instead (today this is not the case)

@andreasohlund
Copy link
Member Author

@Particular/nservicebus-maintainers do we want to include some examples as well or is this enough?

@timbussmann
Copy link
Contributor

@yvesgoeleven I didn't think about this as a tradeoff between F5 experience and production readiness tbh, is this something we need to be more clear about?

  • if the endpoint uses default values, those should be valid choices for production
  • if that's not possible (e.g. heavily impacts F5 experience), we can't make it a default value and configuration is mandatory (e.g. msmq error queue).

@yvesgoeleven
Copy link
Contributor

@timbussmann in many cases it is a difficult choice what to use as a default for configuration values, it's not just a choice between F5 & safety, but also performance, security and other things to be considered. A clear guidance in what to prefer is very usefull, can't have it all ootb.

@timbussmann
Copy link
Contributor

@yvesgoeleven would it be fair to say, that in those cases we should let the user decide? But also, if you go with a safer but less performing option by default, that doesn't seem to violate this rule as this still is a sensible default value.

@yvesgoeleven
Copy link
Contributor

@timbussmann yeah sure fair to say, it just needs to be said explicitly. It needs to be properly communicated what the guidance and priorities are when selecting default values.

@andreasohlund andreasohlund changed the title [WIP] Document "Production ready by default" design principle Document "Production ready by default" design principle Jun 9, 2017
@andreasohlund
Copy link
Member Author

@Particular/nservicebus-maintainers please review, will announce this once merged

timbussmann
timbussmann previously approved these changes Jun 14, 2017
@dbelcham dbelcham merged commit 322cce0 into develop Jun 14, 2017
@dbelcham dbelcham deleted the production-ready branch June 14, 2017 17:04
Copy link
Member

@adamralph adamralph left a comment

Choose a reason for hiding this comment

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

Late to the party, but this LGTM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants