TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Testing on production

178 点作者 chpmrc将近 2 年前

16 条评论

contravariant将近 2 年前
An interesting perspective I once heard from an information security expert is that there&#x27;s a difference between risks and &#x27;things that can go wrong&#x27;. Something is only an actual risk if it hurts the bottom-line. In particular quite a few things that can go wrong don&#x27;t carry that much risk, and conversely something that is hard <i>but not impossible</i> to go wrong may carry huge amounts of risk.<p>The trick with this perspective is that after identifying the real risks you can then link the risks and possible mitigations by looking at all &#x27;things&#x27; and identifying the ways in which they might fail (and how this may be prevented from happening). This way you can easily identify which mitigations are helping prevent risks and which risks are not sufficiently mitigated. It&#x27;s a fair bit of work, but it&#x27;s not complicated and often gives useful insights.<p>What this article basically does is note that you should first asses what risks a failed deployment has, and correctly states that in quite a few cases this risk is low and therefore the mitigations (of which there can be many) may not be necessary and may in fact be doing harm without actually sufficiently preventing any risk.
评论 #37122875 未加载
评论 #37123921 未加载
评论 #37120204 未加载
评论 #37121721 未加载
评论 #37121649 未加载
评论 #37121689 未加载
评论 #37119975 未加载
评论 #37119929 未加载
评论 #37119936 未加载
评论 #37120074 未加载
civilized将近 2 年前
I have a dumb question as a non-SWE who is curious about software engineering.<p>I&#x27;ve heard &quot;feature flags&quot; are popular these days, and I understand that that&#x27;s where you commit code for a new way of doing things but hide it behind a flag so you don&#x27;t have to turn it on right away.<p>Now, if I want to test in prod, couldn&#x27;t I just make the flag for my new feature turn on if I log in on a special developer test account? And if everything goes well, I change the condition to apply to everyone?
评论 #37119914 未加载
评论 #37119856 未加载
评论 #37121116 未加载
评论 #37120495 未加载
评论 #37119978 未加载
评论 #37119886 未加载
评论 #37119908 未加载
评论 #37119955 未加载
评论 #37119857 未加载
评论 #37119980 未加载
评论 #37119846 未加载
评论 #37119931 未加载
评论 #37119880 未加载
评论 #37120681 未加载
Shrezzing将近 2 年前
I enjoyed the entire article except this part:<p>&gt; Unfortunately there is no easy way to distinguish between people who are good and need a paycheck from people who just need a paycheck. But you sure as hell don’t want the latter in your team.<p>If you can&#x27;t tell them apart, then the distinction is unimportant. So if among the group of people who need paychecks, good is indistinguishable from non-good, the comment serves no purpose other than needless elitism.
评论 #37122949 未加载
评论 #37120159 未加载
dijksterhuis将近 2 年前
this made me chuckle<p>&gt; If GitHub makes a mistake it can affect thousands of businesses but they’ll likely shrug and their DevOps team will just post “GitHub is down, nothing we can do” on some Slack channel.<p>Gonna try and read the rest of this on the lunch break as was surprisingly meaty for a <i>clickbait title</i> ;)
评论 #37119341 未加载
NewEntryHN将近 2 年前
Good article, but it&#x27;s a bit binary on the notion of incident. For the same company, it can be very serious to have a global 1h outage, but not so serious to have the internal admin interface down for 1h. This allows for more fine-grained assessment of the validation required to push to prod: the &quot;checks&quot; only have to test the critical part of the application. Dev exp start deteriorating when the non-critical parts are over-tested.
评论 #37119803 未加载
bhaney将近 2 年前
Love this article. So many great points that I deeply agree with but have never really put into words, and all written in such an engaging style.
评论 #37119550 未加载
wheelerof4te将近 2 年前
Just keep the enironments separate, but similar. What works in the test environment, should work in production.<p>Of course, there are always exceptions to this rule. Adapt and modify the code as needed.<p>We keep three environments at work: Dev, Test and Prod. However, dev environments are sometimes neglected and some features land in Test only.<p>So, use Dev as a development playground. Use Test to test the changes made in Dev. If the change is approved in Test, it will go in Prod environment.
tempodox将近 2 年前
Everybody has got a test environment. Some also have a production environment.
al_be_back将近 2 年前
&gt;&gt; If Tesla makes a mistake in their autopilot software, people might die.<p>In this case, a good &quot;Testing on Production&quot; rule would be to not let customers test your software, period.<p>There&#x27;s plenty of land and resources to construct towns and cities that simulate real-life commute very accurately.<p>In the case of self-driving (or even autopilot), you&#x27;re not really testing a feature, you&#x27;re researching a new product, they difference is vast.
hulitu将近 2 年前
&gt; Shipping confidence We can define “shipping confidence” as the feeling a mentally sane developer has when they know their code is about to be deployed to production (whether it can be updated over the air or not).<p>A bug which must be fixed in production is much more expensive than a bug fixed during development.<p>People here complain when you bash Microsoft, but their phylosophy was (and still is) let the users test the product.
bornfreddy将近 2 年前
Double negation is hard... :) (yes and no should be switched)<p>&gt; Ask yourself a question: do you have any reason to think that your engineers will not do a good job? If the answer is no: why are they still there? If the answer is yes: let them do their damn job.
postalrat将近 2 年前
We all test in production but some people are in denial and refuse to accept it.
评论 #37136256 未加载
therealchiko将近 2 年前
&gt; The TL;DR is that some (“best”) practices are contextual and understanding when to use them is ultimately what gives us the title of “engineers”.<p>So well put, just today I implemented a feature and kept asking myself if i should be extending the component (leaning more towards OOP) or just add an additional argument to said component. The latter would have stuck more with the current style but I also realized there&#x27;s no obvious better way, extending made sense and I realized the importance of understanding the nuance and standing up for those design decisions is what I am here to do :)<p>thank for putting that in less words
trollied将近 2 年前
&quot;Everybody has a testing environment. Some people are lucky enough enough to have a totally separate environment to run production in&quot;
评论 #37119612 未加载
评论 #37125534 未加载
评论 #37119553 未加载
评论 #37119826 未加载
评论 #37119505 未加载
anoy8888将近 2 年前
I don’t understand why people redefine words just make their point. It can be confusing at best and at worst change the me meaning of words when it becomes viral. “Smart” people means smart people. It shouldn’t be used to mean junior dev who are trying to hard to prove themselves and over engineer or choose the wrong approach. So many words have changed their original meaning because someone decides to write a viral post and redefine words to make a point
评论 #37119541 未加载
评论 #37119789 未加载
评论 #37119503 未加载
chpmrc将近 2 年前
Welp! For some reason someone at HN decided to change the title and bump this down to the 11th position (atm). Not sure what I did wrong here but it feels pretty crappy...<p>@dang any chance you could help here? :(
评论 #37121842 未加载
评论 #37121266 未加载