[This blog was originally published in November of 2018 and updated with new information in March of 2021.]
Netflix has long been considered a leader in providing content that can be streamed online as a service. One of their key differentiators in providing the online streaming service is their dynamic infrastructure. This infrastructure allows them to maintain SLAs regardless of software updates, maintenance activities, or unexpected system challenges.
The challenges they had to address to create a dynamic infrastructure required them to develop a pluggable architecture. This architecture had to support innovations from the developer community and scale to reach new markets. Multi-region environments had to be supported with sophisticated deployment strategies—strategies allowing for blue/green deployments, release canaries and CI/CD workflows. The DevOps tools and model that emerged also extended and impacted their core business of content creation, validation, and deployment.
We've described this extended impact as a "Netflix-like" approach that can be utilized in enterprise application deployments. This blog will illustrate how DevOps teams can model the enterprise application environment workflows using a similar approach used by Netflix for content deployment and consumption, i.e., point, select, and view.
6 Steps of a Netflix-like Approach to DevOps
Step 1: Workflow Overview
The initial step is to understand the workflow process and dependencies. In the example below, we have a Netflix workflow whereby a producer develops the scene with a cast of characters. The scene is incorporated into a completed movie asset within a studio. Finally, the movie is consumed by the customer on a selected interface.
Similarly, the enterprise workflow consists of a developer creating software with a set of tools. The developed software is packaged with other dependent code and made available for publication. Finally, customers consume the software package on their desired interface of choice.
Step 2: Workflow Components
The next step is to align the workflow components. For the Netflix workflow components, new content is created and tested in environments to validate playback. Upon successful playback, the content is ready to deploy into the production environment for release.
The enterprise components follow a similar workflow. The new code is developed, and additional tools are utilized to validate functionality within controlled test environments. Once functionality is validated, the code can be deployed as a new or part of an existing application.
Step 3: Workflow Roles
Each management tool requires setting up privileges, privacy, and separation of duties for the respective personas and access profiles. Netflix makes it straightforward with managing profiles and personalizing the permissions based on the type of experience the customer wishes to engage in. Similarly, within Quali DevOps platform, roles and associated permissions can be established to support DevOps, SecOps and other operational teams.
Step 4: Workflow Assets
The details for the media asset, whether categorization, description or other specific details help define when, where, and who can view the content. The simplicity of the point/click interface makes it easy for a customer to determine what type of experience they want to enjoy.
On the enterprise front, categorization of packaged software as applications can assist in determining the desired functionality. Resource descriptions, metadata, and resource properties further identify how, and which environments can support the selected application.
Step 5: Workflow Environments
Organizations may utilize multiple deployment models whereby pre-release tests are required in separated test environments. Each environment can be streamlined for accessibility, setup, teardown and extending to the eco-system integration partners. The DevOps CI/CD pipeline approach for software releases can become an automated part of the delivery value chain. The "Netflix-like" approach to self-service selection, service start/stop, and additional automated features help make cloud application adoption seamless. All that's required is an orchestration, modeling, and deployment capability to handle the multiple tools, cloud providers, and complex workflows.
Step 6: Workflow Management
Bringing it all together requires workflow management to ensure that the edge functionality is seamlessly incorporated into the centralized architecture. Critical to Netflix’s success is their ability to manage clusters and deployment scenarios. Similarly, Quali enables Infrastructure Automation at Scale to support blueprint models and eco-system integrations. These integrations often take the form of pluggable community shells.
The Evolving State of DevOps
Enterprises that are creating, validating, and deploying new cloud applications are looking to simplify and automate their deployment workflows. The "Netflix-like” approach to discover, sort, select, view, and consume content can be modeled and utilized by DevOps teams to deliver software in a CI/CD model. The Quali’s DevOps platform follows that model by making it easy to set up workflows to accomplish application deployments.
As DevOps environments become more complex and processes grow more sophisticated, organizations are augmenting their DevOps processes with infrastructure automation tools. These tools further help to speed software delivery through environment blueprinting, and self-service provisioning. Additionally, they provide features for governance and cost control, so companies can improve their DevOps processes while adhering to compliance standards and reining in both cloud costs and internal costs.
To learn more about continuous integration and continuous delivery using infrastructure automation, request a demo of Quali’s CloudShell Colony.