<div><br></div><div><div><br></div></div>
                 
                <p style="color: #A0A0A8;">On Monday, April 23, 2012 at 4:00 PM, Joshua Harlow wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div>

<title>Re: [Openstack] Canonical AWSOME</title>


<font face="Calibri, Verdana, Helvetica, Arial"><span style="font-size:11pt">How are REST endpoints not reliable or scalable ;-)<br>
<br>
I’d like to know, seeing as the web is built on them :-)<br></span></font></div></div></span></blockquote><div><span style="font-size: 12px;">The resiliency of the internet is actually built on BGP. REST endpoints fall over constantly. Look no further than Google 500 errors, the fail-whale, etc. Even the EC2 API has been known to fall-over.  Making HTTP services reliable is not as trivial as it should be. The reason is because they are single points.</span></div><div><span style="font-size: 12px;"><br></span></div><div><span style="font-size: 12px;">It is possible, through running many services and doing intelligent load balancing and failover, to make REST reasonably reliable. However, I'd rather not broker my requests through a questionably reliable REST broker, and send messages directly to their destinations to RPC consumers which are already running (and required) on those machines.  If the destination is offline, it doesn't need my message.  If the REST broker is offline, the recipient on the other end of that broker should still be guaranteed delivery…</span></div><div><span style="font-size: 12px;"><br></span></div><div><span style="font-size: 12px;">The problem can be simplified as:</span></div><div><span style="font-size: 12px;">* How many REST endpoints do you need to service 100 compute machines? How many REST endpoints do you need to service 1000000 compute machines? How many points of failure exist?</span></div><div><span style="font-size: 12px;">* How many compute machines do you need to service 100 compute machines? How many compute machines do you need to service 1000000 compute machines?  How many points of failure exist?</span></div><div><span style="font-size: 12px;"><br></span></div><div><span style="font-size: 12px;">It is unclear how many REST endpoints you'll need. The compute machines scale as they scale, they're not dependent on a REST broker. Every compute machine itself can fail, although this failure is likely trivial (messages to a dead machine are generally vain).  Meanwhile, the REST service has to deal with dead compute machines *and* the death of REST services supporting the architecture.</span></div><div><span style="font-size: 12px;"><br></span></div><div>-- <br>Eric Windisch</div>