Video-on-Demand Provider Redbox Relies on DevOps with GitLab
GitLab sponsored this post.
Redbox, primarily known for providing movie and video game rentals via automated retail kiosks, has recently expanded to provide streaming services. At GitLab Connect Chicago, Redbox’s Joel Vasallo, a cloud DevOps manager, and Nicholas Konieczko, a mobile applications manager, described how they met their application-delivery goals during their talk “Delivering Software Like a Fox.”
Redbox On Demand is the company’s newest streaming platform, built on .NET Core in containers on Linux in the cloud. The video retail company had a few goals in mind when building its latest platform, specifically focused on cloud computing processes and mobile app development.
In this post, Vasallo and Konieczko share their three main objectives for creating a successful streaming service: modernizing software development, quick delivery to the cloud and code ownership. They also discuss why the cloud and mobile teams decided to moved away from their four existing tools and opted to migrate to GitLab and how this step created a coherent workflow for the disparate teams.
Goal #1: Modernize Software Development Processes
The mobile and development teams wanted to be able to create the platform using the latest technology in order to provide the best product for the customer. “[There was] nothing wrong with the way they were done, but in the sense the world has really come a long way from traditional Windows servers … in a datacenter running .NET frameworks and stuff like that, we really wanted to empower developers to use containers,” Vasallo said.
Outcome: The mobile and development teams now use GitLab CI, leveraging Fastlane. “We went with GitLab because we wanted to modernize our software development processes,” Vasallo said. The power of GitLab and its ability to work with other tools helped to create a modern, seamless development workflow.
Goal #2: Speed Up Delivery to the Cloud
Providing an on-demand service means that the application has to actually be ready at the very moment of demand. Being new to the streaming arena, it was important for Redbox to move to the cloud. “We also wanted to leverage the power of the cloud and have the scaling perspective of the cloud. We wanted to be in the cloud, as everyone wants to be nowadays. We also wanted to ensure that our features go out the door faster because, in the streaming business, it’s all about being first to market with your features,” Vasallo said.
Outcome: The teams now use GitLab CI along with Spinnaker. “We wanted to increase software delivery and do what’s best for the teams. I don’t want to dictate what developers should do in their day-to-day workflow,” Vasallo said. To do what is best for all the teams and to allow individuals to plan their own processes, GitLab and Spinnaker together help to ensure secure and timely deliverables.
Goal #3: Empower Developers to Own Their Applications
The hope was that a developer would be able to deploy code to production at any time with a single click of a button. Developers would then have the ability to just write the code and a working tool would be able to pick up the errors. “Code goes out the door based on an approval process,” Vasallo said. “Developers are able to own and operate their code, essentially.”
Outcome: The objective was achieved, according to Vasallo. “Ultimately, developers own their own apps. GitLab Enterprise allows teams to own their own verticals, as well as Spinnaker, which allows them to deploy it to whatever cloud provider that they so choose,” Vasallo said. With the use of both Spinnaker and GitLab, developers can now easily deploy code to production, essentially owning their own code.
Putting the ‘Version’ in Version Control
There was a disparate amount of Git and source control tools available, Vasallo said. “Namely, we had an internal Git server, which … I don’t know what it was actually running, and GitHub.com. We also had Team Foundation Server and Azure DevOps,” Vasallo said. “So, with all this stuff … teams were really all over the place, and they all had different source code — getting access to things was just a nightmare.”
The solution was to try out another version control system. GitLab was “the most tried-and-true solution from our perspective,” Vasallo said. “GitLab has support for a few things, like on-prem, as well as in the cloud on the .com offering,” Vasallo said. “But, more than that, at the end of the day it let developers control their namespace within a large organization.”
GitLab Works for Mobile Development
Redbox’s mobile teams were the first to try out GitLab.com. “It’s simple and extremely easy to get started. There’s a lot of documentation out there, all the things I love,” Konieczko said. “It’s very cost-effective and we were able to get a free trial running, get repos open, test out different things, different features, etc. to see if it could work for our teams — and it did”
Yes, You Can Use Jenkins, Too
GitLab just wanted Redbox development processes to be successful, Konieczko said. “There are many great tools in there, such as GitLab CI, the GitLab Issue Board… and GitLab’s Artifact Repository, which are built into the platform,” Konieczko said. “GitLab’s pipelines with the CI/CD process, all of this comes in. But if you don’t want to use it, it’ll adapt to your business model.”
Vasallo’s team, for example, uses Jenkins and “can still use GitLab,” Vasallo said. “There’s no blocking event where it said, ‘Oh, you’re using Jenkins. You can’t talk to us. Error. Blocked,’” Konieczko said.
Instead, Vasallo said his team members can type “Jira, take us into GitLab” with zero impediments and can use JFrog artifactory and Spinnaker for software delivery seamlessly, Vasallo said. “Again, GitLab transforms to what you need as a business and that’s the thing that I really appreciate, being on the DevOps side,” Vasallo said.
At the end of the day, Redbox’s distributed teams have managed to move away from their disparate toolchains and successfully migrate fully to GitLab. GitLab ensures a modernized software development workflow, rapid delivery to the cloud and developers now own their own code. With GitLab’s ease of integration with Jenkins, Redbox was also able to transition seamlessly into a new platform.
To learn more about how GitLab helped the mobile and development teams achieve their platform goals (and more), watch the presentation.
Feature image via Pixabay.