1,143 karma · joined February 17, 2008
Software Engineer currently working for Netflix. Previously worked for Yahoo! and Inktomi on large scale infrastructure problems.
Inktomi (YST) was acquired in 2003, later Overture (YSM) and both were linux shops. YST was the biggest property by far and we didn't have any kernel developers. We were doing just fine with stock debian, then stock RHEL. (I did a few very minor patches for 32-bit, like splitting user-space/kernel to 3.5/0.5G instead of 3/1G, and some caching improvements for /proc, but I wasn't a kernel developer). Linux just worked. Drivers were available and supported for the HW we needed. Oprofile, systemtap worked fine for the most part. We later hired one kernel developer to help Mail move to linux, but we always had more freebsd kernel developers.
For freebsd you needed to write the drivers and the tools. That took time and money. The community was also smaller and it was harder to hire people with experience. Acquisitions were running on linux too.
The decision was not easy. Y! already had great freebsd engineers. By announcing that linux would be the supported platform going forward it was a given that many of them wouldn't be happy and leave. Fortunately not all of them left. For example Peter W. still works there.
In any case I don't think there was really an alternative.
Note that Yahoo! was employing a few very bright freebsd kernel engineers but when the decision was announced that linux was the future many of them decided to leave. That made the path forward even clearer. It wasn't just a matter of integrating new acquisitions easier, and the fact that it was easier to hire people with linux experience than with freebsd experience. That was around 2008 IIRC. I left in 2010, and Rick less than a year later.
I've been a happy Netflix employee for over 4 years and have never experienced a 'large layoff' event. All the layoffs I've witnessed were not a surprise for the people affected.
Senior engineers usually make more money than their direct managers, but I fail to see how that's an issue.
I'm guessing RayVR met with Patty who left Netflix 2 years ago. My interview with her was different but I guess it would depend on your background and what she was trying to determine. In my case it was mostly to see if I was going to be a good cultural fit since I was at the time working for Yahoo which had a completely different culture. To me that was an entirely reasonable thing to do. Actually the whole interview process was great, and it was one of the major reasons I chose Netflix over other companies.
It's not a definitive treatise on psychopathy, just the adventures of the author as he dives into this fascinating world. Definitely worth getting it at this price.
(gdb) x/4x fns
0xffeaa0cc: 0x080485e4 0x08048640 0x0804869c 0x08048719 (gdb) x run
0x804875b <run>: 0x83e58955 (gdb) gdb) x/40x (void*)fns-0x40
etc.- Operations are not automatically aborted if the client closes the connection. Suppose a case where the client is sending many queries that are queued by the server (usually waiting for a lock to be released). Client times out, re-establishes a connection, retries, etc. Mongo will execute the operations even if the client is no longer waiting for the response. Operations are not automatically aborted.
- Sending slaveOk() queries need to be sent to the slaves explicitly by the driver, and I haven't seen it work reliably. Ideally you'd send them to mongos and let it send slaveOk() queries automatically to the slaves. All the drivers would be simpler and just work. But this is not the case. You can't do it unless sharding is enabled. Each driver needs to implement this functionality.
But I must say that overall my experience has been very positive. It's very developer friendly. You can go from not knowing anything about it to having a working prototype in an hour or so. The flexibility in querying the system is awesome.
You just need to understand the limitations of the system. Once you start pushing the limits it gets significantly more complicated.
Employees ask tough questions during company meetings and our executives are incredibly open. I guess we've become complacent because their decisions had been bold and right before these past couple of months. I believe this is why there was not a stronger push back internally.
I'm looking for a frontend developer for my team. Your main job would be to help develop a very interactive infrastructure monitoring system. We have lots and lots of metrics about our systems. We'd like to be able to present them in a useful format, make it easy to troubleshoot production issues, aggregate on different dimensions, slice and dice them, zoom in on interesting events, expand clusters into individual nodes, save your work into your custom dashboard, etc.
I'm mostly looking for a strong developer who knows javascript well (or a language that compiles to javascript) and is familiar with tools or frameworks that will make your job easier (think Backbone, Knockoutjs, Spine, JavascriptMVC, etc.).
Netflix is a great environment for engineers where the emphasis is on agility and there are no rules about what tools or technologies you use to get your job done. You know what's best and we trust you.
If this sounds interesting to you please email me at dmuino @ netflix.com
<resume>
http://a1k0n.net/
</resume>Unfortunately we're not running 100% on the cloud today. We're working on it, and we could use more help. The latest outage was caused by a component that still runs in our legacy infrastructure where we have no monkeys :)
http://mail-archives.apache.org/mod_mbox/cassandra-user/2011...
The complete list of changes:
https://svn.apache.org/repos/asf/cassandra/tags/cassandra-0....
I'm not sure if by "content-aware routers" you mean something like Content Centric Networking:
If that's the case it'd be up to the ISPs to push that technology to their infrastructure. Van Jacobson gave a very informative presentation at Netflix about it a couple of months ago. It seems you can watch a similar presentation he gave at Google on youtube:
You can definitely have a good plan, and be able to execute on that plan, with fewer people. I was lucky enough to work in a team that was running the search backend for a big internet company. Tens of thousands of machines, constant code, config and data pushes, configuration management, os images, kernel, etc. The team was responsible for developing and running the tools needed to keep the site up even when a whole datacenter lost power and you had to shift load from one coast to the other. The size of that team was much lower than 10 people.
Obviously Reddit will have to invest in both infrastructure and human resources to get there, but it can be done.
I agree with your overall point that having a business continuity plan is required. They should be able to answer questions like how do we minimize impact when we lose one cassandra node or two, ebs gets corrupted, a whole avail-zone disappears, etc. I'm just saying that AWS provides the building blocks for you to do that.
End result: you're farther away from the resolver, farther away from your web pages, farther away from your CDN. I don't see how you can make a case that this is an improvement in general.
Location: Sunnyvale, CA
Qualifications: You're a very good developer (in any language)
dmuino at yahoo.com