{"id":3158,"date":"2010-02-18T15:03:02","date_gmt":"2010-02-18T21:03:02","guid":{"rendered":"http:\/\/bobbeaty.com\/wp\/?p=3158"},"modified":"2010-02-19T08:43:36","modified_gmt":"2010-02-19T14:43:36","slug":"designing-for-continuous-operation","status":"publish","type":"post","link":"https:\/\/bobbeaty.com\/wp\/archives\/3158","title":{"rendered":"Designing for Continuous Operation"},"content":{"rendered":"<p>Today I had some problems with the messaging software we use at The Shop - 29West. To be fair, the problem wasn't <em>completely<\/em> 29West's, but it was due to the architecture <strong>of<\/strong> 29West. Even in pub\/sub mode, 29West (non-multicast) is still a point-to-point protocol. This is a <strong><em>feature<\/em><\/strong> in their design. I can see it - take out the middle-man and centralized bottle-neck, and you can increase performance. Makes sense... I've used point-to-point socket protocols a lot and there's a ton of good in them.<\/p>\n<p>But when it comes to a service, that's not a really great model to use. Reason being: if it goes down for any reason, then you have clients that are unable to connect to this \"pub\/sub\" system, and that doesn't make a lot of logical sense.<\/p>\n<p>I mean, a subscriber should be able to subscribe unless the complete infrastructure is down - not just the publisher. It's a matter of opinion, I'll concede, but I think it's an opinion that <em>should<\/em> be shared by a vast majority of the systems developers in the world. The entire point of pub\/sub is to <strong><em>separate<\/em><\/strong> the 'pub' from the 'sub'. Having it be point-to-point breaks all that to pieces.<\/p>\n<p>Which brings me to the point that seems to be clearly lacking in The Shop - the thought for <em>continuous operation<\/em> seems completely absent. Everyone plans on nightly shutdowns, and as such, never puts even the slightest thought into making <strong>their<\/strong> system work all week long. \"There's a nightly restart, so I will to.\" - that's just lazy thinking and lazy building.<\/p>\n<p>I'm not saying there aren't reasons for <strong>some<\/strong> systems to have nightly outages. What I'm saying is that if there's a reason for <strong>your<\/strong> system to have one, then go ahead and have one. But if you don't need it, then don't take it. If you do this, and the other systems that <strong>do<\/strong> need it figure out a way around <strong>their<\/strong> limitations, then you have a more robust environment as <strong><em>nothing<\/em><\/strong> needs to have a nightly restart.<\/p>\n<p>So stop accepting other's limitations as yours - but <strong><em>better<\/em><\/strong> systems than that.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I had some problems with the messaging software we use at The Shop &#8211; 29West. To be fair, the problem wasn&#8217;t completely 29West&#8217;s, but it was due to the architecture of 29West. Even in pub\/sub mode, 29West (non-multicast) is still a point-to-point protocol. This is a feature in their design. I can see it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6],"tags":[],"class_list":["post-3158","post","type-post","status-publish","format-standard","hentry","category-coding","category-cube-life"],"_links":{"self":[{"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/posts\/3158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/comments?post=3158"}],"version-history":[{"count":1,"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/posts\/3158\/revisions"}],"predecessor-version":[{"id":3159,"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/posts\/3158\/revisions\/3159"}],"wp:attachment":[{"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/media?parent=3158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/categories?post=3158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bobbeaty.com\/wp\/wp-json\/wp\/v2\/tags?post=3158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}