GitLab sponsored this post.
Having the right continuous integration/continuous delivery (CI/CD) pipeline in place can mean the difference between struggling to compete with industry peers and blowing them out of the water. With the right CI/CD solution, software updates and fixes that used to take hours, weeks, months or even longer to ship are accelerated to mere minutes. But for many companies with burgeoning DevOps teams, just knowing where and how to start to get there is only half the battle.
Redbox, most known for its red movie and video game rental kiosks, found itself in this position. It had recently expanded to provide streaming services — a bold move in the era of Netflix and Amazon Prime Video — but its DevOps team knew its CI/CD software production tools were lacking.
To create the right platform, RedBox’s DevOps thus had to select the right tools to achieve its goals in order for the video retail company to achieve its goals.
In this post, we provide an overview of the available CI/CD tool your DevOps will likely consider to jumpstart its CI/CD production pipeline. We conclude with which tools RedBox selected and why.
Start with Your Budget
One reason for picking the right CI/CD solution can be so overwhelming is the number of options available. The best way to start your search is by looking for a solution that fits your budgetary needs. Most CI/CD options available are either paid or open source (i.e. free). However, while free might sound like the best solution for your budget, it might not be the best solution for your business.
Open Source vs. Paid
Open source software has been adopted by multiple organizations for good reason. Its collaborative nature means a thriving community of creative minds that contribute new ideas to products and software they love, as well as help find new ways to solve problems. It’s a catalyst for innovation that many enterprises can take advantage of for free.
However, while it’s hard to beat the “$0” price tag of open source, there’s more to consider than just cost. Although paid software means digging into your budget, it has some distinct advantages.
For one, paid software generally comes accompanied with better customer and technical support. Some higher-tier pricing models even have dedicated support teams. Additionally, when you’re paying for a service, you have the ability to ask your provider for help. Because this kind of configuration plays such a big role in the realm of CI/CD, this kind of support pays for itself.
If a free or open source product has everything your team needs, great! But there may come a time when you’ll have to ask yourself: When is paying for a service a better decision in the long run?
Another important step in your search for a CI/CD solution is to measure your organization’s current needs against expected needs. By factoring in costs and benefits, it’s likely a CI/CD solution will help you hit your goals faster. Here are some things to consider in your cost/benefit analysis:
- Room for growth: Will a free CI/CD offering give you room for growth, or will it eventually limit you? Is it robust enough to meet your desired increase in output?
- Better code quality: Will the CI/CD help you produce better quality code and reduce vulnerabilities?
- Increase efficiency: Will it help you reduce manual tasks and improve operational efficiency?
Most likely, when considering these facts, the cost-benefit analysis will trend positive for paying for a CI/CD. When paying for a higher-cost plan, you may receive additional security functionality, support for Kubernetes, more pipeline minutes and more to help maximize your CI/CD pipeline. Additionally, if you have to modernize applications down the road, costs can add up. But by adopting technologies like paid CI/CD early when teams are more nimble, the endeavor is likely to be much easier and cheaper.
Consider Your Options
Jenkins, one of the more popular self-managed, open source build automation and CI/CD developer tools, uses hundreds of available plugins. This enables it to support building, deploying and automating projects. However, its plugins can be expensive to maintain, secure and upgrade.
Travis CI is a hosted, distributed, continuous integration service for building and testing software projects at GitHub. It also offers a self-hosted version (Travis CI Enterprise) but requires either a GitHub Enterprise installation or account on GitHub.com. It also doesn’t offer continuous delivery.
GitLab’s CI/CD is designed for a seamless experience across the software development lifecycle. With everything for source code management built-in, teams can efficiently collaborate in one environment. Additionally, its built-in container registry and Kubernetes integration allows it to support cloud native development.
Bamboo Server is a CI/CD solution that is part of the Atlassian suite of developer tools. It’s only available in a self-managed configuration and only paid customers have access to source code. Bamboo uses Bitbucket to understand integrations with other tools, as well as how source code has changed (SCM). Additionally, those interested in auto-scaling must use Amazon Elastic Compute Cloud (EC2) and pay Amazon separately.
How Redbox Chose Its CI/CD Solution
As a newcomer to the world of streaming services, it was important Redbox moved to the cloud and ensure its features got out the door faster to catch up with the fast pace of the nature of on-demand. The company’s mobile and development teams understandably wanted to create a new platform with the newest technology in order to create the best product for customers. And, in the spirit of giving its developers autonomy in their work on this project, Redbox wanted developers to be able to deploy code to production at any time with a single click of a button, while a working tool picked up any coding errors.
In the end, Redbox felt GitLab’s solution was the right CI/CD choice. The company used GitLab CI with Spinnaker to help software delivery catch up with the speed of on-demand without dictating what developers had to do in a day-to-day workflow. And GitLab CI, leveraging Fastlane, modernized its processes and worked well with existing tools while GitLab Enterprise gave developers the freedom to deploy to whatever cloud provider they wanted.
Having a CI/CD solution is a clear competitive advantage in the development landscape. With the right strategy in place, teams are more likely to produce better quality software faster, freeing up valuable resources that can be spent on long-term growth and innovation.
Don’t let your tools slow you down. Join GitLab for our Mastering CI/CD webcast. Click here to watch.
Feature image via Pixabay.