Netflix Chills with Open Source, Adding Docker Support
In a move that should help facilitate wider use of its open source software, Netflix has started packaging many of its publicly available projects in Docker containers, so they can be more readily deployed by other parties.
With the rise of contributions made to the Netflix open source projects, the need to have a more streamlined experience for contributors quickly became apparent to the company.
“While many of our [open source software] projects are being successfully used across many companies all over the world, we got a very clear signal from the community that it was getting harder to figure out which projects were useful for a particular company or a team; which were fully independent; and which were coupled together,” wrote Netflix engineers Andrew Spyker and Ruslan Meshenberg, in a blog post announcing the changes.
As such, Netflix has overhauled its open source project development repository, making it easier for software developers to find Netflix open source projects they want to use and work on. To date, Netflix has open sourced over 50 development and infrastructure applications that the company has developed in-house.
Netflix is one of the many webscale companies taking steps toward a commitment to open sourcing software built in-house, in order to get feedback from third-parties as well as to have a say in the ever-evolving IT ecosystem. AirBnB, Facebook and the Facebook-owned Instagram, Pinterest, Etsy, eBay, Yahoo, LinkedIn are just a few of the other Web companies maintaining open source projects.
In addition to the changes to its Github repository, Netflix will be offering many of its open source projects as Docker containers.
Using Docker containers negate the need for developers to have to manage, edit, and modify Wikis or outside resources with how to best contribute to the Netflix open source community. Offering a container-based contribution solution gives developers the ability to quickly spin up the image they wish to work on after cloning it to their local development environment. This also prevents new developers from potentially breaking source code with bugged commits, as their development instance is contained within Docker from its own fork of the Netflix repository.
Exploring the redesigned Netflix GitHub portal shows projects broken down by categories such as big data, build and delivery tools, runtime management for microservices, data persistence, insights, user interface design, and security. Each of these segments connects with the others in the repository, highlighting how projects dovetail off one another.
For those interested in developing microservices, Netflix offers Asgard to manage application deployment. Asgard is bolstered by Eureka, which prevents users from having to restart hundreds of failed nodes in the event of service shutdowns. Eureka also provides service discovery so containers on separate AWS clusters can communicate with and discover one another regardless of their location on an EC2 instance.
Data persistence within container-based workflow solutions is another focus of Netflix, with its offerings Raigad and Priam able to back up data, configure deployments, and restore both Cassandra and ElasticSearch databases if a problem arises. Many of these offerings will now be available as Docker images, which will allow for faster deployment of active clusters, enabling developers to address potential bugs, correct issues, and deploy fixes or apply accepted enhancements to a project quickly.
As developers of all levels continue to hone their skills through contributing to open source software, the amount of people contributing to projects continues to rise. As such, companies can find themselves with more potential open source contributors than they have projects – though for Netflix this has not been an issue. The company has experienced massive open source growth since embracing an open source model with their available options, having a variety of projects available for developers to work on.
For many developers building out their software development skills through self-teaching, contributing to open source initiatives is a way to boost their reputation within the field while still working on interesting and challenging projects. Netflix offers the open source community a chance to not only hone their skills but work with new and exciting technology while doing so.
Feature Image: Uzo Aduba, from the Netflix series “Orange is the New Black” via Netflix.