 {"id":55,"date":"2007-08-18T18:45:00","date_gmt":"2007-08-18T23:45:00","guid":{"rendered":"http:\/\/www.networkjack.info\/blog\/2007\/08\/18\/re-service-reliability\/"},"modified":"2007-10-19T15:13:36","modified_gmt":"2007-10-19T20:13:36","slug":"re-service-reliability","status":"publish","type":"post","link":"http:\/\/www.networkjack.info\/blog\/2007\/08\/18\/re-service-reliability\/","title":{"rendered":"Re: Service Reliability"},"content":{"rendered":"<p>An email exchange I had with a very smart colleague regarding how one defines &#8220;Reliability&#8221;, specifically in relation to Active Directory, of which I admit to knowing very little, so the discussion mostly centers on philosophical perspectives.<\/p>\n<p>On 8\/18\/07 12:48 AM, &#8220;Wm.&#8221;  wrote:<\/p>\n<p>&gt;<br \/>\n&gt; So what you are saying is the protocol definition makes provision for<br \/>\n&gt; what the client is supposed to do in the attempt to hide server<br \/>\n&gt; outages from the user?<\/p>\n<p>Yes. If that is what the protocol is designed to do.<\/p>\n<p>&gt; Do the following protocols define the service<br \/>\n&gt; reliability as a function of the client&#8217;s ability to find a working<br \/>\n&gt; server? (HTTP, NTP,WebDAV, AFP, SMB, FTP, IKE, VNC, IPP, ARD, IMAP,<br \/>\n&gt; POP, SMTP, LDAP, Kerberos)<\/p>\n<p>Not that I know of:<br \/>\nWebDAV, AFP, SMB, FTP, VNC, IPP, ARD, IMAP, POP<\/p>\n<p>Yes:<br \/>\nNTP<\/p>\n<p>Maybe:<br \/>\nLDAP, Kerberos<\/p>\n<p>I don&#8217;t know:<br \/>\nIKE<\/p>\n<p>Kind of:<br \/>\nHTTP, SMTP<\/p>\n<p>&gt; AD is a summation of LDAP, Kerberos and some proprietary mechanisms<br \/>\n&gt; that Microsoft stacks on top.  The actual&#8217;service&#8217; is either LDAP or<br \/>\n&gt; Kerberos depending upon the request.<\/p>\n<p>ok. That&#8217;s more than I knew before having never looked at what AD is.<\/p>\n<p>&gt; It is kinda like going to Avis and renting a car.  They put 30 on the<br \/>\n&gt; lot and it is the client&#8217;s job to find the car &#8216;service&#8217; that works.<br \/>\n&gt; This alleviates the Avis &#8216;server&#8217; from responsibility for having<br \/>\n&gt; working &#8216;services&#8217;.  As long as one car starts, no problem.  Half of<br \/>\n&gt; them may not start but it is not a problem unless all of them don&#8217;t<br \/>\n&gt; start?<\/p>\n<p>Not a very good analogy, or merely one that just fits to bolster your point.<\/p>\n<p>You are trying to take your particular definition of &#8220;service reliability&#8221;<br \/>\nand apply it in a one-size fits all manner.<\/p>\n<p>The true answer (like most things in life) is:   It Depends<\/p>\n<p>Some protocols are merely information request oriented protocols, like DNS<br \/>\nor NTP. These protocols tend have methods for dealing with inaccessible<br \/>\nsources of data.<\/p>\n<p>Some are data access\/transaction oriented protocols (any file sharing<br \/>\nprotocol, mail). These protocols tend to not have &#8220;redundancy&#8221; as the<br \/>\nability to have a data exchange transaction be mirrored across physical<br \/>\nservers difficult due to it being harder to replicate data across those<br \/>\nphysical systems.<\/p>\n<p>Some protocols have a pseudo redundancy in them. HTTP can redirect a<br \/>\nrequestor to a different source to complete the data exchange. SMTP can give<br \/>\na temporary deferment for data exchange.<\/p>\n<p>As for AD: From what little I know of it, it is mostly a information request<br \/>\nsystem (where am I, can I get an auth token using these credentials, is this<br \/>\nsystem authorized to access me, etc) and that data can, for the most part,<br \/>\nbe replicated easily across systems, much like DNS is replicated across<br \/>\nservers to serve out the same answers for a single question.<\/p>\n<p>So a better analogy for the Avis world would be something like:<\/p>\n<p>Are there multiple sources for me to get an answer to the Ultimate Question<br \/>\nof Life, The Universe and Everything:<\/p>\n<p>&#8220;Dude, Where&#8217;s My Car?&#8221;<\/p>\n<p>If none of the agents can answer the question, then yeah, the service sucks.<\/p>\n<p>One thing I sent to Bill offline that I&#8217;ll include here for the benefit of<br \/>\nanyone else that is still reading:<\/p>\n<p>&#8212;<\/p>\n<p>If the protocol in question has to use BROADCAST traffic in order to<br \/>\ndiscover redundant systems to query then I consider that to be a poor design<br \/>\nchoice for redundancy.<\/p>\n<p>&#8212;<\/p>\n<p>&gt; On Aug 6, 2007, at 3:08 PM, Brian Blood wrote:<br \/>\n&gt;<br \/>\n&gt;&gt; On 8\/6\/07 12:20 PM, &#8220;Wm.&#8221;  wrote:<br \/>\n&gt;&gt;<br \/>\n&gt;&gt;&gt; Does anyone recall coming across a white paper relative to measuring<br \/>\n&gt;&gt;&gt; service reliability and collecting metrics on such.<br \/>\n&gt;&gt;&gt;<br \/>\n&gt;&gt;&gt; I am in a discussion with Active Directory admins who insist that if<br \/>\n&gt;&gt;&gt; an AD client can root around and find a working server, then their<br \/>\n&gt;&gt;&gt; service reliability metric is 100%.  My stance is that service<br \/>\n&gt;&gt;&gt; reliability is measured not by the workaround that the client<br \/>\n&gt;&gt;&gt; performs but the availability of the service at the server&#8217;s point of<br \/>\n&gt;&gt;&gt; presence (aka domain name).<br \/>\n&gt;&gt;<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; I think you are dealing in semantics here.<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; Look at DNS for an example.<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; With most systems, a domain name is handled by two dns servers.<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; If one of these is down, then the other covers traffic that would<br \/>\n&gt;&gt; have been<br \/>\n&gt;&gt; down.<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; This redundancy is part of the dns protocol.<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; While the DNS Service as a whole would have 100% reliability,<br \/>\n&gt;&gt; because of how<br \/>\n&gt;&gt; the protocol is designed, the reliability of the specific server<br \/>\n&gt;&gt; would not<br \/>\n&gt;&gt; be 100%.<br \/>\n&gt;&gt;<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; So, the answer, as usual, is: it depends on what system you are<br \/>\n&gt;&gt; analyzing.<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; If an AD client as part of the AD protocol can look for multiple<br \/>\n&gt;&gt; servers to<br \/>\n&gt;&gt; auth against, then the reliability of the AD SERVICE on that<br \/>\n&gt;&gt; network will be<br \/>\n&gt;&gt; measured as a whole.<br \/>\n&gt;&gt;<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; In short, I think you are wrong.<br \/>\n&gt;&gt; \ud83d\ude42<br \/>\n&gt;&gt;<br \/>\n&gt;&gt;<br \/>\n&gt;&gt; Brian<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An email exchange I had with a very smart colleague regarding how one defines &#8220;Reliability&#8221;, specifically in relation to Active Directory, of which I admit&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"http:\/\/www.networkjack.info\/blog\/2007\/08\/18\/re-service-reliability\/\">Continue reading<span class=\"screen-reader-text\">Re: Service Reliability<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,8,6],"tags":[],"class_list":["post-55","post","type-post","status-publish","format-standard","hentry","category-general","category-servers","category-soap-box","entry"],"_links":{"self":[{"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/posts\/55"}],"collection":[{"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":0,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/posts\/55\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/media?parent=55"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/categories?post=55"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.networkjack.info\/blog\/wp-json\/wp\/v2\/tags?post=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}