Rich Freeman on 7 Nov 2017 07:28:16 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] small business server virtualization?


On Tue, Nov 7, 2017 at 6:58 AM, Lee H. Marzke <lee@marzke.net> wrote:
>
> A good business case is NetFlix which runs on Amazon.   They  have a special
> service 'chaos monkey' that randomly kills ANY of their servers, doing this
> all the time, just to test that their recovery works.    Also Netflix runs
> the  "Directory listing"  on amazon, with the actual streaming of movie
> content from their private data center.     As you would guess, the
> performance and reliability for streaming just doesn't work on Amazon.
>

While I'll agree with just about everything you've said about Amazon
I'm skeptical of your last sentence, unless this is actually based on
something Netflix has said publicly.

I am guessing that performance/reliability isn't their main concern
for streaming so much as cost, and maybe some kind of licensing
conditions.

Reliability/performance shouldn't really be an issue, because
load-balancing that across many servers should be pretty easy.  If an
odd server goes down worst case a dozen users get a blip in their
video, which is probably fine if it is rare.  And if they cared that
much about it they could design with that in mind, and probably
already have to do so with their own data centers.  Performance
requirements for video streaming are pretty low unless you're
transcoding in realtime, which I doubt Netflix would have to do.
Really the processing power needed to stream the video is even less
than what your Roku needs to play it back.

I mentioned licensing speculatively, because I have no idea what
constraints Netflix is under with the content creators.  If Hollywood
is paranoid and tells them that they need to be encrypting all their
storage with hardware decryption modules or whatever then that might
be something they just can't do with AWS.  This might or might not be
a factor.

I think cost is the main factor and it comes into play in a few ways:

Bandwidth is of course a HUGE factor.  I can only imagine what kind of
bandwidth Netflix consumes, and even if they centrally serve the
content they could almost certainly negotiate at least as good a deal
on bandwidth as Amazon could, and even a tiny bit of profit in
Amazon's pricing would be a huge loss for Netflix if the pricing was
the same.  I wouldn't be surprised though if Netflix actually uses
more bandwidth for streatming than all of AWS.

Then you get colocation.  Because of those bandwidth costs Netflix
will try to forward position their content closer to their customers,
ideally inside of ISP networks so that they don't go out over the
network, which lowers their costs even more.  That means they are
running their own servers whether they want to or not, which means the
benefits of giving this over to AWS is diminished.

Then I wonder about the actual hardware costs.  Streaming is the sort
of thing that is extremely low-CPU but fairly high on IO/etc, so I
imagine that at large scale there could be savings for optimizing your
hardware around this.  Spending $1000 on hardware optimized for
streaming video could very well go further than the more generic AWS
options (despite the fact that AWS also has different options for
optimization around CPU/RAM/IO/etc).

And of course there is storage.  I'm not sure how much of a cost that
actually is these days with the costs of storage coming down (the
costs of storage must be dropping faster than the rate new content is
produced).  However, it could still be quite a bit.  Running storage
pods or Ceph or whatever probably could be more cost-effective than
paying for S3 at large scale.

It sounds to me that Netflix identified the one component of their
design that has the largest opportunity for savings and decided to
optimize it.  That is a good overall strategy for anybody using AWS.
Use them to get up and running quickly.  Optimize later.  But
definitely keep in mind the caveats Lee pointed out - they're designed
around the new model where hardware isn't intended to be perfect.  You
can't just migrate an application from a mainframe to AWS and expect
no issues without a redesign.

-- 
Rich
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug