ViacomCBS is home to some of the most world-renowned brands and production studios, including BET, CBS, Comedy Central, MTV, Nickelodeon, Paramount Pictures and the Smithsonian Channel. It’s a leading global media and entertainment company serving consumers across all platforms. The Streaming division within ViacomCBS encompasses both free and paid streaming services including Paramount+, a direct-to-consumer digital subscription video on-demand and live streaming service, and Pluto TV, the leading free streaming television service.
As the Streaming division continues to innovate and expand its services, it has partnered with GitHub whose products have helped developers and engineers to support that growth, stay connected and develop seamlessly.
Beginning in 2018, ViacomCBS made the move to increase innovation and accelerate its time-to-market rapidly by completely exiting datacenters and becoming a cloud and SaaS based company. This move allowed the company to scale strategically ahead of tentpole events and to expand its services globally. One step in this evolution was to partner with GitHub whose collaboration tools and automation features like GitHub Actions enabled the company to enhance the architecture of its powerful streaming products.
“Some of the projects in IT end up being more difficult than expected. But the migration to GitHub was simple. It was easy to do a proof-of-concept with GitHub to make sure it fit our needs. And it was easy to move our code as well.” said Shiva Paranandi, VP of DevOps and Cloud Infrastructure.
Previously, the company managed its own source code repositories in house. But, as part of a broader migration away from their own data centers to cloud and SaaS-based solutions, the company decided to make a change. According to Paranandi, the team spent some time doing a cost analysis and evaluating different code management options before ultimately choosing GitHub.
Providing free, paid and premium streaming video content to such a vast user base means adopting new ways to deliver that content. To innovate and surge ahead in this ever-changing field, the ViacomCBS Streaming division needed to embrace machine learning like never before. For this, the team made extensive use of insourcing to develop ML patterns for offering viewer recommendations and providing closed captioning.
Between developers, QA, product managers, customer support, and marketing, a large number of ViacomCBS Streaming employees interact with GitHub. Because so many developers are already familiar with GitHub—and it integrates so seamlessly with so many different technologies—the engineering teams were not delayed by any re-training. “We were able to get back to focusing on delivering amazing content to our audiences more quickly than we would have been with other solutions,” said Paranandi.
Another key benefit provided by GitHub was that engineers did not have to manage code repositories. “Developers can focus more on what we do best, and then depend on GitHub to help us out in that journey,” said Paranandi.
Developers can focus more on what we do best, and then depend on GitHub to help us out in that journey.
The company also began tapping into other benefits as well. For example, many teams use GitHub Actions to kick off continuous deployment processes, enabling developers to spend less time tuning with CI/CD tools and more time building new features.
Teams like the Video Transformation Group use Actions for all their CI/CD purposes. This group has mostly transitioned from using the traditional CI/CD platforms to using Actions and are pleased with the way the builds and deployments are performing. “We tend to take the prebuilt Actions from the marketplace and customize them,” said Paranandi. “That saves us a lot of time.”
ViacomCBS Streaming practices “infrastructure as code” with tools like Kubernetes and Terraform. Everything from Amazon and Google Cloud settings to DNS server configurations to security policies are managed with GitHub using standard GitOps practices, “If someone changes a Terraform plan, that goes through the CI/CD pipeline and triggers a GitHub Action that triggers an approval process, just like a pull request for some application code,” said Mike Artis, Director of System Engineering in the company’s cloud architecture group.
GitHub also supports ViacomCBS’s innersource initiatives. The company has a “hub and spoke” structure with many connected brands, ranging from Nickelodeon to BET. ViacomCBS is always striving to keep communication seamless and coordinated amongst these groups. “GitHub helps the company’s long-standing efforts to accelerate development by breaking down communication barriers, shortening feedback loops, and automating tasks wherever possible,” said Artis.
GitHub helps the company’s long-standing efforts to accelerate development by breaking down communication barriers, shortening feedback loops, and automating tasks wherever possible
The company also manages much of its documentation through GitHub Pages, and augments that documentation with records of branches and commit comments.
“GitHub plays a central role in provisioning infrastructure, pushing code changes into the hands of end-users,” said Paranandi.
“It’s also important for us to ensure that our entire company can benefit from all the work our division accomplishes,” said Paranandi. “If a developer has a problem somewhere, it is very likely that someone else has already solved the issue within their own organization. GitHub makes it possible to search other teams’ repositories for solutions. “GitHub is really important for a company our size. Without it, we’d have developers repeating the same solutions throughout the organization.”