Ben Christensen

Share

Manager of Client APIs at Netflix

benjchristensen.com
 @benjchristensen

Ben Christensen is a software engineer on the Netflix Edge Services Platform team responsible for fault tolerance, performance, architecture and scale while enabling millions of customers to access the Netflix experience across more than 1,000 different device types. Interests include building maintainable, performant, high-volume, high-impact systems which has recently led to functional and reactive programming styles, polyglot codebases and open source projects such as Hystrix (https://github.com/Netflix/Hystrix) and RxJava (https://github.com/Netflix/RxJava). Prior to Netflix, Ben was at Apple making iOS apps and media available on the iTunes store.

YOW! 2013 Melbourne

Patterns for Continuous Delivery, Reactive, High Availability, DevOps & Cloud Native Open Source with NetflixOSS
YOW! DEPTH FIRST WORKSHOP

If you are already deploying to the public cloud (or considering it), this workshop is an excellent way to learn about the architecture, tools and challenges faced by Netflix, who are considered to be the world experts on the challenges in this area..

Netflix is a provider of on-demand Internet streaming media, is the single largest internet traffic service in North America and and is also the largest cloud application in the world, servicing more more than 36 million subscribers in over 50 countries.

Netflix Open Source (OSS) is a collection of over thirty Github projects,many with strange names. Being one of the biggest users of Amazon Web Service’s public cloud, many of these are related to plugins for using AWS whilst others are add-ons for other open source projects like Apache Hadoop, Cassandra and Pig. For the most part, they all focus on deploying public cloud computing resources, creating tools for automating and managing tasks, ensuring high availability and analyzing use.

Netflix OSS was developed on AWS and has already been demonstrated running on Eucalyptus, and work is in progress for additional cloud ports. Netflix OSS is primarily written in Java, Groovy and Python, with support for Scala and other JVM based languages.

Creating Observable APIs with Rx
FUNCTIONAL

Learn how functional reactive programming styles are used by Netflix to create “Observable APIs” and implement concurrent web services against asynchronous data sources without blocking, synchronization or thread-safety concerns by using declarative functional reactive composition.

To achieve this Netflix ported Rx from .Net to the JVM and open sourced it as RxJava (http://techblog.netflix.com/2013/02/rxjava-netflix-api.html). It is a library for composing asynchronous and event-based programs using observable sequences for the Java VM that supports Java 6+, Clojure, Scala, Groovy, JRuby and Java 8 lambdas.

Come see what functional reactive programming looks like, what use cases it addresses and real-world examples of how it can become a tool in your application development.

View Slides