Slashdot Mirror


An Inside Look At How Netflix Builds Code (sdtimes.com)

mmoorebz writes: Netflix is known as a place to binge watch television, but behind the scenes, there's a lot that goes on before everyone's favorite show can be streamed. The first step to deploying an application or service is building. Netflix created Nebula, a set of plugins for the Gradle build system, that "help with the heavy-lifting around building applications," said the engineers. Once the code has been built and tested locally using Nebula, the team pushes the updated source code to a Git repository. Every deployment at Neflix begins with the creation of an Amazon Machine Image, and to generate them from source, Netflix created what it calls "the Bakery." It exposes an API that facilitates the creation of AMIs globally, according to the blog. When it comes time to deploy and after the "baking" is complete, teams will use Spinnaker to manage multi-region deployments, canary releases, and red/black deployments. Netflix is continuing to look at the developer experience and determine how it can improve.

48 comments

  1. Netflix: It would be very helpful... by CAOgdin · · Score: 4, Interesting

    ...if you even BOTHERED to look at your Streaming GUI from a customers' perspective. Difficult to find anything, hard to stop and backup, or skip forward. It's as if you threw it together at a drunken party. I love to watch the content, but getting there and being able to control the experience is at about the Windows 3.1 level of design.

    THEN brag about your production build process as something that turns a great user experience into code that delivers it!

  2. Re:Netflix: It would be very helpful... by NotInHere · · Score: 4, Interesting

    Welcome to the new apps age, where options are too complicated for the stupid sheeple.

    Multi windows systems? Too complicated, we need gnome 3!

    Email? Too complicated, we need Whatsapp!

    IRC? Too complicated, we need Slack!

    Middle mouse equals paste for wayland? Too complicated, we don't need a paste buffer!

  3. Re:Netflix: It would be very helpful... by supremebob · · Score: 2

    It seems that they can't be bothered with QA testing their client releases as well. For a few weeks, I recently had a Netflix client on my XBox One that didn't work with my remote control. I had to power on the XBox game controller and use it to navigate the menu! They eventually offered an application patch for that, but what the hell, guys?

    Instead of investing millions on automated tests, maybe they should invest $50 in a Harmony remote that works with an XBox One and have someone test with it before signing off on a new release.

  4. Netflix performance by Anonymous Coward · · Score: 0

    I find the work behind actually making Netflix perform well much more interesting.

  5. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    They're a video streaming company. This a commodity service provided by thousands of companies on much smaller budgets. Their technical contributions are virtually nil. Their skills lie in business.

  6. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    Oh god, wait until you try their app on a "smart" TV.. they literally disable every 'efing useful feature...

  7. Re:Netflix: It would be very helpful... by subk · · Score: 4, Funny

    Oh, fuck, Wayland doesn't have a paste buffer? Kill it with fire!!!

    --
    Now, if you'll excuse me, I have backups to corrupt.
  8. does it work on Linux yet? by Anonymous Coward · · Score: 0

    I haven't looked in years, but when they were coming out with streaming video, for some idiotic reason they refused to use any form of standards, so their service didn't work on Linux machines (I don't count heroics like windows VMs or whatever).

    Has that changed? Can I subscribe to Netflix streaming and just, you know... watch the stuff on my computer now?

    If not, no thanks, and however they "build their code", it sucks, because in 2016 there is absolutely no reason to tie yourself into a particular platform.

    1. Re:does it work on Linux yet? by Anonymous Coward · · Score: 0

      No it doesn't work on Linux. Maybe you should switch to a real OS. Windows 10 isn't terrible.

    2. Re:does it work on Linux yet? by Anonymous Coward · · Score: 1

      I haven't looked in years, but when they were coming out with streaming video, for some idiotic reason they refused to use any form of standards, so their service didn't work on Linux machines (I don't count heroics like windows VMs or whatever).

      Has that changed? Can I subscribe to Netflix streaming and just, you know... watch the stuff on my computer now?

      If you're willing to use Chrome (not Chromium), sure, it works just fine in Linux. Fuck you if you're using Chromium, Firefox, or anything else though... proper Chrome is the only one that supports whatever DRM bullshit Netflix uses. I think it's related to that Encrypted Media Extensions thing.

      Still, though, it does work natively on Linux and has for about a year and a half now.

    3. Re:does it work on Linux yet? by lucm · · Score: 1, Interesting

      Works on my fedora machine. Was a bitch to get it to work properly (pipelight etc), only manage to do it on FF and the behavior isn't as smooth as on Windows when I resize or fast-forward but it works.

      BTW season 4 of House of cards is awesome.

      --
      lucm, indeed.
    4. Re:does it work on Linux yet? by Anonymous Coward · · Score: 1

      You don't have to use pipelight any more if you're willing to install Chrome (not Chromium) and watch Netflix with it. See my other comment

      I don't use Chrome for anything else, so I set it up to treat Netflix like an html web-app and just run it fullscreen at launch. Gives a pretty good experience, actually.

    5. Re:does it work on Linux yet? by MobileTatsu-NJG · · Score: 0

      No, your niche OS isn't supported. You'll just have to live with watching it on your Blu-ray player, smartphone, game console, or smart-TV.

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    6. Re:does it work on Linux yet? by subk · · Score: 2

      Chrome (not Chromium)

      Or for the Chrome adverse, Chromium + Chromium-Widevine. Chrome simply has Widevine baked in.

      --
      Now, if you'll excuse me, I have backups to corrupt.
  9. Re:Netflix: It would be very helpful... by NotInHere · · Score: 2

    It supports the ctrl+v/ctrl+c buffer, but there is no support for a middle click paste buffer that's refreshed when selecting text.

  10. Show and movie list by Anonymous Coward · · Score: 0

    Great, now build the code to list all the shows and movies in alphabetical order already.

    1. Re:Show and movie list by lucm · · Score: 1

      I think they don't allow it on purpose. They won't even say how many movies they got.

      --
      lucm, indeed.
    2. Re:Show and movie list by HybridST · · Score: 1

      Using the website interface on my vista box right now. At the top right is a "sort by" drop list with 5 options, two of which are alphabetical listings(A-Z and Z-A).

      Drop the app and try it on a browser sometime.

      --
      Ever notice that Cobra Commander sounds an awful lot like Star scream?
    3. Re:Show and movie list by Noah+Haders · · Score: 1

      once i took the initiative to count, and the best I could narrow it down to was "greater than ten". I had limited time.

    4. Re:Show and movie list by Anonymous Coward · · Score: 0

      Except netflix doesn't support 4k on a browser...

    5. Re:Show and movie list by Rob+Lister · · Score: 1

      7054 according to instantwatcher http://instantwatcher.com/sear...

      I don't think it is in Netflix's interest to give you just any ol' sort.

      Instant Watcher is one of the few third party sites that still has access to the Netflix content API. You can sort by most anything.

  11. take dev advice from... by Anonymous Coward · · Score: 0

    the company with the worst UIs i've ever used!

    1. Re:take dev advice from... by Hognoxious · · Score: 1

      You're conflating the product with the process used to produce it. In fact, those two things are pretty much orthogonal.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    2. Re:take dev advice from... by Rob+Lister · · Score: 1

      Thanks for that. You should be bumped up to the first post.

  12. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    I think this "primary selection protocol" is what you described where selected text goes into a paste buffer.

    It looks like this will land in the next version of wayland after it gets tested in Gnome:
    http://www.phoronix.com/scan.php?page=news_item&px=GNOME-Mutter-Primary-Select

  13. Succeding, according to their incentives by radarskiy · · Score: 1

    Viewers value the amount of time they get to spend watching things. Suppliers charge by the number of times a stream is started and by the popularity of the streamed work. Therefore, Netflix is incentivized to get you to watch any random thing the whole way through then start you on the next random thing.

    What you are complaining about are deliberate choices which show that Netflix is successfully responding to their incentives.

    1. Re:Succeding, according to their incentives by Rob+Lister · · Score: 1

      Suppliers charge by the number of times a stream is started and by the popularity of the streamed work.

      Are you sure about that? My understanding is that most content is contracted on flat fixed fee basis. Here's an example contract (PDF, Wikileaks) between Columbia Pictures (Sony) and Netflix for a package of content. All flat fixed fee with incremental increases. Nothing based on the number of times streamed.

      https://wikileaks.org/sony/doc...

      Perhaps other content is contracted by the number of times streamed but you gotta show evidence.

  14. Re:Netflix: It would be very helpful... by radarskiy · · Score: 1

    Well... it doesn't have three disjoint paste buffers.

  15. Re:Netflix: It would be very helpful... by vux984 · · Score: 1

    The windows 10 app has been a clusterfuck. For months the remote control worked, but video would freeze but audio would continue and then video would play catchup a few seconds later.

    Finally they released an update that fixed that.
    But the remote control doesn't work. Can't even play/pause with it right now.

    It used to launch full screen, now it launches windowed, every single time. That wouldn't be so bad except you can't put it into full screen until AFTER something is streaming; not while you are browsing the catalog.

    I used to be able to bring up a title, and click on an actor and find titles with that actor... not anymore.

    Every update is just a random mess.

  16. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    wait, three? I knew about the middle-click pasting a selected text and ctrl+c/ctrl+v, what's the third one?

  17. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    Give it a few more years, and the Netflix will start showing Ow! My Balls!

    My guess: It'll happen in the next four years if Donald Elizondo Mountain Dew Herbert Camacho Drumpf gets elected.

  18. Re:Netflix: It would be very helpful... by antdude · · Score: 1

    Ditto. I prefer the old stuff. Get off my lawn, you whippersnappers!

    --
    Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  19. Bad browsing feels intentional by swb · · Score: 1

    I believe the obfuscated browsing is intentional on their part, designed to mask the limited content available and somehow make it seem as if there is more content than there really is.

    I seem to recall when they first started streaming, there were better search options but it often returned basically null results. I think that plus the initial rise of complaints about how little content there was actually available for streaming have led them to "refine" the user interface to make it seem if there was more content than they actually have.

    Even Amazon and AppleTV aren't much better and they have larger catalogs since they include rental and purchase content. I was browsing Prime Instant on the PC the other day and while I could filter content for Prime and Genre, there was no sort option for ratings, unlike all the other Amazon content.

  20. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    I've noticed the GUI is different depending on device. On devices that can be updated they are more modern, but not always.
    Personally, I wish they would make it easier to add content to my watch list online without having to start streaming the show.

  21. Wish by Nastee · · Score: 1

    This story was about hacking Netflix. then it might belong on /. didn't read the article. stupid shit about how Netflix is Netflix, I'm guessing....who gives a shit. Not nerds or people that give a shit about hacking shit.

  22. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    > Welcome to the new apps age, where options are too complicated for the stupid sheeple.
    > Multi windows systems? Too complicated, we need gnome 3!
    > Email? Too complicated, we need Whatsapp!

    I gave that a bit of thinking a few days ago and came up with what I think is a good analogy. It's about cooking.

    Everybody likes to eat good food, but few like to cook. There are people like my wife, who just want to cook. They don't spend a single second dwelling on whether it's difficult. Should she want to cook a fish recipe, she might go to the market and get what she needs in 40 minutes -- but we usually have it in the freezer, so this is reduced to 3 minutes. She already had the idea, so she acts immediately and in about 20 minutes it's all ready. And she's off to do other things.

    Meanwhile most other women find time to whine about how cooking is complicated and they don't like it.

    Being myself a guy uninterested in cooking, I can quite understand that:

    - some recipes have a lot of steps (say, 20);
    - there's a need to organize things, like cooking a cake and topping separately;
    - there's a risk that something goes wrong (e.g. the cake overcooks and burn);
    - there's a risk that the overall result, even if correctly done, results being no so tasty;
    - one needs to clean up the kitchen afterwards.

    I compare this to explaining things to my coworkers who aren't fond of computers. I often think to myself: dude, this guy wanted a report and here I am talking to him like 10 minutes and detailing some 20 steps that one need to perform just because the coder decided you have to go thru so many hoops to get the fscking report (which sometimes results empty, because no data anyway).

    Support for our in-house systems is also almost unbearable -- one of the reasons people rely on fallacies like Windows being easy to use, when it's really not easy at all to use (but it's easy to buy and that's all that counts...). Sometimes things don't work and they ask my help, and I can only explain it's not about computing but how systems were setup in the first place.

    Is the server really out of order or was there a security settings problem and the error message is wrong? Is the server out or is it a network problem? Why a perfetct working app in one computer stops working in another (dll? missing configuration? old version?). The mouse was working when connected to the left-side usb, why does it not work when moved to the right-side one? Why does it need to reinstall the driver to work again?

    I feel some of my friends don't like computers just like some people don't like to cook. It's not in them. But systems are to blame. And then, some companies do a better job at making such things simpler, like Apple and Google with iOS and Android, respectively. And those people seem happy when we smalltalk at the coffee machine, boasting they can do even bank access on their smart phones and finally got rid of the computer.

    It is then when I finally get that my wife loves cooking as I love to hand drum on a table. We don't even think about these things, we just enjoy them. And using a computer is that satisfactory to me -- specially when I use things like "select, move mouse, middle-click" to paste something instead of "select,Ctrl-C, mouse mouse, click to select Window, click to get a cursor at the desired paste place, and Ctrl-V to paste" like on Windows. Or when I convert hundreds of files from one graphic format to another (readable by Windows apps) with Image Magick.

    As you say, it's complicated or rather, some people find it so. Some OSes make life miserable to users (like hunting for that deep nested function in a GUI does, compared to a simple one-line terminal command).

    Just like hand (or finger) drumming, for some it's just starting while for others it's totally impossible.

    I concluded then we need the equivalent of those 5-minutes recipes for people who don't like to cook. We need Android and iOS. But people who really like to cook -- or use a c

  23. Why does every HD stream start with crappy res by goombah99 · · Score: 1

    Whenever I start a Netflix show the first 5 minutes or so are crap resolution. But by the end of the show it's fine. I generally see that it's streamming at about 2.5Mb/sec both at the start and at the end. I have a 20mb/sec connection that actually speed tests well, I have three different wifi routers, and three unrelated devices that can show movies (not at the same time).
    Netflix tells me they think it's my routers. Yet amazon streaming works fine. What can I do to answer this?

    --
    Some drink at the fountain of knowledge. Others just gargle.
  24. Re:Netflix: It would be very helpful... by umafuckit · · Score: 1

    Email? Too complicated, we need Whatsapp!

    IRC? Too complicated, we need Slack!

    To be fair, both Whatsapp and Slack aren't just simpler alternatives to e-mail and IRC. They offer different substantially different features.

  25. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    And facebook is just a worldwide bulletin board. yup! you got that right!
    seriously though, have you not appreciated the scales and volumes companies like Netflix or Facebook have to support where rolling out one single patch takes a serious amount of engineering - testing on every platform from a Nintendo to a Roku with x86, playstation and xbox somewhere in between. The build and regression infrastructure required to pull this off? While you maybe right that the concept seems simple enough to understand, at large scales it becomes an amazing act of engineering. Like the difference between a bridge over a small puddle versus one attempting to connect two continents. They're both bridges and the concept is well understood. Engineering the second is however a few order of magnitude harder.

  26. I must be an oldfart by HotNeedleOfInquiry · · Score: 1

    I can't understand a single word they are saying. Where's my PDP 8 and PAL3 assembler....

    --
    "Eve of Destruction", it's not just for old hippies anymore...
  27. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    A lot of people are going to be pissed if that's true.

  28. Re:Netflix: It would be very helpful... by NotInHere · · Score: 1

    I just say that they currently don't have it. Perhaps they will, in the future. Perhaps they won't.

  29. Re:Netflix: It would be very helpful... by Anonymous Coward · · Score: 0

    Replying to myself after looking for an answer and finding it online (thanks, Fergus!).

    For now, I deactivated the transparent proxy and Netflix started to work on my phone. Maybe there's some sort of configuration or port redirection which would allow me to watch Netflix and keep the transparent proxy...

    I don't know whether they block transparent proxies or the app really cannot reach their servers. Considering that we watch content on Youtube besides paying Netflix, I don't know even if I might use an old router and create a special wi-fi for Netflix use. Anyway, we don't get 1080p quality on Linux, just 720p... it should be easy for my old router.

  30. Re:Netflix: It would be very helpful... by partofthepuzzle · · Score: 1

    I wouldn't call the Netflix UI great but I have no problem with the basics that you slagged them about. Using keyboard shortcuts makes stopping/starting (spacebar), skipping backward/forward (left/right cursor keys) very easy.