Netflix

Thiru Malai
3 min readMay 28, 2021

Netflix is a subscription-based streaming service that allows our members to watch TV shows and movies without commercials on an internet-connected device. You can also download TV shows and movies to your iOS, Android, or Windows 10 device and watch without an internet connection.

Experience Management

As noted earlier, our user needs vary significantly from one production to the next. This translates to a large number of app configurations to toggle feature availability and optimize the in-app experience for each production. Decoupling the code that manages these configurations from the apps themselves helps to reduce complexity as the apps grow. Our first exploration with code sharing involves the implementation of a mobile SDK for our internal experience management tool, Hendrix.

At its core, Hendrix is a simple interpreted language that expresses how configuration values should be computed. These expressions are evaluated in the current app session context, and can access data such as A/B test assignments, locality, device attributes, etc. For our use-case, we’re configuring the availability of production, version, and region specific app feature sets.

Poor network connectivity coupled with frequently changing configuration values in response to user activity means that on-device rule evaluation is preferable to server-side evaluation.

This led us to build a lightweight Hendrix mobile SDK — a great candidate for Kotlin Multiplatform as it requires significant business logic and is entirely platform agnostic.

Implementation

For brevity, we’ll skip over the Hendrix specific details and touch on some of the differences involved in using Kotlin Multiplatform in place of Kotlin/Swift.

Build

For Android, it’s business as usual. The Hendrix Multiplatform SDK is imported via gradle as an Android library project dependency in the same fashion as any other dependency. On the iOS side, the native binary is included in the Xcode project as a universal framework.

Developer ergonomics

Kotlin Multiplatform source code can be edited, recompiled, and can have a debugger attached with breakpoints in Android Studio and Xcode (including lldb support). Android Studio works out of the box, Xcode support is achieved via TouchLabs’ xcode-kotlin plugin.

How does Netflix work and how much does it cost?

How much is Netflix? A breakdown of the monthly prices and offerings for every subscription plan. A Netflix monthly subscription costs $8.99 for the Basic plan, $13.99 for Standard, and $17.99 for Premium. The Standard DVD and Blu-ray plan starts at $7.99 monthly, and the Premier plan starts at $11.99.

How many developers does Netflix have?

According to the latest Sandvine report, Netflix now accounts for 15% of downstream traffic across the entire global internet. Edge Engineering has more than … we build and operate more than 50 applications, and yet we only have about 80 developers. That’s 80 developers for 50 applications.

What software is used in Netflix?

Netflix uses a number of pieces of open-source software in its backend, including Java,pyhton, MySQL, Gluster, Apache Tomcat, Hive, Chukwa, Cassandra and Hadoop.

Is Netflix written in Python?

Netflix uses Python powered IS systems for auto-remediation, security automation, risk classification, etc. The most active open source Python project of this team is Security Monkey. Netflix also uses BLESS (Bastion’s Lambda Ephemeral SSH Service) to protect SSH (Secure Shell) resources.

Is Python used professionally?

Python is rather widely used for scripting. This includes various testing / building / deployment / monitoring frameworks, scientific apps and just quick scripts. Python is rather widely used as embedded language. … Few (if any) desktop apps are commercially developed in Python.

Is Python enough to get a job?

Python might be enough to get a job, but most jobs require a set of skills. … For example, you might get a job to write Python code that connects to a MySQL database. To build a web application, you need Javascript, HTML, and CSS. If you want to get into machine learning, you need to know about mathematical modeling.

--

--